diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 6346d959773f..3f2ce53e58f5 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -1,5 +1,13 @@ name: Static Analysis on: [push, pull_request] + +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}} + cancel-in-progress: true + jobs: python-linting: runs-on: ubuntu-20.04 @@ -18,3 +26,6 @@ jobs: - name: Run flake8 to verify PEP8-compliance of Python code run: flake8 + + - name: Run flake8 to verify PEP8-compliance of Easyconfigs + run: flake8 --select W605 --filename '*.eb' diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 1a8e16547f51..d71a03ca5b9d 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -1,5 +1,13 @@ name: easyconfigs unit tests on: [push, pull_request] + +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}} + cancel-in-progress: true + jobs: test-suite: runs-on: ubuntu-20.04 diff --git a/README.rst b/README.rst index cb4636846acc..b1a8f61b44b0 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,10 @@ -.. image:: https://github.com/easybuilders/easybuild-easyconfigs/workflows/easyconfigs%20unit%20tests/badge.svg - -.. image:: https://easybuilders.github.io/easybuild/images/easybuild_logo_small.png +.. image:: https://github.com/easybuilders/easybuild/raw/develop/logo/png/easybuild_logo_2022_horizontal_dark_bg_transparent.png :align: center + :height: 400px + +.. image:: https://github.com/easybuilders/easybuild-easyconfigs/workflows/easyconfigs%20unit%20tests/badge.svg -`EasyBuild `_ is a software build +`EasyBuild `_ is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way. @@ -13,7 +14,7 @@ Easyconfig files are used to specify which software to build, which version of the software (and its dependencies), which build parameters to use (e.g., which compiler toolchain to use), etc. -The EasyBuild documentation is available at http://easybuild.readthedocs.org/. +The EasyBuild documentation is available at http://docs.easybuild.io/. The easybuild-easyconfigs package is hosted on GitHub, along with an issue tracker for bug reports and feature requests, see diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 698ecd7803e7..f4454f0b91e4 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,8 +3,312 @@ 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 15,332 easyconfig files, for 2,773 different software packages, -incl. 37 different (compiler) toolchains. +The latest version of easybuild-easyconfig provides 16,628 easyconfig files, for 2,995 different software packages, +incl. 39 different (compiler) toolchains. + + +v4.7.1 (March 20th 2023) +------------------------ + +update/bugfix release + +- added example easyconfig files for 99 new software packages: + - astro-tulips (#17263), BA3-SNPS-autotune (#17248), BayesAss3-SNPs (#17247), Block (#27), CatLearn (#14940), + CDFlib (#17133), Cellpose (#13703), CheckM-Database (#17462), chemprop (#17261), cimfomfa (#17268), conan (#17326), + cooler (#17328), crossguid (#16207), cuSPARSELt (#17141), cython-blis (#17544), DBCSR (#17170), dclone (#17225), + DensPart (#17473), Deprecated (#1248), DLPack (#17311), DMLC-Core (#17311), dorado (#17195), duplex-tools (#17497), + eQuilibrator (#16812), fastai (#16985), fastjet (#17367), fastjet-contrib (#17377), ffnvcodec (#17271), + finder (#1917), flowFDA (#17495), gbasis (#17473), genomepy (#17506), Giotto-Suite (#17207), GKeyll (#16044), + GraphDB (#17280), graphviz-python (#17352), grid (#17473), GUSHR (#16905), Health-GPS (#17434), HepMC3 (#17341), + HiCMatrix (#17330), Inferelator (#17223), iodata (#17473), irodsfs (#17486), jupyter-contrib-nbextensions (#17270), + jupyterlab-lmod (#16563), jupyterlmod (#16563), kb-python (#17260), kineto (#17194), KMCP (#17267), + krbalancing (#17325), Lace (#954), LASSO-Python (#17510), libemf (#16188), loomR (#14518), MAKER (#17345), + methylartist (#17264), nanoflann (#17311), netMHCII (#9741), NEXUS-CL (#17350), nichenetr (#17524), + Parallel-Hashmap (#17311), pdsh (#17139), Perseus (#17210), PfamScan (#17530), Phenoflow (#17495), PIRATE (#17275), + PLAMS (#17473), plot1cell (#17498), pybinding (#17137), pyperf (#17063), pyslim (#17150), + pytest-rerunfailures (#17295), pytest-shard (#17295), python-louvain (#17207), PyTorch-Ignite (#15491), + PyVCF3 (#17519), R2jags (#17226), rapidcsv (#16211), rapidNJ (#17399), Rivet (#17380), rmarkdown (#17189), + scArches (#17069), scHiCExplorer (#17334), scib (#17142), SeaView (#17385), silhouetteRank (#17207), + siscone (#17342), smfishHmrf (#17207), sparse-neighbors-search (#17329), SpatialDE (#17207), sradownloader (#17188), + stardist (#17215), Strainberry (#17522), toil (#17098), vConTACT2 (#17372), VirSorter2 (#17371), + vitessce-python (#17472), vitessceR (#17525), YODA (#17343) +- added additional easyconfigs for various supported software packages, including: + - AlphaFold 2.3.0, Anaconda3 2022.10, angsd 0.940, archspec 0.2.0, Armadillo 11.4.3, AUGUSTUS 3.5.0, bcbio-gff 0.7.0, + BCFtools 1.17, beagle-lib 4.0.0, Beast 2.7.3, BeautifulSoup 4.11.1, Biopython 1.81, BLAT 3.7, Blender 3.4.1, + Blosc2 2.6.1, Boost 1.81.0, Bottleneck 1.3.6, BUSCO 5.4.5, bx-python 0.9.0, CatMAP 20220519, CellRanger 7.1.0, + Cereal 1.3.2, CFITSIO 4.2.0, CheckM 1.2.2, code-server 4.9.1, configurable-http-proxy 4.5.3, csvkit 1.1.0, 4.8, + CUDA 12.1.0, cuDNN 8.8.0.121, cwltool 3.1.20221008225030, Cython 0.29.33, DGL 0.9.1, DIAMOND 2.1.0, dill 0.3.6, + DIRAC 23.0, dm-tree 0.1.8, dRep 3.4.2, eggnog-mapper 2.1.10, elfutils 0.189, ELPA 2022.05.001, epiScanpy 0.4.0, + FabIO 0.14.0, FastQ_Screen 0.14.0, FFmpeg 5.1.2, FLAC 1.4.2, flatbuffers 23.1.4, FLINT 2.9.0, GDAL 2.4.4, + GDAL 3.6.2, GDGraph 1.56, GEOS 3.11.1, GMAP-GSNAP 2023-02-17, gmsh 4.11.1, gnuplot 5.4.6, GOATOOLS 1.3.1, + googletest 1.12.1, GPyTorch 1.9.1, Greenlet 2.0.2, GST-plugins-base 1.22.1, GStreamer 1.22.1, GTDB-Tk 2.1.1, + h5py 3.8.0, HDBSCAN 0.8.29, HDF5 1.14.0, HiCExplorer 3.7.2, Highway 1.0.3, HTSlib 1.17, hypothesis 6.68.2, + Hypre 2.27.0, igraph 0.10.3, IGV 2.16.0, IJulia 1.24.0, Imath 3.1.6, imbalanced-learn 0.10.1, imkl 2023.0.0, + imkl-FFTW 2023.0.0, impi 2021.8.0, intel-compilers 2023.0.0, IRkernel 1.3.2, JAGS 4.3.1, jax 0.4.4, Julia 1.8.5, + JupyterHub 3.0.0, jupyter-matlab-proxy 0.5.0, jupyter-resource-usage 0.6.3, jupyter-server-proxy 3.2.2, + Kent_tools 442, leidenalg 0.9.1, LERC 4.0.0, libcerf 2.3, libgit2 1.5.0, libnsl 2.0.0, libsndfile 1.2.0, + libtirpc 1.3.3, libxslt 1.1.37, Longshot 0.4.5, MAFFT 7.505, Maple 2022.1, MaSuRCA 4.1.0, Mathematica 13.1.0, + MATIO 1.5.23, MATLAB 2022a + 2022a-r3 + 2022b, matplotlib 3.7.0, MaxQuant 2.2.0.0, MCL 22.282, MDAnalysis 2.4.2, + Miniconda3 22.11.1, mm-common 1.0.5, MPFR 4.2.0, mpi4py 3.1.4, mpmath 1.2.1, msprime 1.2.0, MultiQC 1.14, + mygene 3.2.2, nano 7.1, nanomax-analysis-utils 0.4.4, ncbi-vdb 3.0.2, NetLogo 6.2.2 + 6.3.0, nettle 3.8.1, + networkx 3.0, Nextflow 22.10.6, nlohmann_json 3.11.2, numba 0.56.4, NVHPC 22.9 + 22.11 + 23.1, NVSHMEM 2.8.0, + OpenMPI 4.1.5, Optuna 3.1.0, ORCA 5.0.4, PAML 4.10.5, panaroo 1.3.2, ParallelIO 2.5.10, parasail 2.6, Pillow 9.4.0, + PIPITS 3.0, PLINK 2.00a3.7, plotly.py 5.12.0 + 5.13.1, PLUMED 2.8.1, poetry 1.2.2, polymake 4.8, preseq 3.2.0, + presto 1.0.0-20230113, PROJ 9.1.1, protobuf 3.21.9, psycopg2 2.9.5, pybind11 2.10.3, PyCharm 2022.3.2, + py-cpuinfo 9.0.0, pyFAI 0.21.3, pyfaidx 0.7.1, pyGenomeTracks 3.8, pygraphviz 1.10, pymca 5.7.6, Pysam 0.20.0, + PySCF 2.1.1, PyTables 3.8.0, Python 3.11.2, python-parasail 1.3.3, PyZMQ 24.0.1, QCG-PilotJob 0.13.1, + QIIME2 2022.11, QtPy 2.3.0, QUAST 5.2.0, R 4.2.2, Ray-project 2.2.0, RDKit 2022.09.4, Redis 7.0.8, redis-py 4.5.1, + ReFrame 4.0.5, RepeatMasker 4.1.4, RepeatModeler 2.0.4, rjags 4-13, RMBlast 2.13.0, ROOT 6.22.08, Salmon 1.9.0, + SAMtools 1.17, Scalasca 2.6.1, scikit-learn 1.2.1, SciPy-bundle 2023.02, SDL2 2.26.3, SeqKit 2.3.1, silx 1.0.0, + snakemake 7.22.0, SNAP-HMM 20221022, SpaceRanger 2.0.1, SPAdes 3.15.5, spaln 2.4.13f, Spark 3.3.1, + SRA-Toolkit 3.0.3, SSW 1.2.4, STAR 2.7.10b, STAR-CCM+ 18.02.008, SVG 2.87, TensorFlow-Datasets 4.8.3, + Tkinter 3.10.8, tqdm 4.64.1, Trilinos 13.4.1, Trim_Galore 0.6.10, Trinity 2.15.1, TWL-NINJA 0.98-cluster_only, + Unidecode 1.3.6, vsc-mympirun 5.3.0, VSEARCH 2.22.1, wget 1.21.3, wxWidgets 3.2.2.1, x264 20230226, + Xerces-C++ 3.2.4, XlsxWriter 3.0.8, xtb 6.5.1, Xvfb 21.1.6 +- minor enhancements, including: + - add additional extensions to R 4.2.1 (#17043, #17125, #17224, #17493, #17523) + - add additional extensions to Bioconductor 3.15 (#17126, #17315, #17494) + - add sanity check command to OpenMolcas v22.10 (#17128) + - add Set::Object and Heap::Fibonacci extensions to Perl 5.32.1 (#17151) + - add additional extensions to Python 3.10.8 (required for scipy test suite) (#17159) + - enhance OpenFold 1.0.1 for standalone usage (#17206) + - add SDL2 dependency for FFmpeg 5.0.1 to build ffplay (#17213) + - set $JULIA_DEPOT_PATH and $JULIA_HISTORY in Julia easyconfigs (#17216) + - add Devel::Size + Math::Utils extension to recent Perl easyconfigs (#17246, #17466) + - combine errors of extension patch check into a single failure (#17286) + - add case-insensitive name clash test (#17303) + - add ffnvcodec build dependency to all recent FFmpeg easyconfigs (#17316) + - use 'import deap.base' in sanity check for deap extension in SciPy-bundle 2022.05 (#17429) + - add source URL to cuDNN 8.8 easyconfig (#17439) + - add missing zstd dep to Boost (#17482) +- various bug fixes, including: + - fix postinstallcmds and clarify download instructions for netMHC + netMHCpan 4.0a (#9739, #9740) + - fix OpenBLAS 0.3.15 patch to correctly set the CPU core type for Tiger Lake (#15845) + - add alternative checksum for UCX 1.13.1 after source tarball was changed in-place (without actual code changes) (#17077) + - fix build of TensorFlow 2.5+ on aarch64 (#17101) + - explictely download qe-gipaw source tarball from qe-gipaw GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#17129) + - add patch for GCCcore 11.1.0 + 11.2.0 to fix AVX2 bug (#17135) + - add patch to make ncbi-vdb 3.0.0 compatible with HDF5 1.12.2 (#17140) + - fix source URL for p7zip v17.x (#17144) + - add patches for Qt5 5.15.5 to fix compilation failures in abseil and breakpad with glibc 2.34 (#17165) + - remove dependency on Pillow from scikit-bio v0.5.7 (#17178) + - correctly specify path to libfabric installation prefix in PMIx 4.1.0 easyconfig (#17204) + - use GCC as toolchain for serial variants of HDF5, since it has a FORTRAN API (#17221) + - fix CMake print summary for long hostnames for NECI (#17230) + - add missing pmix patch to OpenMPI 4.1.1 easyconfig used in iomkl/2021a and iomkl/2021b (#17240) + - include required stereo_chemical_props.txt for OpenFold 1.0.1 (#17242) + - add patch for PAPI 7.0.0 to fix compilation error (#17244) + - also update $PERL5LIB for RepeatMasker v4.1.4 (#17245) + - add alternative source_url for MariaDB > 10.4 (#17250) + - remove use of rysnc in building Kent_tools (#17252) + - add missing pkgconf build dependency in recent libxslt easyconfigs (#17254) + - add psycopg2, PyYAML, and Cartopy dependencies to QGIS 3.28.1 (#17257) + - fix postinstallcmds in shovill easyconfigs (#17279) + - allow multiple easyconfigs with same name if they differ by CUDA version included in versionsuffix (#17289) + - remove duplicate SlamDunk easyconfig using lowercase name (#17301) + - use https in homepage + source URL for GenomeThreader 1.7.3 (#17338) + - consistently use Check capitailisation (#17351) + - add alternative checksum for spatial 7.3-14 extension in R 4.1.x easyconfigs (#17356) + - fix homepage + source URL for ELPA (due to switch to new domain) (#17357) + - fix homepage in ELPA easyconfigs (due to switch to new domain) (#17358) + - rename libpsml for consistency with libPSML (#17359) + - replace obsolete pycrypto with pycryptodome in Python 3.10.x easyconfigs (#17412) + - update deap to version 1.3.3 in SciPy-bundle 2022.05 easyconfigs (since deap 1.3.1 is broken) (#17413) + - add patch for Qt5 5.12.2 with GCCcore/11.2.0 to fix template bug (#17464) + - replace src include path with installation dir for HDF5 (#17469, #17488) + - disable Python support for OTF2 v2.2, since we're not including Python 2.x as dependency (#17499) + - update homepage and source urls of DFT-D3 (#17528) + - use Binary easyblock for ANIcalculator to prevent RPATH sanity check failures (#17536) +- other changes: + - fix invalid escape sequences in easyconfigs by using raw strings (r"...") (#11149) + - add exception for ncbi-vdb 3.0.0 dependency variant (#17131) + - use proper source tarball instead of cloning GitHub repository for wxWidgets v3.2.1 (#17167) + - enable -fPIC in GEOS 3.11.1 (required by GDAL) (#17196) + - fix website/docs links in README (#17232) + - remove commented out line and delete unused patch for TALON (#17298) + - re-enable disabled tests (#17304) + - rename MAGMA to MAGMA-gene-analysis to avoid name collision (#17345) + - Archive ARB and blasr patch files (#17346) + - Archive BAMM, BamM, and GroopM to avoid BAMM/BamM name collision (#17348) + - consistently use NanoFilt capitalisation (#17349) + - rename ncl to NEXUS-CL to avoid case-insensitive name clash (#17350) + - rename python graphviz to graphviz-python to avoid case-insensitive name clash (#17352) + - archive charmm and CHARMM easyconfigs to avoid case-insensitive name clash (#17364) + + +4.7.0 (Janurary 9th 2023) +------------------------- + +feature release + +- added easyconfigs for foss/2022b, intel/2022b common toolchains (#16961 and #16962) + - see also https://docs.easybuild.io/en/latest/Common-toolchains.html +- added easyconfigs for NVHPC-based toolchains nvompi/2022.07 and nvofbf/2022.07 (#16724) +- added example easyconfig files for 107 new software packages: + - Alfred (#16780), attrdict3 (#16856), bamFilters (#16735), bcl-convert (#16351), Beagle (#346), Boost.MPI (#15757), + captum (#16477), CAT-BAT (#16577, #16634), cdo-bindings (#16669), Chemaxon-Marvin (#13954), CliMetLab (#16842), + CloudCompare (#16944), cmocean (#16659), COBRApy (#16616), CodAn (#16902), CoSymLib (#17049), CPPE (#16749), + cryoCARE (#16534), CTPL (#16498), CUDA-Samples (#16914), cwltool (#16503), Cytoscape (#16682), DeepLabCut (#16391), + DeepMod2 (#17008), Dice (#16752), dlb (#16845), DRAGMAP (#16532), ecBuild (#16842), EGTtools (#16704), + ESM-2 (#16528), flair-NLP (#15588), FMS (#16965), Godon (#16574), gsw (#16643), HighFive (#16737), humann (#16853), + HyperQueue (#16753), IJulia (#16494, #16665), infercnvpy (#16712), InParanoid (#16572), jupyter-server (#14844), + KaHIP (#16861), KITE (#16550), lagrangian-filtering (#16654), LHAPDF (#17028), librttopo (#16856), libwpe (#16088), + Magics (#16842), matlab-proxy (#14270), mcu (#16566), MEMOTE (#16772), memtester (#16763), meson-python (#16911), + minizip (#16856), MITgcmutils (#16623), MONAI (#16519), MOOSE (#13824), mstore (#16892, #17029), + MultilevelEstimators (#15630, #16665), n2v (#16535), NanoLyse (#16575), napari (#16468), NECI (#16751), + nf-core-mag (#16613), oceanspy (#16640), olego (#16909), OmegaFold (#16698), OVITO (#16811), Panedr (#16564), + Parcels (#16838), polars (#16989), PsiCLASS (#16906), pyccel (#16823), PyCheMPS2 (#16710), PyDamage (#16576), + PyImageJ (#16757), pysteps (#16783), python-libsbml (#16610), python-telegram-bot (#16442), pyWannier90 (#16447), + resolos (#16649), RLCard (#16695), SAP (#5200), scikit-misc (#16457), scvi-tools (#16457), SELFIES (#17032), + SeuratDisk (#16951), sfftk (#16466), simint (#16886), SISSO++ (#15759), slamdunk (#15197), spaCy (#17027), + Sphinx-RTD-Theme (#16736), SPOOLES (#16756), Squidpy (#16880), svist4get (#16505), task-spooler (#17048), + TBA (#16497), TensorFlow-Datasets (#16421), TFEA (#16476), TinyXML (#16992), tokenizers (#15587), + torchsampler (#16464), trimesh (#16858), UCX-ROCm (#17033), wpebackend-fdo (#16093), xmitgcm (#16637) +- added additional easyconfigs for various supported software packages, including: + - Albumentations 1.3.0, ANSYS 2022R2, AOCC 4.0.0, archspec 0.1.4, ArviZ 0.12.1, ASAP 2.1, astropy 5.1.1, + basemap 1.3.6, BBMap 39.01, BEDOPS 2.4.41, Blender 3.3.1, Blosc 1.21.3, Blosc2 2.4.3, bokeh 2.4.3, Bonnie++ 2.00a, + boto3 1.26.37, BRAKER 2.1.6, CDO 2.1.1, cdsapi 0.5.1, CharLS 2.4.1, CheMPS2 1.8.12, CMake 3.24.3, CubeGUI 4.8, + CubeLib 4.8, CubeWriter 4.8, CUDA 11.8.0 + 12.0.0, cuDNN 8.6.0.163 + 8.7.0.84, cURL 7.86.0, cutadapt 4.2, + cuTENSOR 1.6.1.5, dask 2022.10.0, DAS_Tool 1.1.3, DBus 1.15.2, dcm2niix 1.0.20220720, DCMTK 3.6.7, deepdiff 5.8.1, + dm-reverb 0.7.0, double-conversion 3.2.1, Doxygen 1.9.5, ecCodes 2.27.0, exiv2 0.27.5, Fiji 2.9.0, Filtlong 0.2.1, + FLANN 1.9.1, FlexiBLAS 3.2.1, fontconfig 2.14.1, FreeXL 1.0.6, g2clib 1.7.0, GATK 4.3.0.0, GD 2.75, GDCM 3.0.20, + Gdk-Pixbuf 2.42.10, GeneMark-ET 4.71, gensim 4.2.0, geopandas 0.12.2, gettext 0.21.1, gh 2.20.2, Ghostscript 10.0.0, + git 2.38.1, GLib 2.75.0, GlobalArrays 5.8.2, GnuTLS 3.7.8, GObject-Introspection 1.74.0, GRASS 8.2.0, GTK3 3.24.35, + HarfBuzz 5.3.1, HTSeq 2.0.2, hwloc 2.8.0, Hyperopt 0.2.7, ICU 72.1, imagecodecs 2022.9.26, imageio 2.22.2, + ImageMagick 7.1.0-53, imbalanced-learn 0.9.0, JasPer 4.0.0, jax 0.3.23, JupyterLab 3.5.0, Leptonica 1.83.0, + libavif 0.11.1, libdap 3.20.11, libdeflate 1.15, libdrm 2.4.114, libfabric 1.16.1, libffi 3.4.4, libglvnd 1.6.0, + libgpg-error 1.46, libidn 1.41, libjpeg-turbo 2.1.4, LibLZF 3.6, libpciaccess 0.17, libpng 1.6.38, librsvg 2.55.1, + LibSoup 3.0.8, libspatialindex 1.9.3, libspatialite 5.0.1, libtasn1 4.19.0, LibTIFF 4.4.0, libxml2 2.10.3, + libxml2-python 2.9.13, line_profiler 4.0.0, LittleCMS 2.14, LLVM 15.0.5, lz4 1.9.4, makedepend 1.0.7, Mako 1.2.4, + MATLAB-Engine 2021b, Mesa 22.2.4, Meson 0.64.0, MIGRATE-N 5.0.4, Miniconda3 4.12.0, mold 1.7.1, Molden 7.1, + MotionCor2 1.5.0, MoviePy 1.0.3, MRChem 1.1.1, MRCPP 1.4.1, nano 7.0, NanoFilt 2.8.0, nanoget 1.18.1, + nanomath 1.2.1, ncbi-vdb 3.0.0, NCCL 2.16.2, NCCL-tests 2.13.6, NCO 5.1.3, nglview 3.0.3, NiBabel 4.0.2, + Ninja 1.11.1, nodejs 18.12.1, NSPR 4.35, NSS 3.85, NVHPC 22.7, NVSHMEM 2.7.0, Octave 7.1.0, OPARI2 2.0.7, + OpenFOAM 10, OpenFold 1.0.1, OpenImageIO 2.3.17.0, OpenMolcas 22.10, openpyxl 3.0.10, openslide-python 1.2.0, + OpenStackClient 6.0.0, OSU-Micro-Benchmarks 6.2, OTF2 3.0.2, Pango 1.50.12, PAPI 7.0.0, pauvre 0.2.3, PETSc 3.17.4, + phonopy 2.16.3, pigz 2.7, Pillow 9.2.0, Pint 0.19.2, pixman 0.42.2, PMIx 4.2.2, poppler 22.12.0, psutil 5.9.3, + pybedtools 0.9.0, PyBerny 0.6.3, pydantic 1.10.2, pydicom 2.3.0, pyproj 3.4.0, PyQt5 5.15.5, pytest 7.1.3, + Python 3.10.8, python-isal 1.1.0, PyTorch 1.12.1, PyTorch-Geometric 2.1.0, PyTorch-Lightning 1.8.4, QCA 2.3.5, + QGIS 3.28.1, QIIME2 2022.8, QScintilla 2.11.6, Qt5 5.15.7, Qtconsole 5.3.2, QtKeychain 0.13.2, QtPy 2.2.1, + rasterio 1.3.4, re2c 3.0, ReFrame 3.12.0, RStudio-Server 2022.07.2+576, Ruby 3.0.5, Rust 1.65.0, SAP 1.1.3, + scanpy 1.9.1, scikit-image 0.19.3, SCons 4.4.0, Score-P 8.0, Seaborn 0.12.1, SentencePiece 0.1.97, Seurat 4.3.0, + SignalP 6.0g, SimPEG 0.18.1, SLEPc 3.17.2, SNAP 2.0.1, SpaceRanger 2.0.0, SQLite 3.39.4, STAR-CCM+ 17.06.007, + SuperLU_DIST 8.1.0, tensorboardX 2.5.1, TensorFlow 2.8.4, tensorflow-probability 0.16.0, tesseract 5.3.0, + texinfo 6.8, TM-align 20190822, tmux 3.3a, TOBIAS 0.14.0, TOML-Fortran 0.3.1, Transformers 4.24.0, + typing-extensions 4.4.0, UCC 1.1.0, UCX-CUDA 1.13.1, util-linux 2.38.1, Valgrind 3.20.0, Vim 9.0.0950, VTK 9.2.2, + wandb 0.13.6, WebKitGTK+ 2.37.1, WPS 4.4, WRF 4.4, wxPython 4.2.0, wxWidgets 3.2.0, X11 20221110, xarray 2022.9.0, + XCFun 2.1.1, XGBoost 1.7.2, Xmipp 3.22.07, XZ 5.2.7, yaml-cpp 0.7.0, zarr 2.13.3, zlib-ng 2.0.6 +- minor enhancements, including: + - enable building of dev tools in recent PyQt5 easyconfigs (#16469) + - add extensions to R v4.2.1: LMERConvenienceFunctions (#16512), HGNChelper 4.2.1 (#16744) + - add extensions to R-bundle-Bioconductor 3.15: SPOTlight (#16569), HiCcompare (#16581), ROntoTools (#16636), + scDblFinder (#16686), numbat (#16777), HiCBricks (#16913), zellkonverter (#16952) + - add libmad dependency to SoX v14.4.2 (#16758) + - also install subtree support in recent git easyconfigs (#16784, #16785) + - add extensions to ESM-2 to enhance it for esmfold (#16841) + - add libwebp dependency to Pillow-SIMD 9.2.0 to add webp support (#16844) + - add KaHIP dependency to OpenFOAM v2206 (#16974) + - enable dataset support for recent versions of Arrow (#16956) +- various bug fixes, including: + - define $JUPYTER_PATH via modextrapaths rather than modextravars for IRkernel 1.x (#15776) + - add patches to fix PyTorch 1.10.0 build on POWER (#15904) + - fix installation of Python 2.7.18 with GCCcore/11.2.0 (was broken due to 0.0.0 version for some extensions) (#16485) + - add patch for M4 1.4.18 to fix glibc v2.34 SIGSTKSZ compatibility (#16486) + - add patch for pybind11 2.6.0 to fix failing test due to extra whitespace (#16487) + - work around installation problem for extensions in Python 2.7.16 easyconfig due to missing build-backend spec in pyproject.toml (#16490) + - fix libsanitzer for glibc 2.36 to build GCCcore 10.x and 11.x (#16502) + - add OpenBLAS patches to disable FMA in [cz]cal and fix crash in zdot (#16510) + - add missing Perl build dependency GStreamer + add patch to skip trying to make files suid (#16516) + - build nodejs with OpenSSL and ICU provided as proper dependencies (#16529) + - also define $JUPYTER_CONFIG_PATH in IPython and JupyterLab easyconfigs (#16556) + - define $GTKDOCIZE as 'echo' before generating configure script for recent HarfBuzz versions (#16570) + - disable use of -Werror in recent NSS easyconfigs (#16571) + - use 'cpan.metacpan.org' rather than 'www.cpan.org' in extension source_urls for recent Perl easyconfigs (#16611) + - avoid that zlib + htslib are downloaded and built during installation of MetaBAT (#16624) + - add patch to fix installation of MetaBAT 2.15 on non-x86_64 systems (#16633) + - add missing pyWannier90 dependency for mcu + enhance sanity check (#16667) + - fix source_urls for colossalai 0.1.8 (no longer available via PyPI, only via GitHub repo) (#16693) + - add patches to fix or skip PyTorch 1.12.1 tests (#16793) + - fix checksum for cell2location 0.05-alpha and add missing build dependency on flex (#16819) + - upgrade dependency on libdeflate to common v1.8 in fastp and vt easyconfigs using GCC(core)/10.3.0 (#16839) + - fix checksum for dlllogger extension in OpenFold v1.0.0 (#16694) + - make sure that Python dependency is actually used for VTK 9.0.1 (#16741) + - fix homepage for pocl v1.8 (#16857) + - fix source_urls in MUMPS easyconfigs (#16931, #16932) + - fix installation of Bowtie2 v2.4.4+ on non-x86_64 systems (#16946) + - add missing OpenSSL dependency to DCMTK 3.6.7 (#16979) + - fix source URL for PCRE2 (#16987) + - add pkgconf dependency for ICU and add patch to avoid trouble with long path names for nodejs-16.15.1/GCCcore-11.3.0 (#16990) + - add patch for libwpe 1.13.3 to avoid build issues on CentOS 7 (#17001) + - add missing zlib and zstd to GnuTLS (#17013) + - add missing pkgconf build dependency to Transformers v4.24.0 (#17020) + - fix checksums for xxx-rocm-4.5.0.tar.gz source tarballs for Clang-AOMP 4.5.0 (#17042) + - replace useless test step for simint 0.7 with (lightweight) sanity check command (#17044) +- other changes: + - only give read permissions in GitHub Actions workflows (#16263) + - remove ExomeDepth from recent R-bundle-Bioconductor easyconfigs (#16492) + - include tqdm as extension in the idemux bundle to avoid multivariant deps on GCCcore-10.2.0 (#16578) + - use new EasyBuild logo in README (#16641) + - rename hyperopt to Hyperopt, to be consistent with existing Hyperopt easyconfigs (#16697) + - automatically cancel Github Action workflow runs for outdated commits (#16754) + - use geo moduleclass for SimPEG 0.14.1 (#16847) + + +4.6.2 (October 21st 2022) +------------------------- + +update/bugfix release + +- add easyconfig for intel/2022.09 toolchain (#16435) +- added example easyconfig files for 25 new software packages: + - AGAT (#16261), AMAPVox (#16438), Avogadro2 (#16257), buildingspy (#16308), CDBtools (#16436), + Compress-Raw-Zlib (#16307), CUDAcompat (#15892), CWIPI (#16342), enchant-2 (#16082, #16319), f90wrap (#16346), + Imath (#16276), Mamba (#16432), Miller (#16221), nghttp2 (#16096), ngtcp2 (#16098), NVSHMEM (#16254), + pairsnp (#16331), paladin (#16320), PyMOL (#16394), python-irodsclient (#16328), ruffus (#16428), + TELEMAC-MASCARET (#16274), torchdata (#16344), Waylandpp (#16092), x13as (#16163) +- added additional easyconfigs for various supported software packages, including: + - Amber 22.0, AMS 2022.102, ASE 3.22.1, atools 1.5.1, Beast 2.6.7, biogeme 3.2.10, Boost.Python 1.79.0, ccache 4.6.3, + dbus-glib 0.112, Delly 1.1.5, ESMF 8.3.0, expat 2.4.9, FDS 6.7.9, file 5.43, FLTK 1.3.8, FTGL 2.4.0, gc 8.2.2, + GitPython 3.1.27, Go 1.18.3, GPAW 22.8.0, Guile 3.0.8, htop 3.2.1, hunspell 1.7.1, IPython 8.5.0, jq 1.6, + Julia 1.8.2, LDC 1.30.0, libcint 5.1.6, libconfig 1.7.3, libreadline 8.2, LibSoup 3.0.7, LIBSVM 3.30, + libwebp 1.2.4, likwid 5.2.2, MariaDB 10.9.3, matplotlib 3.5.2, ncdu 1.17, netcdf4-python 1.6.1, Nextflow 22.10.0, + NFFT 3.5.3, Nipype 1.8.5, numactl 2.0.16, onedrive 2.4.21, OpenCV 4.6.0, OpenEXR 3.1.5, OpenJPEG 2.5.0, + OpenMM 7.7.0, OpenPGM 5.2.122, OpenSSL 1.1.1q, Perl 5.36.0, Pillow-SIMD 9.2.0, pkgconf 1.9.3, PostgreSQL 14.4, + PyCharm 2022.2.2, PyTorch 1.12.0, PyTorch 1.12.0, PyTorch-Lightning 1.7.7, RDFlib 6.2.0, SAMtools 1.16.1, + scikit-learn 1.1.2, Score-P 7.1, SDL2 2.0.22, spaln 2.4.12, spglib-python 2.0.0, SuiteSparse 5.13.0, SUNDIALS 6.3.0, + sympy 1.11.1, tensorboard 2.10.0, torchvision 0.13.1, TRIQS 3.1.1, TRIQS-cthyb 3.1.0, TRIQS-dft_tools 3.1.0, + TRIQS-tprf 3.1.1, TRUST4 1.0.7, TurboVNC 3.0.1, typing-extensions 4.3.0, UCX 1.13.1, umap-learn 0.5.3, VEP 107, + VMD 1.9.4a57, Wayland 1.21.0, wxWidgets 3.2.1, xprop 1.2.5 +- minor enhancements, including: + - configure recent pocl versions with -DLLC_HOST_CPU=native to avoid CPU auto-detection (#16246) + - add multi-dep exception to easyconfigs test suite for ncbi-vdb-3.0.0 which requires HDF5 1.10.x (#16316) + - enable running of LAPACK tests for recent OpenBLAS easyconfigs + add patch to fix failing LAPACK tests due to use of -ftree-vectorize (#16406) + - add GITHUB_(LOWER_)RELEASE to known constants in setup.cfg (#16422) + - add AMAPVox extension to R v4.2.1 (#16439) + - add OpenEXR depenency to POV-Ray 3.7.0.10 (#16408) +- various bug fixes, including: + - add patch for OpenBLAS 0.3.7-0.3.12 to fix miscomputation on POWER (#16199) + - skip flaky test in PyTorch 1.9.0 (#16258) + - add --with-versioned-syms to ncurses 6.2 and 6.3 (#16270) + - add missing pkg-config build dependency to Guile (#16317) + - add patches to fix incompatibilites between ASE and other packages in 2022a toolchain (#16332) + - add patches to fix PyTorch 1.11 on POWER (#16339) + - add patches for Ambertools 21 to Amber 20.11 to work with updated Amber easyblock (#16343) + - use Intel MPI from EasyBuild toolchain in AMS (#16363) + - fix execution permissions for bin/ngm* for NextGenMap v0.5.5 (#16383) + - fix using provided Qhull and freetype dependencies for matplotlib 3.5.2 by creating mplsetup.cfg rather than setup.cfg (#16396) + - fix GitHub download link in for libpsl 0.21.1 (#16397) + - stick to http in source URL for stride.tar.gz in VMD 1.9.4a51 easyconfigs due to problems with SSL certificate (#16403) + - add patch to detect available cores and remove unneeded deps for Unicycler 0.5.0 (#16407) + - add missing ICU + libunistring dependencies for libpsl 0.21.1 w/ GCCcore/10.3.0 (#16410) + - add patch to GCC 11.x + 12.x to fix vectorizer bug (#16411) + - fix checksum for GULP 6.1 (#16423) + - add bzip2 and libxml2 as dependencies for netCDF 4.9.0 (#16450) +- other changes: + - drop Java dep from ABAQUS 2022 (#16314) + - deprecate use of True in favour of SYSTEM for system-toolchain dependencies in easyconfigs using a recent toolchain version (>2019b) (#16384) + - update easyconfigs to use `SYSTEM` template constant instead of `True` in dependencies (#16386, #16418) + - update libxml2 + libxslt easyconfigs to use gnome.org source URL (#16429) v4.6.1 (September 12th 2022) diff --git a/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb b/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb index c98e31bbfaef..5f212260dd55 100644 --- a/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb +++ b/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb @@ -43,13 +43,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%s" ' % majpyver -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%s ' % majpyver buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/ARB/ARB-5.5_xflags.patch b/easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xflags.patch similarity index 100% rename from easybuild/easyconfigs/a/ARB/ARB-5.5_xflags.patch rename to easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xflags.patch diff --git a/easybuild/easyconfigs/a/ARB/ARB-5.5_xmkmf.patch b/easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xmkmf.patch similarity index 100% rename from easybuild/easyconfigs/a/ARB/ARB-5.5_xmkmf.patch rename to easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xmkmf.patch diff --git a/easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2016b.eb b/easybuild/easyconfigs/__archive__/b/BAMM/BAMM-2.5.0-foss-2016b.eb similarity index 100% rename from easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2016b.eb rename to easybuild/easyconfigs/__archive__/b/BAMM/BAMM-2.5.0-foss-2016b.eb diff --git a/easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb similarity index 100% rename from easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb rename to easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb diff --git a/easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb similarity index 100% rename from easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb rename to easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb diff --git a/easybuild/easyconfigs/b/blasr/blasr-smrtanalysis-2.1_non-static.patch b/easybuild/easyconfigs/__archive__/b/blasr/blasr-smrtanalysis-2.1_non-static.patch similarity index 100% rename from easybuild/easyconfigs/b/blasr/blasr-smrtanalysis-2.1_non-static.patch rename to easybuild/easyconfigs/__archive__/b/blasr/blasr-smrtanalysis-2.1_non-static.patch diff --git a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb index 608c83341d72..6c35becc3d57 100644 --- a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb @@ -25,7 +25,7 @@ dependencies = [ ('libGLU', '9.0.0'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = r"-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.so -DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.so " builddependencies = [ diff --git a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb index 4cab94fb9f5a..b7b9e93e9f4d 100644 --- a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb @@ -25,7 +25,7 @@ dependencies = [ ('libGLU', '9.0.0', '-Mesa-%s' % mesaver), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = r"-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb index 874fac82e511..b1f420ddcbb6 100644 --- a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb +++ b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb @@ -26,7 +26,7 @@ dependencies = [ ] configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON " -configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts += r"-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-foss-2016a.eb b/easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-foss-2016a.eb similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-foss-2016a.eb rename to easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-intel-2016a.eb b/easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-intel-2016a.eb similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-intel-2016a.eb rename to easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch diff --git a/easybuild/easyconfigs/c/CHARMM/main-case-fix-37b2.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/main-case-fix-37b2.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/main-case-fix-37b2.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/main-case-fix-37b2.patch diff --git a/easybuild/easyconfigs/c/CHARMM/qmmm-pme-37b2.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/qmmm-pme-37b2.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/qmmm-pme-37b2.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/qmmm-pme-37b2.patch diff --git a/easybuild/easyconfigs/c/CHARMM/use-xhost-37b2.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/use-xhost-37b2.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/use-xhost-37b2.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/use-xhost-37b2.patch diff --git a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb index 0b19390665ed..df09a737a132 100644 --- a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb @@ -44,7 +44,7 @@ modextrapaths = { } # fix shebang line in all provided perl scripts in tools folder -postinstallcmds = ["sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl", - "sed -i -e 's|/usr/local/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl"] +postinstallcmds = ["sed -i -e 's|/usr/bin/perl|/usr/bin/env perl|' %(installdir)s/tools/*.pl", + "sed -i -e 's|/usr/local/bin/perl|/usr/bin/env perl|' %(installdir)s/tools/*.pl"] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb index 8e66ed510b92..0044012c7fe3 100644 --- a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb @@ -44,7 +44,7 @@ modextrapaths = { } # fix shebang line in all provided perl scripts in tools folder -postinstallcmds = ["sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl", - "sed -i -e 's|/usr/local/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl"] +postinstallcmds = [r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl", + r"sed -i -e 's|/usr/local/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl"] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/charmm/charmm-43b2-foss-2017b.eb b/easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-foss-2017b.eb similarity index 100% rename from easybuild/easyconfigs/c/charmm/charmm-43b2-foss-2017b.eb rename to easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-foss-2017b.eb diff --git a/easybuild/easyconfigs/c/charmm/charmm-43b2-intel-2017b.eb b/easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-intel-2017b.eb similarity index 100% rename from easybuild/easyconfigs/c/charmm/charmm-43b2-intel-2017b.eb rename to easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-intel-2017b.eb diff --git a/easybuild/easyconfigs/c/charmm/charmm-43b2_Use_xhost.patch b/easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2_Use_xhost.patch similarity index 100% rename from easybuild/easyconfigs/c/charmm/charmm-43b2_Use_xhost.patch rename to easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2_Use_xhost.patch diff --git a/easybuild/easyconfigs/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/__archive__/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb similarity index 100% rename from easybuild/easyconfigs/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb rename to easybuild/easyconfigs/__archive__/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb diff --git a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb index a8599a45321b..69665c3f252c 100644 --- a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb @@ -106,7 +106,7 @@ modextrapaths = { } postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line "chmod +x %(installdir)s/*.pl" # add execution permission ] diff --git a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb index b72be2600bc9..13a6b51345f3 100644 --- a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb +++ b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb @@ -104,7 +104,7 @@ modextrapaths = { } postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line "chmod +x %(installdir)s/*.pl" # add execution permission ] diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-foss-2022a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-foss-2022a.eb new file mode 100644 index 000000000000..4003b3410d57 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-foss-2022a.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.6.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b018c2ff24338a5952c5550a7e09d4c7793b62402c7aa4e09273e9a666e674fb'] + +builddependencies = [ + ('Python', '3.10.4'), +] +dependencies = [ + ('libxc', '5.2.3'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('HDF5', '1.12.2'), + ('Wannier90', '3.1.0'), +] + +# Needed due to changes in GCC10. +configopts = 'FCFLAGS="-fallow-argument-mismatch -ffree-line-length-none $FCFLAGS" ' +configopts += 'FFLAGS="-fallow-argument-mismatch $FFLAGS" ' + +# Ensure MPI +configopts += '--with-mpi="yes" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from FlexiBLAS +configopts += 'LINALG_LIBS="${LIBLAPACK_MT}" ' + +# FFTW +configopts += '--with-fft-flavor=fftw3 FFTW3_LIBS="-L${EBROOTFFTW} -lfftw3f -lfftw3" ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2022a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2022a.eb new file mode 100644 index 000000000000..a6b50b225afc --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.6.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b018c2ff24338a5952c5550a7e09d4c7793b62402c7aa4e09273e9a666e674fb'] + +builddependencies = [ + ('Python', '3.10.4'), +] +dependencies = [ + ('libxc', '5.2.3'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('HDF5', '1.12.2'), + ('Wannier90', '3.1.0'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb index 26fa5bfad101..55508f145f92 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb @@ -42,13 +42,13 @@ start_dir = 'src' prebuildopts = "cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)sm" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb index 83e27995d399..377dd7ffdbbc 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb @@ -42,13 +42,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cd src && cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)sm" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb index 0732a36f6653..a981f2c9d2df 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb @@ -40,13 +40,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cd src && cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)s" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb index 9ba3747062c0..b52b6b982153 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb @@ -40,13 +40,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cd src && cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)s" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb index f69d4cd5999f..ab2f8c2d7daf 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb @@ -41,13 +41,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)s" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)s ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AMAPVox/AMAPVox-1.9.4-Java-11.eb b/easybuild/easyconfigs/a/AMAPVox/AMAPVox-1.9.4-Java-11.eb new file mode 100644 index 000000000000..d0d5c54fd5ef --- /dev/null +++ b/easybuild/easyconfigs/a/AMAPVox/AMAPVox-1.9.4-Java-11.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'AMAPVox' +version = '1.9.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://amap-dev.cirad.fr/projects/amapvox' +description = "LiDAR data voxelisation software" + +toolchain = SYSTEM + +source_urls = ['http://amap-dev.cirad.fr/attachments/download/1916/'] +sources = [SOURCE_ZIP] +checksums = ['6d3e65fbd17a8e3a45962f5d1ce60a58ad0bfd899fa704dc172f2819fc309b74'] + +dependencies = [('Java', '11')] + +postinstallcmds = ["chmod a+x %(installdir)s/AMAPVox.sh"] + +sanity_check_paths = { + 'files': ['AMAPVox.sh', 'AMAPVox-%(version)s.jar'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["AMAPVox.sh -h"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb index 0a3ef3fc3f5b..4eb0c19c81d3 100644 --- a/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb @@ -1,4 +1,4 @@ -easyblock = 'MakeCp' +easyblock = 'Binary' name = 'ANIcalculator' version = '1.0' @@ -21,20 +21,19 @@ dependencies = [ ('libnsl', '1.3.0'), ] -skipsteps = ['build'] - -# The source tarball also includes Log4perl 1.44. -# Instead of copying this, we use the version from the Perl module. -files_to_copy = [(['ANIcalculator', 'nsimscan'], 'bin'), 'README.txt'] +extract_sources = True # Fix permissions on binaries and README.txt, +# and remove the included Log4perl 1.44 (we use the one from the Perl module). postinstallcmds = [ - 'chmod a+x %(installdir)s/bin/*', + 'chmod a+x %(installdir)s/ANIcalculator', + 'chmod a+x %(installdir)s/nsimscan', 'chmod -x %(installdir)s/README.txt', + 'rm -r %(installdir)s/Log', ] sanity_check_paths = { - 'files': ['README.txt', 'bin/ANIcalculator', 'bin/nsimscan'], + 'files': ['README.txt', 'ANIcalculator', 'nsimscan'], 'dirs': [], } diff --git a/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..ff31f62debc5 --- /dev/null +++ b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'Binary' + +name = 'ANIcalculator' +version = '1.0' + +homepage = 'https://ani.jgi.doe.gov/html/home.php' +description = """This tool will calculate the bidirectional average nucleotide identity (gANI) and +Alignment Fraction (AF) between two genomes. Required input is the full path to the fna file +(nucleotide sequence of genes in fasta format) of each query genome. Either the rRNA and tRNA genes +can be excluded, or provided in a list with the -ignoreList option. This is necessary as the presence +of tRNA and/or rRNA genes in the fna will artificially inflate the ANI.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ani.jgi.doe.gov/download_files/'] +sources = ['%(name)s_v%(version_major)s.tgz'] +checksums = ['236596a9a204cbcad162fc66be3506b2530b1f48f4f84d9647ccec3ca7483a43'] + +dependencies = [ + ('Perl', '5.34.1'), + ('libnsl', '2.0.0'), +] + +extract_sources = True + +# Fix permissions on binaries and README.txt, +# and remove the included Log4perl 1.44 (we use the one from the Perl module). +postinstallcmds = [ + 'chmod a+x %(installdir)s/ANIcalculator', + 'chmod a+x %(installdir)s/nsimscan', + 'chmod -x %(installdir)s/README.txt', + 'rm -r %(installdir)s/Log', +] + +sanity_check_paths = { + 'files': ['README.txt', 'ANIcalculator', 'nsimscan'], + 'dirs': [], +} + +sanity_check_commands = [ + 'ANIcalculator -help', + 'nsimscan -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ANSYS/ANSYS-2022R2.eb b/easybuild/easyconfigs/a/ANSYS/ANSYS-2022R2.eb new file mode 100644 index 000000000000..5c94e25f8afd --- /dev/null +++ b/easybuild/easyconfigs/a/ANSYS/ANSYS-2022R2.eb @@ -0,0 +1,30 @@ +name = 'ANSYS' +version = '2022R2' + +homepage = 'https://www.ansys.com' +description = """ANSYS simulation software enables organizations to confidently predict + how their products will operate in the real world. We believe that every product is + a promise of something greater. """ + +toolchain = SYSTEM + +download_instructions = 'Manually obtain (ANSYS%(version)s_LINX64_DiskX.iso) from your ANSYS vendor' +# Custom extract command is used since iso sources contain duplicate file. +sources = [ + {'filename': 'ANSYS%(version)s_LINX64_Disk1.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': 'ANSYS%(version)s_LINX64_Disk2.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': 'ANSYS%(version)s_LINX64_Disk3.iso', 'extract_cmd': '7z x -aos %s'}, +] +checksums = [ + {'ANSYS2022R2_LINX64_Disk1.iso': '7c9b2a57dd3b87c1dabcd84c913135c83aaac46bf75fbe3fae8da61c85e78198'}, + {'ANSYS2022R2_LINX64_Disk2.iso': '7962ef251e2edb7e999bfb6a857272597973d7ac4c17c2271cfd891347fd452a'}, + {'ANSYS2022R2_LINX64_Disk3.iso': '58d4b72e90a27fe11aee3cd7db251ecd1f80b2353441e7061543c0fc21c14dac'}, +] + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Specify license_server and license_server_port here, or use EB_ANSYS_LICENSE_SERVER and EB_ANSYS_LICENSE_SERVER_PORT +# license_server = "ansys.lic.example.com" +# license_server_port = "1234:5678" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..198b56b144fb --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '4.0.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['2729ec524cbc927618e479994330eeb72df5947e90cfcc49434009eee29bf7d4'] + +clangversion = '14.0.6' + +dependencies = [ + ('binutils', '2.38'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.9.13'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..aca9ebc5b59d --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '4.0.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['2729ec524cbc927618e479994330eeb72df5947e90cfcc49434009eee29bf7d4'] + +clangversion = '14.0.6' + +dependencies = [ + ('binutils', '2.39'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.10.3'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..52ae17f084c8 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'APR-util' +version = '1.6.1' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('APR', '1.7.0'), + ('SQLite', '3.38.3'), + ('expat', '2.4.8'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT " + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..200453bcb549 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'APR' +version = '1.7.0' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.%s" % SHLIB_EXT, "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-cmath.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-cmath.patch new file mode 100644 index 000000000000..d836a0466d22 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-cmath.patch @@ -0,0 +1,16 @@ +# Author: Robert Jan Schlimbach (SURF) +# ASAP/2.1 forgets a few headers, in this case cmath +# Possibly fixed if https://github.com/computationalpathologygroup/ASAP/pull/241 gets merged + +diff --git a/annotation/ImageScopeRepository.cpp b/annotation/ImageScopeRepository.cpp +index 6916a58..c135cb3 100644 +--- a/annotation/ImageScopeRepository.cpp ++++ b/annotation/ImageScopeRepository.cpp +@@ -9,6 +9,7 @@ + #include + #include "pugixml.hpp" + #include ++#include + + ImageScopeRepository::ImageScopeRepository(const std::shared_ptr& list) : + Repository(list), diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-foss-2022a.eb b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-foss-2022a.eb new file mode 100644 index 000000000000..1a9c9bccc8b0 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-foss-2022a.eb @@ -0,0 +1,72 @@ +easyblock = 'CMakeMake' + +name = 'ASAP' +version = '2.1' + +homepage = 'https://computationalpathologygroup.github.io/ASAP/' +description = """ASAP focuses on fast and fluid image viewing with an easy-to-use interface +for making annotations. It consists of two main components: an IO library for reading and writing +multi-resolution images and a viewer component for visualizing such images.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/computationalpathologygroup/%(name)s/archive'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'ASAP-2.1-libjpeg.patch', + 'ASAP-2.1-pugixml.patch', + 'ASAP-2.1-cmath.patch', +] +checksums = [ + '7ba9f39d09bada808f760c5dc9ac0cda0d221fd1393a0a3f9decfd6b5e913b3c', # ASAP-2.1.tar.gz + '78337d0250c567335f1a356f8761587000170b71a87b3e546b6b9330d3236b0f', # ASAP-2.1-libjpeg.patch + 'ab6104fb19515d0b042944bbe95fa67f55f47ef3bf18a91d337e0ca476c7385d', # ASAP-2.1-pugixml.patch + '15cf6bf2ab65ce37338ea571d80ced59b4e35cf82e434b2ccec7b534778f4a33', # ASAP-2.1-cmath.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('Boost', '1.79.0'), + ('Python', '3.10.4'), + ('OpenCV', '4.6.0', '-contrib'), + ('Qt5', '5.15.5'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('JasPer', '2.0.33'), + ('DCMTK', '3.6.7'), + ('SWIG', '4.0.2'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('pugixml', '1.12.1'), + ('zlib', '1.2.12'), +] + +configopts = " ".join([ + "-DOPENSLIDE_INCLUDE_DIR=$EBROOTOPENSLIDE/include/openslide", + "-DPugiXML_INCLUDE_DIR=$EBROOTPUGIXML/include", + "-DDCMTKJPEG_INCLUDE_DIR=$EBROOTDCMTK/include", + "-DWRAP_MULTIRESOLUTIONIMAGEINTERFACE_PYTHON=TRUE", + "-DBUILD_ASAP=TRUE", + "-DBUILD_EXECUTABLES=TRUE", + "-DBUILD_IMAGEPROCESSING=TRUE", + "-DBUILD_MULTIRESOLUTIONIMAGEINTERFACE_VSI_SUPPORT=TRUE", + "-DSWIG_EXECUTABLE=$EBROOTSWIG/bin/swig" +]) + + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s', + 'bin/multiresolutionimageinterface.py', + 'lib/libmultiresolutionimageinterface.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +sanity_check_commands = ['python -c "import multiresolutionimageinterface"'] + +# ASAP installs its python interface in bin. Ugly, but we'll need to add it to PYTHONPATH +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-libjpeg.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-libjpeg.patch new file mode 100644 index 000000000000..b20303038721 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-libjpeg.patch @@ -0,0 +1,41 @@ +# Author: Robert Jan Schlimbach (SURF) +# ASAP/2.1 uses DCMKT jpeg sources directly by manually setting a PATH +# see https://github.com/computationalpathologygroup/ASAP/issues/32 +# we simply replace DCMTK jpeg with the default jpeglib header. +# Need to rename jpeg_mem_src to avoid a resulting name conflic. + +diff --git a/multiresolutionimageinterface/VSIImage.cpp b/multiresolutionimageinterface/VSIImage.cpp +index 509bb18..1763201 100644 +--- a/multiresolutionimageinterface/VSIImage.cpp ++++ b/multiresolutionimageinterface/VSIImage.cpp +@@ -11,7 +11,7 @@ + // Include DCMTK LIBJPEG for lossy and lossless JPEG compression + extern "C" { + #define boolean ijg_boolean +-#include "dcmtk/dcmjpeg/libijg8/jpeglib8.h" ++#include "jpeglib.h" + #include "jpeg_mem_src.h" + #undef boolean + #undef const +@@ -234,7 +234,7 @@ char* VSIImage::decodeTile(int no, int row, int col) const { + jpeg_source_mgr src_mem; + jpeg_create_decompress(&cinfo); + cinfo.err = jpeg_std_error(&jerr); +- jpeg_mem_src(&cinfo, &src_mem, (void*)buf, size); ++ jpeg_mem_src_asap(&cinfo, &src_mem, (void*)buf, size); + jpeg_read_header(&cinfo, true); + if (_compressionType == 2) { + cinfo.jpeg_color_space = JCS_YCbCr; +diff --git a/multiresolutionimageinterface/jpeg_mem_src.h b/multiresolutionimageinterface/jpeg_mem_src.h +index b9b91e9..13b9040 100644 +--- a/multiresolutionimageinterface/jpeg_mem_src.h ++++ b/multiresolutionimageinterface/jpeg_mem_src.h +@@ -47,7 +47,7 @@ static void mem_skip_input_data( j_decompress_ptr cinfo, long num_bytes ) + } + } + +-static void jpeg_mem_src( j_decompress_ptr cinfo, jpeg_source_mgr * const src, void const * const buffer, long nbytes ) ++static void jpeg_mem_src_asap( j_decompress_ptr cinfo, jpeg_source_mgr * const src, void const * const buffer, long nbytes ) + { + src->init_source = mem_init_source; + src->fill_input_buffer = mem_fill_input_buffer; diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-pugixml.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-pugixml.patch new file mode 100644 index 000000000000..751d179cb193 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-pugixml.patch @@ -0,0 +1,55 @@ +# Author: Robert Jan Schlimbach (SURF) +# Patch to make ASAP/2.1 accept pugixml as non-header-only shared lib + +diff --git a/annotation/CMakeLists.txt b/annotation/CMakeLists.txt +index 114babe..2156cd3 100644 +--- a/annotation/CMakeLists.txt ++++ b/annotation/CMakeLists.txt +@@ -25,10 +25,9 @@ set(ANNOTATION_SOURCE + ) + + add_library(annotation SHARED ${ANNOTATION_SOURCE} ${ANNOTATION_HEADERS}) +-target_compile_definitions(annotation PRIVATE "PUGIXML_HEADER_ONLY") + generate_export_header(annotation) + target_include_directories(annotation PUBLIC $ $ PRIVATE ${DIAGPathology_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${Boost_INCLUDE_DIRS} ${PugiXML_INCLUDE_DIR}) +-target_link_libraries(annotation PUBLIC core PRIVATE multiresolutionimageinterface) ++target_link_libraries(annotation PUBLIC core PRIVATE multiresolutionimageinterface ${PUGIXML_LIBRARY}) + set_target_properties(annotation PROPERTIES DEBUG_POSTFIX _d) + + IF(APPLE) +diff --git a/cmakemodules/FindPugiXML.cmake b/cmakemodules/FindPugiXML.cmake +index ccffcc4..9afcfb4 100644 +--- a/cmakemodules/FindPugiXML.cmake ++++ b/cmakemodules/FindPugiXML.cmake +@@ -5,11 +5,12 @@ + # PugiXML_FOUND, If false, do not try to use PugiXML. + + find_path(PugiXML_INCLUDE_DIR pugixml.hpp) ++find_library(PUGIXML_LIBRARY NAMES pugixml) + + # handle the QUIETLY and REQUIRED arguments and set PugiXML_FOUND to TRUE if + # all listed variables are TRUE + include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(PugiXML +- REQUIRED_VARS PugiXML_INCLUDE_DIR) ++ REQUIRED_VARS PUGIXML_LIBRARY PugiXML_INCLUDE_DIR) + +-mark_as_advanced(PugiXML_INCLUDE_DIR) ++mark_as_advanced(PugiXML_INCLUDE_DIR PUGIXML_LIBRARY) +diff --git a/multiresolutionimageinterface/CMakeLists.txt b/multiresolutionimageinterface/CMakeLists.txt +index 132e6ef..8d24176 100644 +--- a/multiresolutionimageinterface/CMakeLists.txt ++++ b/multiresolutionimageinterface/CMakeLists.txt +@@ -87,11 +87,10 @@ endif(BUILD_MULTIRESOLUTIONIMAGEINTERFACE_VSI_SUPPORT) + + add_library(multiresolutionimageinterface SHARED ${MULTIRESOLUTIONIMAGEINTERFACE_SRCS} ${MULTIRESOLUTIONIMAGEINTERFACE_HS} ${VSI_SOURCE_HS} ${VSI_SOURCE_SRCS}) + target_include_directories(multiresolutionimageinterface PUBLIC $ $ $ $ PRIVATE ${PugiXML_INCLUDE_DIR} ${TIFF_INCLUDE_DIR}) +-target_link_libraries(multiresolutionimageinterface PUBLIC core PRIVATE jpeg2kcodec libtiff) ++target_link_libraries(multiresolutionimageinterface PUBLIC core PRIVATE jpeg2kcodec libtiff ${PUGIXML_LIBRARY}) + IF(NOT WIN32) + target_link_libraries(multiresolutionimageinterface PRIVATE dl) + ENDIF(NOT WIN32) +-target_compile_definitions(multiresolutionimageinterface PRIVATE PUGIXML_HEADER_ONLY) + generate_export_header(multiresolutionimageinterface) + set_target_properties(multiresolutionimageinterface PROPERTIES DEBUG_POSTFIX _d) + diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-2022b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-2022b.eb new file mode 100644 index 000000000000..d2486e7b79ee --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-2022b.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.1' + +homepage = 'https://wiki.fysik.dtu.dk/ase' +description = """ASE is a python package providing an open source Atomic Simulation Environment + in the Python scripting language. + +From version 3.20.1 we also include the ase-ext package, it contains optional reimplementations +in C of functions in ASE. ASE uses it automatically when installed.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Flask', '2.2.3'), + ('matplotlib', '3.7.0'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.0.2'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.8.2', { + 'checksums': ['77f03f4554392558700295e05aed0b1096a20d4a60a4f3ddcde58b0c31c8fca2'], + }), + ('ase', version, { + 'patches': [ + 'ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch', + 'ASE-3.22.1-Compatibility-with-pytest-part-2.patch', + 'ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch', + 'ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch', + ], + 'checksums': [ + '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432', # ase-3.22.1.tar.gz + # ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch + '8184765ecc9e14081b183fee5c4470da716d77caa67c25164018ac1fdd225eac', + # ASE-3.22.1-Compatibility-with-pytest-part-2.patch + '3a3473912f5f96ffc625119d87227781ba4ea581de15d4af6a58ba960cdf4601', + # ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch + 'c1cb07160b063d432f098efd40dd4b3c9f015b7966572c838a908613a482e0c8', + # ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch + '2a05f98291dc970cb759904988783d1ecc3512ba6a0da852af1d3205667b398d', + ], + }), + ('ase-ext', '20.9.0', { + 'checksums': ['a348b0e42cf9fdd11f04b3df002b0bf150002c8df2698ff08d3c8fc7a1223aed'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ase'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# make sure Tkinter is available, otherwise 'ase gui' will not work +sanity_check_commands = ["python -c 'import tkinter' "] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..38922c40f8d7 --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.38.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('GObject-Introspection', '1.74.0'), +] + +dependencies = [ + ('GLib', '2.75.0'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022a.eb new file mode 100644 index 000000000000..78063fe23454 --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022a.eb @@ -0,0 +1,73 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.5.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ed6ce6106303b800c5e91d37a250baff43b20824657b853ae04d11ad8bdd686'] + +builddependencies = [ + ('Python', '3.10.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('GSL', '2.7'), + ('SAMtools', '1.16.1'), + ('HTSlib', '1.15.1'), # also provides tabix + ('BCFtools', '1.15.1'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.38.3'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +_tmpl = 'INCLUDE_PATH_{dep}=-I{root}{incl} LIBRARY_PATH_{dep}="-L{root}{lib} -Wl,-rpath,{root}{lib}"' + +buildopts = ' '.join([ + 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" ', + _tmpl.format(dep='ZLIB', root='$EBROOTZLIB', incl='/include', lib='/lib'), + _tmpl.format(dep='BOOST', root='$EBROOTBOOST', incl='/include', lib='/lib'), + _tmpl.format(dep='LPSOLVE', root='$EBROOTLPSOLVE', incl='/include', lib='/lib'), + _tmpl.format(dep='SUITESPARSE', root='$EBROOTSUITESPARSE', incl='/include', lib='/lib'), + _tmpl.format(dep='GSL', root='$EBROOTGSL', incl='/include', lib='/lib'), + _tmpl.format(dep='SQLITE', root='$EBROOTSQLITE', incl='/include', lib='/lib'), + _tmpl.format(dep='BAMTOOLS', root='$EBROOTBAMTOOLS', incl='/include/bamtools', lib='/lib'), + _tmpl.format(dep='HTSLIB', root='$EBROOTHTSLIB', incl='/include/htslib', lib='/lib'), +]) + +preinstallopts = "sed -i '/ln -sf/d' Makefile && " +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.3-GCC-11.3.0.eb b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..e93de5614246 --- /dev/null +++ b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.3-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'AdapterRemoval' +version = '2.3.3' + +homepage = 'https://github.com/MikkelSchubert/adapterremoval' +description = """AdapterRemoval searches for and removes remnant adapter sequences + from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases + from the 3' end of reads following adapter removal.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'MikkelSchubert' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a1bdc054319ede085fc8a4e9867c23ffed7df5e97b99d52221b7c587d19418fc'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] +} + +sanity_check_commands = [('%(name)s', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..b4b6d0f7b61f --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('scikit-image', '0.19.3'), + ('scikit-learn', '1.1.2'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('imgaug', '0.4.0', versionsuffix), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a.eb new file mode 100644 index 000000000000..cecb717c37c6 --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.3.0' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('scikit-image', '0.19.3'), + ('scikit-learn', '1.1.2'), + ('OpenCV', '4.6.0', '-contrib'), + ('imgaug', '0.4.0'), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Alfred/Alfred-0.2.6-GCC-11.2.0.eb b/easybuild/easyconfigs/a/Alfred/Alfred-0.2.6-GCC-11.2.0.eb new file mode 100644 index 000000000000..63a34e4004d0 --- /dev/null +++ b/easybuild/easyconfigs/a/Alfred/Alfred-0.2.6-GCC-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Alfred' +version = '0.2.6' + +homepage = "https://www.gear-genomics.com/alfred/" +description = """Alfred is an efficient and versatile command-line application + that computes multi-sample quality control metrics in a read-group aware manner. + Alfred supports read counting, feature annotation and haplotype-resolved consensus + computation using multiple sequence alignments.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'tobiasrausch' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['2f92cc1acc1f059a75468fca49f755c25947d59f39f2225abaaa4d145ac971a8'] + +dependencies = [ + ('Boost', '1.77.0'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.14'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('zstd', '1.5.0'), +] + +files_to_copy = [(['src/%(namelower)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 000000000000..b37b644450f2 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,167 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.0' +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': '2021b'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('CUDA', '11.4.1', '', SYSTEM), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.7.1', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.2'), + ('jax', '0.3.23', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.11.2', versionsuffix), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('OpenMM', '7.5.1', '%(versionsuffix)s-DeepMind-patch'), +] + +# 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 = [ + (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.3.0_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', + ], + 'checksums': [ + '52055a0b4bf194ae0e1960e6391e501490f82274c975e01c1ff0e353a1cd59d9', # v2.3.0.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '5cff3fc7104e020ef546d23cb4fb1b8d6517562783f055cc55fc65fe2b0248d0', # AlphaFold-2.3.0_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 + + ], + '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.2', { + 'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'], + }), + ('chex', '0.1.5', { + 'checksums': ['686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e'], + }), + ('tabulate', '0.8.10', { + 'checksums': ['6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519'], + }), + ('jmp', '0.0.2', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['fdb5cec0d10aab4116c2770f24b2adf4f503fcfbb96ce8ef583e1879bdbf1b9b'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.7', { + 'modulename': 'tree', + 'checksums': ['30fec8aca5b92823c0e796a2f33b875b4dccd470b57e91e6c542405c5f77fd2a'], + }), + ('websocket-client', '1.3.3', { + 'modulename': 'websocket', + 'checksums': ['d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1'], + }), + ('docker', '5.0.3', { + 'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'], + }), + ('immutabledict', '2.2.1', { + 'checksums': ['1ddb0edf1bb6c70d0197eb90ce1fe2b2d58502334f5fdfde72d7c633d723ec3a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +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', '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 + +# 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': '3', + # '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.3.0_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0_data-dep-paths.patch new file mode 100644 index 000000000000..20a40b14f2b1 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0_data-dep-paths.patch @@ -0,0 +1,136 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.1 -> 2.1.0/2.1.2/2.3.0: Thomas Hoffmann (EMBL); +diff -ru alphafold-2.3.0/run_alphafold.py alphafold-2.3.0_data-dep-paths/run_alphafold.py +--- alphafold-2.3.0/run_alphafold.py 2022-12-11 20:36:44.000000000 +0100 ++++ alphafold-2.3.0_data-dep-paths/run_alphafold.py 2022-12-13 17:36:37.258678676 +0100 +@@ -40,6 +40,46 @@ + 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_2022_05.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_monomer_preset: ++ pdb_seqres_database_path = None ++ uniprot_database_path = None ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ else: ++ pdb_seqres_database_path = os.path.join(data_dir, 'pdb_seqres', 'pdb_seqres.txt') ++ uniprot_database_path = os.path.join(data_dir, 'uniprot', 'uniprot.fasta') ++ pdb70_database_path = None ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniref30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniref30_database_path = os.path.join(data_dir, 'uniref30', 'UniRef30_2021_03') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniref30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ uniprot_database_path = None ++ pdb_seqres_database_path = None ++ use_gpu_relax = None + + logging.set_verbosity(logging.INFO) + +@@ -50,7 +90,7 @@ + 'separated by commas. All FASTA paths must have a unique basename as the ' + 'basename is used to name the output directories for each prediction.') + +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_string('jackhmmer_binary_path', shutil.which('jackhmmer'), +@@ -65,27 +105,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('uniref30_database_path', None, 'Path to the UniRef30 ' ++flags.DEFINE_string('uniref30_database_path', uniref30_database_path, 'Path to the UniRef30 ' + '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', +@@ -124,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.') +@@ -296,6 +336,10 @@ + 'sure it is installed on your system.') + + use_small_bfd = FLAGS.db_preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniref30_database_path = None ++ + _check_flag('small_bfd_database_path', 'db_preset', + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', 'db_preset', +@@ -420,13 +464,7 @@ + flags.mark_flags_as_required([ + 'fasta_paths', + 'output_dir', +- 'data_dir', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', +- 'use_gpu_relax', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..6dc2fe0aa601 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,169 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.1' +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': '2022a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '5.1.1'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('TensorFlow', '2.11.0', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('jax', '0.3.25', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.12.1', versionsuffix), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('OpenMM', '8.0.0', versionsuffix), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (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.3.0_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.3.1_use_openmm_7.7.0.patch', + ], + 'checksums': [ + '1161b2609fa896b16399b900ec2b813e5a0b363fe4e2b26bd826953ba234736a', # v2.3.1.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '5cff3fc7104e020ef546d23cb4fb1b8d6517562783f055cc55fc65fe2b0248d0', # AlphaFold-2.3.0_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.3.1_use_openmm_7.7.0.patch + 'd800bb085deac7edbe2d72916c1194043964aaf51b88a3b5a5016ab68a1090ec', + + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '6.0.1', { + 'checksums': ['896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97'], + }), + ('immutabledict', '2.2.3', { + 'checksums': ['0e1e8a3f2b3ff062daa19795f947e9ec7a58add269d44e34d3ab4319e1343853'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +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', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m openmm.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '3', + # '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.3.1_use_openmm_7.7.0.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1_use_openmm_7.7.0.patch new file mode 100644 index 000000000000..ff3aa457201a --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1_use_openmm_7.7.0.patch @@ -0,0 +1,240 @@ +# Add compatibility with OpenMM-7.7.0 +# The patch is based on the recipe from https://github.com/deepmind/alphafold/issues/404 +# Author: maxim-masterov (SURF) + +diff -Nru alphafold-2.3.1.orig/alphafold/relax/amber_minimize.py alphafold-2.3.1/alphafold/relax/amber_minimize.py +--- alphafold-2.3.1.orig/alphafold/relax/amber_minimize.py 2023-03-28 10:58:07.126241000 +0200 ++++ alphafold-2.3.1/alphafold/relax/amber_minimize.py 2023-03-28 11:24:17.380332000 +0200 +@@ -27,10 +27,10 @@ + import ml_collections + import numpy as np + import jax +-from simtk import openmm +-from simtk import unit +-from simtk.openmm import app as openmm_app +-from simtk.openmm.app.internal.pdbstructure import PdbStructure ++from openmm import * ++from openmm import unit ++from openmm import app as openmm_app ++from openmm.app.internal.pdbstructure import PdbStructure + + + ENERGY = unit.kilocalories_per_mole +@@ -47,7 +47,7 @@ + + + def _add_restraints( +- system: openmm.System, ++ system: System, + reference_pdb: openmm_app.PDBFile, + stiffness: unit.Unit, + rset: str, +diff -Nru alphafold-2.3.1.orig/alphafold/relax/cleanup.py alphafold-2.3.1/alphafold/relax/cleanup.py +--- alphafold-2.3.1.orig/alphafold/relax/cleanup.py 2023-03-28 10:58:07.126999000 +0200 ++++ alphafold-2.3.1/alphafold/relax/cleanup.py 2023-03-28 11:03:20.689464000 +0200 +@@ -20,8 +20,8 @@ + import io + + import pdbfixer +-from simtk.openmm import app +-from simtk.openmm.app import element ++from openmm import app ++from openmm.app import element + + + def fix_pdb(pdbfile, alterations_info): +diff -Nru alphafold-2.3.1.orig/alphafold/relax/cleanup_test.py alphafold-2.3.1/alphafold/relax/cleanup_test.py +--- alphafold-2.3.1.orig/alphafold/relax/cleanup_test.py 2023-03-28 10:58:07.127710000 +0200 ++++ alphafold-2.3.1/alphafold/relax/cleanup_test.py 2023-03-28 11:03:14.772207000 +0200 +@@ -17,7 +17,7 @@ + + from absl.testing import absltest + from alphafold.relax import cleanup +-from simtk.openmm.app.internal import pdbstructure ++from openmm.app.internal import pdbstructure + + + def _pdb_to_structure(pdb_str): +diff -Nru alphafold-2.3.1.orig/docker/Dockerfile alphafold-2.3.1/docker/Dockerfile +--- alphafold-2.3.1.orig/docker/Dockerfile 2023-03-28 10:58:07.081432000 +0200 ++++ alphafold-2.3.1/docker/Dockerfile 2023-03-28 11:04:09.608354000 +0200 +@@ -76,7 +76,6 @@ + + # Apply OpenMM patch. + WORKDIR /opt/conda/lib/python3.8/site-packages +-RUN patch -p0 < /app/alphafold/docker/openmm.patch + + # Add SETUID bit to the ldconfig binary so that non-root users can run it. + RUN chmod u+s /sbin/ldconfig.real +diff -Nru alphafold-2.3.1.orig/notebooks/AlphaFold.ipynb alphafold-2.3.1/notebooks/AlphaFold.ipynb +--- alphafold-2.3.1.orig/notebooks/AlphaFold.ipynb 2023-03-28 10:58:07.092241000 +0200 ++++ alphafold-2.3.1/notebooks/AlphaFold.ipynb 2023-03-28 11:04:51.464351000 +0200 +@@ -103,16 +103,16 @@ + " %shell rm -rf /opt/conda\n", + " %shell wget -q -P /tmp \\\n", + " https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \\\n", +- " \u0026\u0026 bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \\\n", +- " \u0026\u0026 rm /tmp/Miniconda3-latest-Linux-x86_64.sh\n", ++ " && bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \\\n", ++ " && rm /tmp/Miniconda3-latest-Linux-x86_64.sh\n", + " pbar.update(9)\n", + "\n", + " PATH=%env PATH\n", + " %env PATH=/opt/conda/bin:{PATH}\n", + " %shell conda install -qy conda==4.13.0 \\\n", +- " \u0026\u0026 conda install -qy -c conda-forge \\\n", ++ " && conda install -qy -c conda-forge \\\n", + " python=3.8 \\\n", +- " openmm=7.5.1 \\\n", ++ " openmm=7.7.0 \\\n", + " pdbfixer\n", + " pbar.update(80)\n", + "\n", +@@ -161,8 +161,7 @@ + " pbar.update(10)\n", + "\n", + " # Apply OpenMM patch.\n", +- " %shell pushd /opt/conda/lib/python3.8/site-packages/ \u0026\u0026 \\\n", +- " patch -p0 \u003c /content/alphafold/docker/openmm.patch \u0026\u0026 \\\n", ++ " %shell pushd /opt/conda/lib/python3.8/site-packages/ && \\\n", + " popd\n", + "\n", + " # Make sure stereo_chemical_props.txt is in all locations where it could be searched for.\n", +@@ -186,9 +185,9 @@ + "\n", + "import jax\n", + "if jax.local_devices()[0].platform == 'tpu':\n", +- " raise RuntimeError('Colab TPU runtime not supported. Change it to GPU via Runtime -\u003e Change Runtime Type -\u003e Hardware accelerator -\u003e GPU.')\n", ++ " raise RuntimeError('Colab TPU runtime not supported. Change it to GPU via Runtime -> Change Runtime Type -> Hardware accelerator -> GPU.')\n", + "elif jax.local_devices()[0].platform == 'cpu':\n", +- " raise RuntimeError('Colab CPU runtime not supported. Change it to GPU via Runtime -\u003e Change Runtime Type -\u003e Hardware accelerator -\u003e GPU.')\n", ++ " raise RuntimeError('Colab CPU runtime not supported. Change it to GPU via Runtime -> Change Runtime Type -> Hardware accelerator -> GPU.')\n", + "else:\n", + " print(f'Running with {jax.local_devices()[0].device_kind} GPU')\n", + "\n", +@@ -206,7 +205,7 @@ + "source": [ + "## Making a prediction\n", + "\n", +- "Please paste the sequence of your protein in the text box below, then run the remaining cells via _Runtime_ \u003e _Run after_. You can also run the cells individually by pressing the _Play_ button on the left.\n", ++ "Please paste the sequence of your protein in the text box below, then run the remaining cells via _Runtime_ > _Run after_. You can also run the cells individually by pressing the _Play_ button on the left.\n", + "\n", + "Note that the search against databases and the actual prediction can take some time, from minutes to hours, depending on the length of the protein and what type of GPU you are allocated by Colab (see FAQ below)." + ] +@@ -298,21 +297,21 @@ + "\n", + "# Check whether total length exceeds limit.\n", + "total_sequence_length = sum([len(seq) for seq in sequences])\n", +- "if total_sequence_length \u003e MAX_LENGTH:\n", ++ "if total_sequence_length > MAX_LENGTH:\n", + " raise ValueError('The total sequence length is too long: '\n", + " f'{total_sequence_length}, while the maximum is '\n", + " f'{MAX_LENGTH}.')\n", + "\n", + "# Check whether we exceed the monomer limit.\n", + "if model_type_to_use == ModelType.MONOMER:\n", +- " if len(sequences[0]) \u003e MAX_MONOMER_MODEL_LENGTH:\n", ++ " if len(sequences[0]) > MAX_MONOMER_MODEL_LENGTH:\n", + " raise ValueError(\n", + " f'Input sequence is too long: {len(sequences[0])} amino acids, while '\n", + " f'the maximum for the monomer model is {MAX_MONOMER_MODEL_LENGTH}. You may '\n", + " 'be able to run this sequence with the multimer model by selecting the '\n", + " 'use_multimer_model_for_monomers checkbox above.')\n", + " \n", +- "if total_sequence_length \u003e MAX_VALIDATED_LENGTH:\n", ++ "if total_sequence_length > MAX_VALIDATED_LENGTH:\n", + " print('WARNING: The accuracy of the system has not been fully validated '\n", + " 'above 3000 residues, and you may experience long running times or '\n", + " f'run out of memory. Total sequence length is {total_sequence_length} '\n", +@@ -407,7 +406,7 @@ + "]\n", + "\n", + "# Search UniProt and construct the all_seq features only for heteromers, not homomers.\n", +- "if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) \u003e 1:\n", ++ "if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) > 1:\n", + " MSA_DATABASES.extend([\n", + " # Swiss-Prot and TrEMBL are concatenated together as UniProt.\n", + " {'db_name': 'uniprot',\n", +@@ -441,7 +440,7 @@ + " for sequence_index, sequence in enumerate(sorted(set(sequences)), 1):\n", + " fasta_path = f'target_{sequence_index:02d}.fasta'\n", + " with open(fasta_path, 'wt') as f:\n", +- " f.write(f'\u003equery\\n{sequence}')\n", ++ " f.write(f'>query\\n{sequence}')\n", + " sequence_to_fasta_path[sequence] = fasta_path\n", + "\n", + " # Run the search against chunks of genetic databases (since the genetic\n", +@@ -502,7 +501,7 @@ + " num_templates=0, num_res=len(sequence)))\n", + "\n", + " # Construct the all_seq features only for heteromers, not homomers.\n", +- " if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) \u003e 1:\n", ++ " if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) > 1:\n", + " valid_feats = msa_pairing.MSA_FEATURES + (\n", + " 'msa_species_identifiers',\n", + " )\n", +@@ -662,7 +661,7 @@ + "banded_b_factors = []\n", + "for plddt in plddts[best_model_name]:\n", + " for idx, (min_val, max_val, _) in enumerate(PLDDT_BANDS):\n", +- " if plddt \u003e= min_val and plddt \u003c= max_val:\n", ++ " if plddt >= min_val and plddt <= max_val:\n", + " banded_b_factors.append(idx)\n", + " break\n", + "banded_b_factors = np.array(banded_b_factors)[:, None] * final_atom_mask\n", +@@ -675,14 +674,14 @@ + " f.write(relaxed_pdb)\n", + "\n", + "\n", +- "# --- Visualise the prediction \u0026 confidence ---\n", ++ "# --- Visualise the prediction & confidence ---\n", + "show_sidechains = True\n", + "def plot_plddt_legend():\n", + " \"\"\"Plots the legend for pLDDT.\"\"\"\n", +- " thresh = ['Very low (pLDDT \u003c 50)',\n", +- " 'Low (70 \u003e pLDDT \u003e 50)',\n", +- " 'Confident (90 \u003e pLDDT \u003e 70)',\n", +- " 'Very high (pLDDT \u003e 90)']\n", ++ " thresh = ['Very low (pLDDT < 50)',\n", ++ " 'Low (70 > pLDDT > 50)',\n", ++ " 'Confident (90 > pLDDT > 70)',\n", ++ " 'Very high (pLDDT > 90)']\n", + "\n", + " colors = [x[2] for x in PLDDT_BANDS]\n", + "\n", +@@ -796,13 +795,13 @@ + "id": "jeb2z8DIA4om" + }, + "source": [ +- "## FAQ \u0026 Troubleshooting\n", ++ "## FAQ & Troubleshooting\n", + "\n", + "\n", + "* How do I get a predicted protein structure for my protein?\n", + " * Click on the _Connect_ button on the top right to get started.\n", + " * Paste the amino acid sequence of your protein (without any headers) into the “Enter the amino acid sequence to fold”.\n", +- " * Run all cells in the Colab, either by running them individually (with the play button on the left side) or via _Runtime_ \u003e _Run all._ Make sure you run all 5 cells in order.\n", ++ " * Run all cells in the Colab, either by running them individually (with the play button on the left side) or via _Runtime_ > _Run all._ Make sure you run all 5 cells in order.\n", + " * The predicted protein structure will be downloaded once all cells have been executed. Note: This can take minutes to hours - see below.\n", + "* How long will this take?\n", + " * Downloading the AlphaFold source code can take up to a few minutes.\n", +@@ -811,8 +810,8 @@ + " * Running AlphaFold and generating the prediction can take minutes to hours, depending on the length of your protein and on which GPU-type Colab has assigned you.\n", + "* My Colab no longer seems to be doing anything, what should I do?\n", + " * Some steps may take minutes to hours to complete.\n", +- " * If nothing happens or if you receive an error message, try restarting your Colab runtime via _Runtime_ \u003e _Restart runtime_.\n", +- " * If this doesn’t help, try resetting your Colab runtime via _Runtime_ \u003e _Factory reset runtime_.\n", ++ " * If nothing happens or if you receive an error message, try restarting your Colab runtime via _Runtime_ > _Restart runtime_.\n", ++ " * If this doesn’t help, try resetting your Colab runtime via _Runtime_ > _Factory reset runtime_.\n", + "* How does this compare to the open-source version of AlphaFold?\n", + " * This Colab version of AlphaFold searches a selected portion of the BFD dataset and currently doesn’t use templates, so its accuracy is reduced in comparison to the full version of AlphaFold that is described in the [AlphaFold paper](https://doi.org/10.1038/s41586-021-03819-2) and [Github repo](https://github.com/deepmind/alphafold/) (the full version is available via the inference script).\n", + "* What is a Colab?\n", +@@ -821,7 +820,7 @@ + " * The resources allocated to your Colab vary. See the [Colab FAQ](https://research.google.com/colaboratory/faq.html) for more details.\n", + " * You can execute the Colab nonetheless.\n", + "* I received an error “Colab CPU runtime not supported” or “No GPU/TPU found”, what do I do?\n", +- " * Colab CPU runtime is not supported. Try changing your runtime via _Runtime_ \u003e _Change runtime type_ \u003e _Hardware accelerator_ \u003e _GPU_.\n", ++ " * Colab CPU runtime is not supported. Try changing your runtime via _Runtime_ > _Change runtime type_ > _Hardware accelerator_ > _GPU_.\n", + " * The type of GPU allocated to your Colab varies. See the [Colab FAQ](https://research.google.com/colaboratory/faq.html) for more details.\n", + " * If you receive “Cannot connect to GPU backend”, you can try again later to see if Colab allocates you a GPU.\n", + " * [Colab Pro](https://colab.research.google.com/signup) offers priority access to GPUs.\n", diff --git a/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3-CUDA-11.4.1.eb b/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3-CUDA-11.4.1.eb new file mode 100644 index 000000000000..cc2ae4045a44 --- /dev/null +++ b/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3-CUDA-11.4.1.eb @@ -0,0 +1,101 @@ +name = 'Amber' +local_amber_ver = 22 +local_ambertools_ver = 22 +# Patch levels from https://ambermd.org/AmberPatches.php and https://ambermd.org/ATPatches.php +patchlevels = (3, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_amber_ver, patchlevels[1]) +versionsuffix = '-AmberTools-%s.%s-CUDA-%%(cudaver)s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/amber.html' +description = """Amber (originally Assisted Model Building with Energy Refinement) is software for performing + molecular dynamics and structure prediction.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [ + '%%(name)s%s.tar.bz2' % local_amber_ver, + {'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, 'alt_location': 'AmberTools'}, +] +patches = [ + {'name': 'AmberTools-20_cmake-locate-netcdf.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_xblas_missing_make_dependency.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_CMake-FlexiBLAS.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_DGESVD_workspace_query.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_dvout_call.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_mexit_calls.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_more_blas_argument_problems.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_multiple_definition.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_potential_use_before_init.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_rism_argument_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_test_missing_cuda_dir.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_missing_error_check_on_test_run.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_cuda_version_check.patch', 'alt_location': 'AmberTools'}, + 'Amber-22_reduce_precision_of_kmmd_test.patch', + 'Amber-22_remove_undeclared_redundant_variable.patch', +] +checksums = [ + '3c887ccbad690fc76ff0b120a3448eae023c08e76582aac07900d4a9708ebd16', # Amber22.tar.bz2 + '1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121', # AmberTools22.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-22_fix_missing_error_check_on_test_run.patch + 'a86eee60bd65c16a849469e303cb99dfc207cbadd2ae9e70b9ff580ced785475', + '3fc08a2cf61f3eefd094554e60c88b14c9f5071f94e0a0a15c6b55fe321bfc78', # AmberTools-22_fix_cuda_version_check.patch + 'b5855866c63c2ee860a5e6ad6f618ac4dab7072f5caae95769d4b2457d616a8e', # Amber-22_reduce_precision_of_kmmd_test.patch + # Amber-22_remove_undeclared_redundant_variable.patch + 'b94900c2178dd6dbf2824b17074980a3e5e6e71b38c0b2b30e1f147e4e1ac8cb', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # mpi4py required for MMPBSA + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('libreadline', '8.1'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '3.9.6'), + ('X11', '20210802'), + ('CUDA', '11.4.1', '', SYSTEM), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('UCX-CUDA', '1.11.2', '-CUDA-%(cudaver)s'), +] + +# Some CUDA tests differs from expected results +runtest = False + +static = False + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_cuda_version_check.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_cuda_version_check.patch new file mode 100644 index 000000000000..de3b0b115df9 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_cuda_version_check.patch @@ -0,0 +1,18 @@ +The CUDA_VERSION returned by CMake's FindCUDA module only contains +the major and minor version number, not the patch release. +This makes the check if CUDA_VERSION is less than 11.4.1 broken, +even though only CUDA 11.4.1 supports GCC 11 (11.4.0 does not). +As we know which GCC and CUDA we're using, this patch just compares it to 11.4 anyway. + +Bob Dröge, University of Groningen, 2022-08-18 +--- amber20_src.orig/cmake/CudaConfig.cmake 2022-08-18 08:25:28.236089267 +0200 ++++ amber20_src/cmake/CudaConfig.cmake 2022-08-18 08:24:27.122766862 +0200 +@@ -82,7 +82,7 @@ + # VERSION_EQUAL 10 means 10.0, so use a range for comparing major version. + if ( "${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" AND ( + ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12 +- AND CUDA_VERSION VERSION_GREATER_EQUAL 11.4.1 ++ AND CUDA_VERSION VERSION_GREATER_EQUAL 11.4 + AND CUDA_VERSION VERSION_LESS_EQUAL 11.7 ) + OR ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11 + AND CUDA_VERSION VERSION_GREATER_EQUAL 11.1 diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.10.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.10.eb new file mode 100644 index 000000000000..358470076085 --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.10.eb @@ -0,0 +1,30 @@ +# author: Jillian Rowe +# config upgrade to v5.1.0 by Adam Huffman +# config upgrade to v5.0.1, v5.3.0, 2018.12, 2019.07, +# 2019.10, 2020.2, 2020.11, 2022.05, +# 2022.10 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2022.10' + +homepage = 'https://www.anaconda.com' +description = """Built to complement the rich, open source Python community, +the Anaconda platform provides an enterprise-ready data analytics platform +that empowers companies to adopt a modern open data science analytics architecture. +""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/archive/'] +sources = ['%(name)s-%(version)s-Linux-%(arch)s.sh'] + +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': 'e7ecbccbc197ebd7e1f211c59df2e37bc6959d081f2235d387e08c9026666acd', + '%(name)s-%(version)s-Linux-ppc64le.sh': '8fdebc79f63b74daad421a2674d43299fa9c5007d85cf00e8dc1a81fbf2787e4', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb new file mode 100644 index 000000000000..261ecca60bb2 --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb @@ -0,0 +1,22 @@ +name = 'Armadillo' +version = '11.4.3' + +homepage = 'https://arma.sourceforge.net/' +description = """Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards + a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, + as well as a subset of trigonometric and statistics functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Boost', '1.79.0'), + ('arpack-ng', '3.8.0'), +] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb new file mode 100644 index 000000000000..f5eb6f67b05a --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb @@ -0,0 +1,22 @@ +name = 'Armadillo' +version = '11.4.3' + +homepage = 'https://arma.sourceforge.net/' +description = """Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards + a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, + as well as a subset of trigonometric and statistics functions.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Boost', '1.81.0'), + ('arpack-ng', '3.8.0'), +] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb new file mode 100644 index 000000000000..d35cad0f1b32 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb @@ -0,0 +1,73 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '11.0.0' + +homepage = 'https://arrow.apache.org' +description = """Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform + for in-memory data.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.9.3'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # for numpy + ('Boost', '1.81.0'), + ('lz4', '1.9.4'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.2'), + ('snappy', '1.1.9'), + ('RapidJSON', '1.1.0'), + ('RE2', '2023-03-01'), + ('utf8proc', '2.8.0'), +] + +start_dir = 'cpp' + +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " +configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " +configopts += "-DZSTD_ROOT=$EBROOTZSTD " + +# also install Python bindings +local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_install_pyarrow_cmds += "export Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s && " +local_install_pyarrow_cmds += "export Parquet_DIR=%(installdir)s && " +local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " +local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " +local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " +local_install_pyarrow_cmds += "PYARROW_CMAKE_OPTIONS='-DZSTD_LIB=$EBROOTZSTD/lib/libzstd.%s ' " % SHLIB_EXT +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +postinstallcmds = [local_install_pyarrow_cmds] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libarrow.a', 'lib/libarrow.%s' % SHLIB_EXT, + 'lib/python%%(pyshortver)s/site-packages/pyarrow/libarrow_python.%s' % SHLIB_EXT], + 'dirs': ['include/arrow', 'lib/cmake/Arrow', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", + "python -c 'import pyarrow.parquet'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb index da7afc30a3a2..638d160140b5 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb @@ -39,7 +39,7 @@ dependencies = [ start_dir = 'cpp' # see https://arrow.apache.org/docs/developers/python.html -configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " @@ -48,7 +48,7 @@ local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfi local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " -local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} @@ -61,6 +61,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb index aca66d53dc2b..8e67baea1054 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb @@ -39,7 +39,7 @@ dependencies = [ start_dir = 'cpp' # see https://arrow.apache.org/docs/developers/python.html -configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " @@ -49,7 +49,7 @@ local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pysh local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " -local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} @@ -62,6 +62,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb index ae4130379ec9..6b7ebcc3c0f0 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb @@ -39,7 +39,7 @@ dependencies = [ start_dir = 'cpp' # see https://arrow.apache.org/docs/developers/python.html -configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " @@ -48,7 +48,7 @@ local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfi local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " -local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} @@ -61,6 +61,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb index 6f01b9c72ba4..9c2d0b80319a 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb @@ -39,7 +39,7 @@ dependencies = [ start_dir = 'cpp' # see https://arrow.apache.org/docs/developers/python.html -configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " configopts += "-DZSTD_ROOT=$EBROOTZSTD " @@ -50,7 +50,7 @@ local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pysh local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " -local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} @@ -63,6 +63,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb index 84ee66a73e28..19aac4c1a50e 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb @@ -39,7 +39,7 @@ dependencies = [ start_dir = 'cpp' # see https://arrow.apache.org/docs/developers/python.html -configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON " configopts += "-DZSTD_ROOT=$EBROOTZSTD " @@ -50,7 +50,7 @@ local_install_pyarrow_cmds += "export PYTHONPATH=%(installdir)s/lib/python%(pysh local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && export XDG_CACHE_HOME=$TMPDIR && " local_install_pyarrow_cmds += "sed -i 's/numpy==[0-9.]*/numpy/g' pyproject.toml && " local_install_pyarrow_cmds += "Python3_ROOT_DIR=$EBROOTPYTHON " -local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "PYARROW_WITH_DATASET=1 PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} @@ -63,6 +63,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2022a.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2022a.eb new file mode 100644 index 000000000000..12bc8838f20e --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'ArviZ' +version = '0.12.1' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy, scipy, pandas + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + ('xarray-einstats', '0.3.0', { + 'checksums': ['81217c145218479327469f1669f34763b7e149ed6789fd596cc90ff2d772098e'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['57d80eacc51909f18e6ab63c96a6b02227c3b077c5ffa406d5f4dabe03b8f019'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-intel-2022a.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-intel-2022a.eb new file mode 100644 index 000000000000..365dbb5575c0 --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-intel-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'ArviZ' +version = '0.12.1' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy, scipy, pandas + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + ('xarray-einstats', '0.3.0', { + 'checksums': ['81217c145218479327469f1669f34763b7e149ed6789fd596cc90ff2d772098e'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['57d80eacc51909f18e6ab63c96a6b02227c3b077c5ffa406d5f4dabe03b8f019'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb index 4b2755dce8d4..ebebe1b79cb4 100644 --- a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb +++ b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb @@ -41,8 +41,8 @@ exts_default_options = { # fix hardcoded paths in setup.py _ext_boost_paths = ('$EBROOTBOOST/include', '$EBROOTBOOST/lib') -_ext_fix_paths = 'sed -i "s|= locate_boost()|= \\\"%s\\\", \\\"%s\\\"|" setup.py && ' % _ext_boost_paths -_ext_fix_paths += "sed -i 's|\.\./\.\./src|%%(builddir)s/%%(name)s/%s-%%(version)s/src|g' setup.py && " % name +_ext_fix_paths = r'sed -i "s|= locate_boost()|= \"%s\", \"%s\"|" setup.py && ' % _ext_boost_paths +_ext_fix_paths += r"sed -i 's|\.\./\.\./src|%%(builddir)s/%%(name)s/%s-%%(version)s/src|g' setup.py && " % name exts_list = [ ('vina', version, { diff --git a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb index 2a8e3660e44d..e704afbbe62f 100644 --- a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb +++ b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb @@ -41,8 +41,8 @@ exts_default_options = { # fix hardcoded paths in setup.py _ext_boost_paths = ('$EBROOTBOOST/include', '$EBROOTBOOST/lib') -_ext_fix_paths = 'sed -i "s|= locate_boost()|= \\\"%s\\\", \\\"%s\\\"|" setup.py && ' % _ext_boost_paths -_ext_fix_paths += "sed -i 's|\.\./\.\./src|%%(builddir)s/%%(name)s/%s-%%(version)s/src|g' setup.py && " % name +_ext_fix_paths = r'sed -i "s|= locate_boost()|= \"%s\", \"%s\"|" setup.py && ' % _ext_boost_paths +_ext_fix_paths += r"sed -i 's|\.\./\.\./src|%%(builddir)s/%%(name)s/%s-%%(version)s/src|g' setup.py && " % name exts_list = [ ('vina', version, { diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4e315d3a24c4 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ff89d29e31a3 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..80a6cff18b1a --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317.eb new file mode 100644 index 000000000000..7621956c2f00 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317.eb @@ -0,0 +1,21 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = SYSTEM + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a9701a121171 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.3-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.8.3' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '6.0.2', { + 'checksums': ['5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013'], + }), + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + ('yarl', '1.8.1', { + 'checksums': ['af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf'], + }), + ('frozenlist', '1.3.3', { + 'checksums': ['58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + (name, version, { + 'checksums': ['3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269'], + }), + ('aiohttp-jinja2', '1.5', { + 'checksums': ['7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b'], + }), + ('hiredis', '2.0.0', { + 'checksums': ['81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a'], + }), + ('aioredis', '2.0.1', { + 'checksums': ['eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('aiohttp-session', '2.12.0', { + 'checksums': ['0ccd11a7c77cb9e5a61f4daacdc9170d561112f9cfaf9e9a2d9867c0587d1950'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..a96a6a054dd9 --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.8' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] + +dependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..ae379c9ac316 --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.8' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] + +dependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1476c3783663 --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.8' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['ftp://ftp.alsa-project.org/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] + +dependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-11.2.0.eb b/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-11.2.0.eb new file mode 100644 index 000000000000..a8295a1fee13 --- /dev/null +++ b/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'angsd' +version = '0.940' + +homepage = 'http://www.popgen.dk/angsd' +description = """Program for analysing NGS data.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'ANGSD' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['73b43eb553892721c7d5db5d6d883a17074ee4e07536a32871c3b1ac5f701ad7'] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('HTSlib', '1.14'), +] + +buildopts = "HTSSRC=systemwide" + +files_to_copy = [ + (['angsd', 'misc/supersim', 'misc/thetaStat', 'misc/realSFS', 'misc/msToGlf', + 'misc/smartCount', 'misc/printIcounts', 'misc/contamination', 'misc/splitgl', + 'misc/NGSadmix', 'misc/contamination2', 'misc/haploToPlink', 'misc/ngsPSMC', + 'misc/ibs'], 'bin'), + 'doc', +] + +sanity_check_paths = { + 'files': ['bin/angsd'], + 'dirs': ['doc'], +} + +sanity_check_commands = ["angsd --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.8.0-foss-2022a.eb b/easybuild/easyconfigs/a/anndata/anndata-0.8.0-foss-2022a.eb new file mode 100644 index 000000000000..38ef7f588ea4 --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.8.0-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'anndata' +version = '0.8.0' + +homepage = 'https://github.com/scverse/anndata' +description = """anndata is a Python package for handling annotated data matrices in memory and on disk, + positioned between pandas and xarray""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + (name, version, { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["natsort --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.1.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..710f53f822e4 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.4-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.1.4' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b8d5eeb4caf892790ff1aa8ccef442a84187986aeab4da29417c9fe35532d94c'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +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.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8e514adf7c0f --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.2.0' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6aaba5ebdb5c3633c400d8c221a6a18716da0c64b367a8509f4217b22e91a5f5'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from archspec.cpu import host; print(host())'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..896c62218854 --- /dev/null +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'argtable' +version = '2.13' + +homepage = 'http://argtable.sourceforge.net/' +description = """ Argtable is an ANSI C library for parsing GNU style + command line options with a minimum of fuss. """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%s%s.tar.gz' % (name, version.replace('.', '-'))] +checksums = ['8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['include/argtable2.h', 'lib/libargtable2.%s' % SHLIB_EXT, 'lib/libargtable2.a'], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022a.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022a.eb new file mode 100644 index 000000000000..7aba9e12ea2f --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022a.eb @@ -0,0 +1,38 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = "3.8.0" + +homepage = 'https://github.com/opencollab/arpack-ng' +description = """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Eigen', '3.4.0') +] + +preconfigopts = "sh bootstrap && " +configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ["lib64/libarpack.la", "lib64/libarpack.%s" % SHLIB_EXT, + "lib64/libparpack.la", "lib64/libparpack.%s" % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022b.eb new file mode 100644 index 000000000000..2cfbadb05b11 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022b.eb @@ -0,0 +1,35 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = '3.8.0' + +homepage = 'https://github.com/opencollab/arpack-ng' +description = """ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), + ('Eigen', '3.4.0') +] + +preconfigopts = "sh bootstrap && " +configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['lib64/libarpack.la', 'lib64/libarpack.%s' % SHLIB_EXT, + 'lib64/libparpack.la', 'lib64/libparpack.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb new file mode 100644 index 000000000000..dfe97712e3bf --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '11.0.0.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/arrow' +description = "R interface to the Apache Arrow C++ library" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/arrow', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages +] +sources = ['arrow_%(version)s.tar.gz'] +checksums = ['eb939471f5f4218e6cfd62f58ccd2a0a5283d4a19a2902741c7fb25e2f016eaf'] + +dependencies = [ + ('R', '4.2.2'), + ('Arrow', '11.0.0'), +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/astro-tulips/astro-tulips-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/a/astro-tulips/astro-tulips-1.0.1-foss-2022a.eb new file mode 100644 index 000000000000..9f7a5720721f --- /dev/null +++ b/easybuild/easyconfigs/a/astro-tulips/astro-tulips-1.0.1-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'astro-tulips' +version = '1.0.1' + +homepage = 'https://astro-tulips.readthedocs.io/en/latest/installation.html' +description = """tulips creates diagrams of the structure and evolution of stars. +It creates plots and movies based on output from the MESA stellar evolution code""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('astropy', '5.1.1'), + ('IPython', '8.5.0'), + ('FFmpeg', '4.4.2'), +] + +exts_list = [ + ('mesaPlot', '1.1.0', { + 'modulename': 'mesaPlot', + 'checksums': ['25939830eb94ba192e8927175fa9524ed56645e596c96532c844c951cc4d6153'], + }), + ('colorspacious', '1.1.2', { + 'checksums': ['5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618'], + }), + ('e13tools', '0.9.6', { + 'checksums': ['1c6eab60825a644e4a47f65dc692c0474552c5f0180f2d5a7fc5730e2954d0f5'], + }), + ('cmasher', '1.6.3', { + 'checksums': ['242e206e58ad6115ff0a5a5405a1ddae80efd1cb03a06dc23db44e710e7c9f23'], + }), + ('widgetsnbextension', '4.0.1', { + 'checksums': ['bfa01945156f2bfd9a386bfc51b54ec5bfa26006d26bb75e5351e226f870fafb'], + }), + ('ipywidgets', '8.0.4', { + 'checksums': ['c0005a77a47d77889cafed892b58e33b4a2a96712154404c6548ec22272811ea'], + }), + ('imageio-ffmpeg', '0.4.8', { + 'checksums': ['fdaa05ad10fe070b7fa8e5f615cb0d28f3b9b791d00af6d2a11e694158d10aa9'], + }), + (name, version, { + 'modulename': 'tulips', + 'sources': ['astro_tulips-%(version)s-py3-none-any.whl'], + 'checksums': ['c13ec2a3048b51f108b9470cd7c3f73d0bc9f908b46492ad07115903b6fc1945'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.2.1-foss-2020b.eb b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-foss-2020b.eb new file mode 100644 index 000000000000..879b5774c38f --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-foss-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.2.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '1.7.3', { + 'modulename': 'erfa', + 'checksums': ['6cf3a645d63e0c575a357797903eac5d2c6591d7cdb89217c8c4d39777cf18cb'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['ed483e472241153daec45f4b0c318c2c63d9f47305b78e6e63d32fc388c18427'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/astropy'], +} + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.2.1-intel-2020b.eb b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-intel-2020b.eb new file mode 100644 index 000000000000..878eb8ce9fb7 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-intel-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.2.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '1.7.3', { + 'modulename': 'erfa', + 'checksums': ['6cf3a645d63e0c575a357797903eac5d2c6591d7cdb89217c8c4d39777cf18cb'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['ed483e472241153daec45f4b0c318c2c63d9f47305b78e6e63d32fc388c18427'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/astropy'], +} + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.1.1-foss-2022a.eb b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-foss-2022a.eb new file mode 100644 index 000000000000..1e3d64025d1b --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'astropy' +version = '5.1.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop a common +core package for Astronomy in Python and foster an ecosystem of interoperable +astronomy packages. + +The Astropy community is committed to supporting diversity and inclusion.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.1', { + 'modulename': 'erfa', + 'checksums': ['2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['ba4bd696af7090fd399b464c704bf27b5633121e461785edc70432606a94bd81'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.2.2-gfbf-2022b.eb b/easybuild/easyconfigs/a/astropy/astropy-5.2.2-gfbf-2022b.eb new file mode 100644 index 000000000000..16a331513362 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.2.2-gfbf-2022b.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'astropy' +version = '5.2.2' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop a common +core package for Astronomy in Python and foster an ecosystem of interoperable +astronomy packages. + +The Astropy community is committed to supporting diversity and inclusion.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.3', { + 'modulename': 'erfa', + 'checksums': ['d77fbbfa58350c194ccb99e5d93aa05d3c2b14d5aad8b662d93c6ad9fff41f39'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['e6a9e34716bda5945788353c63f0644721ee7e5447d16b1cdcb58c48a96b0d9c'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..16b32ffb2272 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('DBus', '1.15.2'), + ('at-spi2-core', '2.46.0'), + ('libxml2', '2.10.3'), + ('ATK', '2.38.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.46.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.46.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b9f052b08264 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.46.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.46.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['aa0c86c79f7a8d67bae49a5b7a5ab08430c608cffe6e33bf47a72f41ab03c3d0'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('DBus', '1.15.2'), + ('X11', '20221110'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..67c44f60b2a7 --- /dev/null +++ b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'attrdict3' +version = '2.0.2' + +homepage = 'https://github.com/pirofti/AttrDict3' +description = """AttrDict is a Python library that provides mapping objects that allow their elements + to be accessed both as keys and as attributes.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'attrdict', + 'checksums': ['004c171ca1120cc1755701db99d7fa4944afb1e68950434efdaa542513335fe8'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/avro-cpp/avro-cpp-1.11.1-GCC-11.2.0.eb b/easybuild/easyconfigs/a/avro-cpp/avro-cpp-1.11.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..8ef5d09f68e8 --- /dev/null +++ b/easybuild/easyconfigs/a/avro-cpp/avro-cpp-1.11.1-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'avro-cpp' +version = '1.11.1' + +homepage = 'https://avro.apache.org' +description = """C++ implementation of Avro data serialization system.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/apache/avro/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['599f96bb405f72a35154b2477caa6254d723bb4e3f6a0e54e9ae540664321752'] + +builddependencies = [ + ('CMake', '3.22.1'), +] +dependencies = [ + ('Boost', '1.77.0'), +] + +srcdir = "lang/c++" + +generator = "Unix Makefiles" +separate_build_dir = True + +sanity_check_paths = { + 'files': ["bin/avrogencpp"], + 'dirs': ["lib"], +} + +sanity_check_commands = ["avrogencpp -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/BA3-SNPS-autotune/BA3-SNPS-autotune-2.1.2-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BA3-SNPS-autotune/BA3-SNPS-autotune-2.1.2-GCC-11.3.0.eb new file mode 100644 index 000000000000..084df03eca7a --- /dev/null +++ b/easybuild/easyconfigs/b/BA3-SNPS-autotune/BA3-SNPS-autotune-2.1.2-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'BA3-SNPS-autotune' +version = '2.1.2' + +homepage = 'https://github.com/stevemussmann/BA3-SNPS-autotune' +description = """This program will automatically tune mixing parameters for BA3-SNPs by implementing +a binary search algorithm and conducting short exploratory runs of BA3-SNPS. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/stevemussmann/BA3-SNPS-autotune/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c0d9f80c5f08aa37724f86a847fed551c63dcd8bd318709970e1808d540d900e'] + +dependencies = [ + ('BayesAss3-SNPs', '1.1'), + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['BA3-SNPS-autotune.py'], + 'dirs': [''], +} + +sanity_check_commands = ['BA3-SNPS-autotune.py -h'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-11.3.0.eb new file mode 100644 index 000000000000..e72ccff30e4b --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'BBMap' +version = '39.01' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['98608da50130c47f3abd095b889cc87f60beeb8b96169b664bc9d849abe093e6'] + +dependencies = [('Java', '11', '', SYSTEM)] + +prebuildopts = 'cd jni && ' + +local_suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % local_suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh', 'jni/libbbtoolsjni.%s' % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the" +modloadmsg += " compiled jni C code.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.17-GCC-12.2.0.eb new file mode 100644 index 000000000000..d428e6f6f1cf --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.17-GCC-12.2.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.17' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['01f75d8e701d85b2c759172412009cc04f29b61616ace2fa75116123de4596cc'] + +dependencies = [ + ('zlib', '1.2.12'), + ('HTSlib', '1.17'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['libexec/bcftools'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDOPS/BEDOPS-2.4.41-foss-2021b.eb b/easybuild/easyconfigs/b/BEDOPS/BEDOPS-2.4.41-foss-2021b.eb new file mode 100644 index 000000000000..2a76d9d7b501 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDOPS/BEDOPS-2.4.41-foss-2021b.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# updated: Denis Kristak (INUITS) + +easyblock = 'MakeCp' + +name = 'BEDOPS' +version = '2.4.41' + +homepage = 'http://%(namelower)s.readthedocs.io/en/latest/index.html' +description = """BEDOPS is an open-source command-line toolkit that performs highly efficient and + scalable Boolean and other set operations, statistical calculations, archiving, conversion and + other management of genomic data of arbitrary scale. Tasks can be easily split by chromosome for + distributing whole-genome analyses across a computational cluster.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3b868c820d59dd38372417efc31e9be3fbdca8cf0a6b39f13fb2b822607d6194'] + +# else build of jansson library fails with: 'configure: error: C compiler cannot create executables' +prebuildopts = 'unset LIBS && ' +# builds all variants and copies executables to bin directory +buildopts = ' all && make install' +# actually used variant is linked to via symlinks +keepsymlinks = True + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': [ + 'bin/%s' % x for x in ['bam2bed', '%(namelower)s', 'convert2bed', 'unstarch'] + ], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.3.0.eb new file mode 100644 index 000000000000..d63b37e10b13 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.3.0.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 The Cyprus Institute +# Authors:: Andreas Panteli , Thekla Loizou +# Contributors:: Alex Domingo (Vrije Universiteit Brussel) +# License:: MIT/GPL +# +## + +name = 'BLAT' +version = '3.7' + +homepage = 'https://genome.ucsc.edu/goldenPath/help/blatSpec.html' +description = """BLAT on DNA is designed to quickly find sequences of 95% and +greater similarity of length 25 bases or more.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://genome-test.gi.ucsc.edu/~kent/src/'] +sources = ['%%(namelower)sSrc%s.zip' % ''.join(version.split('.'))] +patches = ['BLAT-%(version)s_mend-tests.patch'] +checksums = [ + {'blatSrc37.zip': '88ee2b272d42ab77687c61d200b11f1d58443951069feb7e10226a2509f84cf2'}, + {'BLAT-3.7_mend-tests.patch': '1f42c7fadf7676a5cc3a2016f70089c3541aa1d53816cf86072682c44cf311a6'}, +] + +# BLAT relies on a bundled old version of HTSlib. We use the bundled library +# because it is statically linked and the newer HTSlib in this toolchain is not +# API compatible with it. +dependencies = [ + ('freetype', '2.12.1'), + ('libiconv', '1.17'), + ('libpng', '1.6.37'), + ('MariaDB', '10.9.3'), + ('OpenSSL', '1.1', '', SYSTEM), + ('util-linux', '2.38'), + ('zlib', '1.2.12'), +] + +pretestopts = 'PATH="%(builddir)s/blatSrc/bin:$PATH"' +runtest = 'test' + +_blat_bins = ["blat", "faToNib", "faToTwoBit", "gfClient", "gfServer", "nibFrag", "pslPretty", + "pslReps", "pslSort", "twoBitInfo", "twoBitToFa"] + +files_to_copy = [(["bin/%s" % x for x in _blat_bins] + ["webBlat/webBlat"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in _blat_bins + ["webBlat"]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7_mend-tests.patch b/easybuild/easyconfigs/b/BLAT/BLAT-3.7_mend-tests.patch new file mode 100644 index 000000000000..fccf9a92551c --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7_mend-tests.patch @@ -0,0 +1,48 @@ +Create suite of test in main makefile. +Remove tests relying on pslCheck which is distributed elsewhere. +Fix executable paths in the tests. +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru blatSrc.orig/blat/test/makefile blatSrc/blat/test/makefile +--- blatSrc.orig/blat/test/makefile 2021-07-07 01:07:21.000000000 +0200 ++++ blatSrc/blat/test/makefile 2023-02-22 16:08:08.870093000 +0100 +@@ -1,8 +1,6 @@ + all: tThrowback tIntronMax + + tThrowback: +- blat -verbose=0 throwback/target1.fa throwback/query1.fa throwback/test.psl +- pslCheck -verbose=0 throwback/test.psl + blat -verbose=0 v29skips/ex1_database.fa v29skips/ex1_query.fa v29skips/ex1.psl + diff v29skips/ex1_reference.psl v29skips/ex1.psl + blat -verbose=0 v29skips/ex2_database.fa v29skips/ex2_query.fa v29skips/ex2.psl +diff -Nru blatSrc.orig/gfServer/makefile blatSrc/gfServer/makefile +--- blatSrc.orig/gfServer/makefile 2021-12-29 20:13:24.000000000 +0100 ++++ blatSrc/gfServer/makefile 2023-02-22 16:08:34.347451000 +0100 +@@ -6,10 +6,10 @@ + + test:: + ${MKDIR} tests/output +- ${DESTBINDIR}/${A} direct tests/input/mCrea.mrna tests/input/hCreaGeno.nib \ ++ ${A} direct tests/input/mCrea.mrna tests/input/hCreaGeno.nib \ + tests/input/mCreaGeno.nib > tests/output/testNib.out + diff tests/expected/testNib.out tests/output/testNib.out +- ${DESTBINDIR}/${A} direct tests/input/mCrea.mrna tests/input/creaGeno.2bit \ ++ ${A} direct tests/input/mCrea.mrna tests/input/creaGeno.2bit \ + >tests/output/testTwoBit.out + diff tests/expected/testTwoBit.out tests/output/testTwoBit.out + cd tests && ./testProtNib +diff -Nru blatSrc.orig/makefile blatSrc/makefile +--- blatSrc.orig/makefile 2022-02-01 00:14:03.000000000 +0100 ++++ blatSrc/makefile 2023-02-22 16:22:15.992962000 +0100 +@@ -15,5 +15,12 @@ + cd utils/twoBitInfo && $(MAKE) + cd webBlat && $(MAKE) + ++test:: ++ cd blat && ${MAKE} test ++ cd gfServer && ${MAKE} test ++ cd utils/faToTwoBit && ${MAKE} test ++ cd utils/twoBitInfo && ${MAKE} test ++ cd utils/twoBitToFa && ${MAKE} test ++ + clean: + rm -f */*.o */*/*.o lib/*/*.a diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb new file mode 100644 index 000000000000..3fdd482cf5a1 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.9.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_disable_power9_kernels.patch', + '%(name)s-%(version)s_enable_ppc_autodetect.patch', +] +checksums = [ + '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308', # 0.9.0.tar.gz + # BLIS-0.9.0_disable_power9_kernels.patch + 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279', + # BLIS-0.9.0_enable_ppc_autodetect.patch + 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328', +] +builddependencies = [ + ('Python', '3.10.8', '-bare'), + ('Perl', '5.36.0'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2021b.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2021b.eb new file mode 100644 index 000000000000..a1aa7296bbc2 --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2021b.eb @@ -0,0 +1,41 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'BRAKER' +version = '2.1.6' + +homepage = 'https://github.com/Gaius-Augustus/BRAKER' +description = """BRAKER is a pipeline for fully automated prediction of protein coding genes with GeneMark-ES/ET + and AUGUSTUS in novel eukaryotic genomes.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Gaius-Augustus/BRAKER/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eef3c4037364472988a010322cbd79b5171158f9c016f4383809adade4866c06'] + +dependencies = [ + ('Perl', '5.34.0'), + ('AUGUSTUS', '3.4.0'), + ('GeneMark-ET', '4.71'), + ('BamTools', '2.5.2'), + ('SAMtools', '1.14'), + ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', SYSTEM), + ('spaln', '2.4.12'), + ('Exonerate', '2.4.0'), + ('BLAST+', '2.12.0'), + ('Biopython', '1.79'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] + +sanity_check_paths = { + 'files': ['scripts/align2hints.pl', 'scripts/braker.pl', 'scripts/findGenesInIntrons.pl', 'scripts/startAlign.pl'], + 'dirs': ['docs', 'example'], +} + +sanity_check_commands = ["braker.pl --help"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2022a.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2022a.eb new file mode 100644 index 000000000000..f6a9bc03101b --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2022a.eb @@ -0,0 +1,47 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'BRAKER' +version = '2.1.6' + +homepage = 'https://github.com/Gaius-Augustus/BRAKER' +description = """BRAKER is a pipeline for fully automated prediction of protein coding genes with GeneMark-ES/ET + and AUGUSTUS in novel eukaryotic genomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Gaius-Augustus/BRAKER/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['BRAKER-%(version)s_fix-incorrect-ids.patch'] +checksums = [ + {'v2.1.6.tar.gz': 'eef3c4037364472988a010322cbd79b5171158f9c016f4383809adade4866c06'}, + {'BRAKER-2.1.6_fix-incorrect-ids.patch': '2b219de070d109637a2660a456a1f9ced48c58197385e3b3924ae90c84b41d41'}, +] + +dependencies = [ + ('Perl', '5.34.1'), + ('AUGUSTUS', '3.5.0'), + ('GeneMark-ET', '4.71'), + ('BamTools', '2.5.2'), + ('SAMtools', '1.16.1'), + ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', SYSTEM), + ('spaln', '2.4.13f'), + ('Exonerate', '2.4.0'), + ('BLAST+', '2.13.0'), + ('Biopython', '1.79'), + ('DIAMOND', '2.1.0'), + ('CDBtools', '0.99'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] + +sanity_check_paths = { + 'files': ['scripts/align2hints.pl', 'scripts/braker.pl', 'scripts/findGenesInIntrons.pl', 'scripts/startAlign.pl'], + 'dirs': ['docs', 'example'], +} + +sanity_check_commands = ["braker.pl --help"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6_fix-incorrect-ids.patch b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6_fix-incorrect-ids.patch new file mode 100644 index 000000000000..3c9df7a402df --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6_fix-incorrect-ids.patch @@ -0,0 +1,44 @@ +From f38630c1cad3e11b525f84d517c7949cb4c2d7eb Mon Sep 17 00:00:00 2001 +From: Katharina Hoff +Date: Mon, 19 Apr 2021 16:34:57 +0200 +Subject: [PATCH] fixing part of the issue + https://github.com/Gaius-Augustus/BRAKER/issues/354 where gene and transcript + line have incorrect ids + +--- + scripts/merge_transcript_sets.pl | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/scripts/merge_transcript_sets.pl b/scripts/merge_transcript_sets.pl +index 04f6c3e..5cfd6c0 100755 +--- a/scripts/merge_transcript_sets.pl ++++ b/scripts/merge_transcript_sets.pl +@@ -83,14 +83,15 @@ + my $txid; + if($line =~ m/transcript_id/){ + $line =~ m/transcript_id "([^"]+)";/; ++ + $txid = $1; + push(@{$txid_to_elements{$txid}}, $line); + foreach(@store_for_txid){ +- push(@{$txid_to_elements{$txid}}, $_) ++ push(@{$txid_to_elements{$txid}}, $_); + } + @store_for_txid = (); + }else{ +- $line =~ s/\t([\t]+)$/\tfile_${file_counter}_$1/; ++ $line =~ s/\t([^\t]+)$/\tfile_${file_counter}_$1/; + push(@store_for_txid, $line); + } + # currently, UTR features are ignored +@@ -111,9 +112,8 @@ + # always keep the first occuring transcript structure, only add from other gene sets if it has not been in the set, yet + # this might discard alternative UTR splicing isoforms at present + while (my ($key, $value) = each (%txid_to_struct_local)){ +- #print "key is $key and value is $value\n"; ++ print "key is $key and value is $value\n"; + if(not(defined($uniq_struct_to_txid{$value}))){ +- #print "adding transcript\n"; + $uniq_struct_to_txid{$value} = $key; + } + } diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.5-foss-2022a.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.5-foss-2022a.eb new file mode 100644 index 000000000000..bc57db4e6b6f --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.5-foss-2022a.eb @@ -0,0 +1,56 @@ +# Updated by: Pavel Grochal (INUITS) +# Updated by: Sebastien Moretti (SIB) + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '5.4.5' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3a852d3cb0ad4132af226279d1712b327a6638697fdf31df66cd6c8dda2417f7'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for pandas + ('R', '4.2.1'), # for R and ggplot2 + ('Biopython', '1.79'), + ('BLAST+', '2.13.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.5.0'), + ('SEPP', '4.5.1'), + ('MetaEuk', '6'), + ('BBMap', '39.01'), +] + +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 --cpu %(parallel)s --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --cpu %(parallel)s --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..498ebbb605e4 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Cyprus Institute / CaSToRC, Uni.Lu/LCSB, NTUA +# Authors:: George Tsouloupas , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Version >= 0.7.15 +# Author: Adam Huffman +# The Francis Crick Institute +# +# Note that upstream development is mainly at: https://github.com/lh3/bwa +## + +name = 'BWA' +version = '0.7.17' + +homepage = 'http://bio-bwa.sourceforge.net/' + +description = """ + Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively + short nucleotide sequences against a long reference sequence such as the human + genome. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('zlib', '1.2.12'), +] + +# Allow use of x86 intrinsics on PPC +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon -DNO_WARN_X86_INTRINSICS" && ' +prebuildopts += "sed -i 's|^CC=|#CC=|g' Makefile && " +prebuildopts += "sed -i 's|^CFLAGS=|#CFLAGS=|g' Makefile && " +prebuildopts += "sed -i 's|^LIBS=|LIBS= $(LDFLAGS) |g' Makefile && " + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bader/Bader-1.04-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bader/Bader-1.04-GCC-11.2.0.eb new file mode 100644 index 000000000000..20b55c3aed9f --- /dev/null +++ b/easybuild/easyconfigs/b/Bader/Bader-1.04-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'Bader' +version = '1.04' + +homepage = 'https://theory.cm.utexas.edu/henkelman/code/bader/' +description = "Bader Charge Analysis" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['http://theory.cm.utexas.edu/henkelman/code/bader/download/v%(version)s'] +sources = [{'download_filename': 'bader.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f20a0a021157d911bea06666911763b737c4ff38b39e793b8560f940fe391b8e'] + +buildopts = ' -f makefile.lnx_ifort FC=$FC FFLAGS="$FFLAGS" ' + +parallel = 1 + +files_to_copy = [ + (['bader'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/bader'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BayesAss3-SNPs/BayesAss3-SNPs-1.1-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BayesAss3-SNPs/BayesAss3-SNPs-1.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..31f80ed92fce --- /dev/null +++ b/easybuild/easyconfigs/b/BayesAss3-SNPs/BayesAss3-SNPs-1.1-GCC-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'BayesAss3-SNPs' +version = '1.1' + +homepage = 'https://github.com/stevemussmann/BayesAss3-SNPs' +description = """ +Modification of BayesAss 3.0.4 to allow handling of large SNP datasets generated via methods such as RADseq protocols. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +source_urls = ['https://github.com/stevemussmann/BayesAss3-SNPs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7b983796402ce055504b73b96df09a317e6af6fac98766ff6adeb374b800c139'] + +dependencies = [ + ('GSL', '2.7'), + ('Boost', '1.79.0'), +] + +files_to_copy = [ + (['BA3-SNPS'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/BA3-SNPS'], + 'dirs': [''], +} + +sanity_check_commands = ['BA3-SNPS --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Beagle/Beagle-5.4.22Jul22.46e-Java-11.eb b/easybuild/easyconfigs/b/Beagle/Beagle-5.4.22Jul22.46e-Java-11.eb new file mode 100644 index 000000000000..d2afe2dfd9a8 --- /dev/null +++ b/easybuild/easyconfigs/b/Beagle/Beagle-5.4.22Jul22.46e-Java-11.eb @@ -0,0 +1,38 @@ +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +# +easyblock = "JAR" + +name = 'Beagle' +_revision = '22Jul22.46e' +version = '5.4.' + _revision +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://faculty.washington.edu/browning/beagle/beagle.html' +description = """Beagle is a software package for phasing genotypes and for imputing + ungenotyped markers.""" + +toolchain = SYSTEM + +source_urls = ['https://faculty.washington.edu/browning/beagle'] +sources = ['%%(namelower)s.%s.jar' % _revision] +checksums = ['57226e441f4da7104df139d022ed24ad9804fa72cf754e45d04f5658dcef242b'] + +dependencies = [('Java', '11')] + +# add beagle.jar +postinstallcmds = ["cd %%(installdir)s && ln -s %%(namelower)s.%s.jar %%(namelower)s.jar" % _revision] + +sanity_check_paths = { + 'files': ['%%(namelower)s.%s.jar' % _revision, '%(namelower)s.jar'], + 'dirs': [] +} + +modloadmsg = """ +To execute %(name)s-%(version)s run: java -jar ${EBROOTBEAGLE}/%(namelower)s.jar +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Beast/Beast-2.7.3-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Beast/Beast-2.7.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..b2242c074cfe --- /dev/null +++ b/easybuild/easyconfigs/b/Beast/Beast-2.7.3-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'Tarball' + +name = 'Beast' +version = '2.7.3' + +homepage = 'https://beast2.org' +description = """ BEAST is a cross-platform program for Bayesian MCMC analysis of molecular + sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using + strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies + but is also a framework for testing evolutionary hypotheses without conditioning on a single + tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted + proportional to its posterior probability. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +_archs = {'x86_64': 'x86', 'aarch64': 'aarch64'} + +source_urls = ['https://github.com/CompEvol/beast2/releases/download/v%(version)s/'] +sources = ['BEAST.v%%(version)s.Linux.%s.tgz' % _archs[ARCH]] +checksums = [{ + 'BEAST.v%(version)s.Linux.x86.tgz': '234af8572e827c1c856f0e1ad46e61fa3b3b875c6b5d246f67839ec7c1bf40b5', + 'BEAST.v%(version)s.Linux.aarch64.tgz': '7353703f178b2f0e440ca31cd93f136a9fe65708cd8a621a8045fc63ca538f22', +}] + +dependencies = [ + ('Java', '11', '', SYSTEM), + # this is not mandatory but beagle-lib is recommended by developers + ('beagle-lib', '4.0.0'), +] + +sanity_check_paths = { + 'files': ['bin/beast'], + 'dirs': [] +} + +sanity_check_commands = ["beast -help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.11.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.11.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..33dedbbcb7d2 --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.11.1-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.11.1' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39') +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hatchling', '1.12.2', { + 'checksums': ['8a6d719d96653a0f3901072b12710c9c3cc934f9061b443775c6789b45333495'], + }), + ('soupsieve', '2.3.2.post1', { + 'checksums': ['fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.2.0.eb new file mode 100755 index 000000000000..89b75450d94e --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..840b2a8d6faa --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2022b.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2022b.eb new file mode 100644 index 000000000000..f8464fcb939c --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2022b.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.81' + +homepage = 'https://www.biopython.org' +description = """Biopython is a set of freely available tools for biological + computation written in Python by an international team of developers. It is + a distributed collaborative effort to develop Python libraries and + applications which address the needs of current and future work in + bioinformatics. """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2cf38112b6d8415ad39d6a611988cd11fb5f33eb09346666a87263beba9614e0'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# Run only tests that don't require internet connection +runtest = 'python setup.py test --offline' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/Bio', + 'lib/python%(pyshortver)s/site-packages/BioSQL'] +} + +# extra check to ensure numpy dependency is available +sanity_check_commands = ["python -c 'import Bio.MarkovModel'"] + +options = {'modulename': 'Bio'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bismark/Bismark-0.24.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bismark/Bismark-0.24.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..29cad67bb976 --- /dev/null +++ b/easybuild/easyconfigs/b/Bismark/Bismark-0.24.0-GCC-11.3.0.eb @@ -0,0 +1,41 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2014 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +# Updated to 0.23.1 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Bismark' +version = '0.24.0' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/bismark/' +description = "A tool to map bisulfite converted sequence reads and determine cytosine methylation states" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/FelixKrueger/Bismark/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dd58957bd6eac44f3a6e74e9a5ef69c8d19da0e0b64feb7d019a994fe6087d7d'] + +dependencies = [ + ('Perl', '5.34.1'), + ('Bowtie2', '2.4.5'), + ('SAMtools', '1.16.1'), +] + +sanity_check_commands = ['bismark --help'] + +sanity_check_paths = { + 'files': ['bismark', 'bismark2bedGraph', 'bismark2report', 'bismark_genome_preparation', + 'bismark_methylation_extractor', 'coverage2cytosine', 'deduplicate_bismark'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.3.1-linux-x86_64-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/Blender/Blender-3.3.1-linux-x86_64-CUDA-11.7.0.eb new file mode 100644 index 000000000000..096a48791f5c --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.3.1-linux-x86_64-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.3.1' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['3089a485dd621785d7a702089aba72d07b8f733a362e901ec1449b9a379546f2'] + +dependencies = [ + ('CUDA', '11.7.0') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb new file mode 100644 index 000000000000..c0149a3b2ea9 --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.4.1' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['1497f83f93e9bbbde745422c795ed10fe15f92f5622b4421768f149fbe776981'] + +dependencies = [ + ('CUDA', '11.7.0') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.5.0-linux-x86_64-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/Blender/Blender-3.5.0-linux-x86_64-CUDA-11.7.0.eb new file mode 100644 index 000000000000..b63f52585f9b --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.5.0-linux-x86_64-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.5.0' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['a74d52822d5753a1ffb617ac764bbacc12a4a6dec4c2b91e90cc2935a40fff68'] + +dependencies = [ + ('CUDA', '11.7.0') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..a43fedf02715 --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Blitz++' +version = '1.0.2' + +homepage = 'https://github.com/blitzpp/blitz' + +description = """ + Blitz++ is a (LGPLv3+) licensed meta-template library for array manipulation + in C++ with a speed comparable to Fortran implementations, while preserving an + object-oriented interface +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [('https://github.com/blitzpp/blitz/archive/')] +sources = ['%(version)s.tar.gz'] +patches = ['blitz-%(version)s_pkgconfig.patch'] +checksums = [ + '500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2', # 1.0.2.tar.gz + 'd15fb397e75eb009809ecacdd7f2f154ff05e6586895f3b0511d0b53a6e3b9fe', # blitz-1.0.2_pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3') +] + +sanity_check_paths = { + 'files': ['lib64/libblitz.a', 'lib64/libblitz.%s' % SHLIB_EXT], + 'dirs': ['include/blitz/array', 'include/blitz/meta', + 'include/random', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022a.eb b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022a.eb new file mode 100644 index 000000000000..f1e3f55e80b4 --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'MakeCp' + +name = 'Block' +version = '1.5.3-20200525' +_commit = 'f95317b08043b7c531289576d59ad74a6d920741' + +homepage = 'https://sanshar.github.io/Block/' +description = """Block implements the density matrix renormalization group (DMRG) algorithm for +quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++11', 'pic': True} + +# Version 1.5 is a major rewrite of Block that was named at some point StackBlock +# sources are available in sanshar/StackBlock +# sources at sanshar/Block@b0e3671aad and pyscf/Block@db27636b76 correspond to version 1.1.1 +source_urls = ['https://github.com/sanshar/StackBlock/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': '%(version)s.tar.gz'}] +patches = [ + 'Block-1.5.3_use-eb-environment.patch', + 'Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch', +] +checksums = [ + {'1.5.3-20200525.tar.gz': '8d793c5e460d7747a0adcb06ce4b457c6750cf2d42cead1d060db8b44643c3b1'}, + {'Block-1.5.3_use-eb-environment.patch': '7f3e8a52f28d251441d20dfde1f9cb8cdc0c34216defab61cc6980e540a6cf60'}, + {'Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch': + 'f53f1f88cb7b12ab38d1313f93a9bbd31c745dca1beca7a8d51d00e0ae4e762f'}, +] + +dependencies = [ + ('Boost.MPI', '1.79.0'), +] + +buildopts = [ + # Multi-threaded build (block.spin_adapted-serial) + 'OPENMP="yes" EXECUTABLE="block.spin_adapted-serial"', + # MPI build (block.spin_adapted) + 'USE_MPI="yes"', +] + +files_to_copy = [(['block.spin_adapted*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/block.spin_adapted', 'bin/block.spin_adapted-serial'], + 'dirs': [], +} + +sanity_check_commands = [ + "block.spin_adapted-serial --version", + "%(mpi_cmd_prefix)s block.spin_adapted --version", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch b/easybuild/easyconfigs/b/Block/Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch new file mode 100644 index 000000000000..f0b74d8ec73b --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch @@ -0,0 +1,107 @@ +From ced3681cd8c4fe5e10f84d23973ed0e5ee4e0098 Mon Sep 17 00:00:00 2001 +From: Matthias Degroote +Date: Sat, 13 Mar 2021 15:49:28 +0100 +Subject: [PATCH] Remove old c++ MPI bindings + +--- input.C.orig 2023-01-07 01:14:17.074836000 +0100 ++++ input.C 2023-01-17 14:22:56.060651139 +0100 +@@ -24,7 +24,6 @@ + #include + #ifndef SERIAL + #include +-#include "mpi.h" + #endif + #include + #include "fiedler.h" +@@ -1862,7 +1861,7 @@ + } + #ifndef SERIAL + //wait for all procs to zero out the memory +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + #endif + v1.set_data() = static_cast(region.get_address()) + (oneIntegralMem+twoIntegralMem)*integralIndex; + v2.set_data() = static_cast(region.get_address()) + oneIntegralMem + (oneIntegralMem+twoIntegralMem)*integralIndex; +@@ -1930,16 +1929,16 @@ + } + + #ifndef SERIAL +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + long intdim = oneIntegralMem+twoIntegralMem; + long maxint = 26843540; //mpi cannot transfer more than these number of doubles + long maxIter = intdim/maxint; + for (int i=0; i(region.get_address()) + intdim*integralIndex; + vcc.set_data() = static_cast(region.get_address()) + oneIntegralMem + intdim*integralIndex; +@@ -2302,15 +2301,15 @@ + dumpFile.close(); + } + #ifndef SERIAL +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + long maxint = 26843540; //mpi cannot transfer more than these number of doubles + long maxIter = intdim/maxint; + for (int i=0; i(region.get_address()); + v2.set_data() = static_cast(region.get_address()) + oneIntegralMem; + vpt1.set_data() = static_cast(region.get_address()) + oneIntegralMem + twoIntegralMem; +@@ -2692,16 +2691,16 @@ + dumpFile.close(); + } + #ifndef SERIAL +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + long intdim = oneIntegralMem+twoIntegralMem+PerturboneIntegralMem; + long maxint = 26843540; //mpi cannot transfer more than these number of doubles + long maxIter = intdim/maxint; + for (int i=0; i= 1.56.0 + USE_BOOST56 = yes +@@ -35,7 +35,7 @@ + + #LAPACKBLAS = -lblas -llapack + #LAPACKBLAS = /usr/lib/liblapack.dylib /usr/lib/libblas.dylib +-LAPACKBLAS = ++LAPACKBLAS = ${LIBBLAS} + + # set if we will use MPI or OpenMP + USE_MPI = no +@@ -108,12 +108,12 @@ + MOLCAS_BLOCK= -DMOLCAS -fPIC + endif + +-FLAGS = -I${MKLFLAGS} -I$(INCLUDE1) -I$(INCLUDE2) -I$(NEWMATINCLUDE) -I$(BOOSTINCLUDE) -I$(MOLPROINCLUDE) \ ++FLAGS = $(CPPFLAGS) -I${MKLFLAGS} -I$(INCLUDE1) -I$(INCLUDE2) -I$(NEWMATINCLUDE) -I$(BOOSTINCLUDE) -I$(MOLPROINCLUDE) \ + -I$(HOME)/modules/generate_blocks/ -I$(HOME)/modules/onepdm -I$(HOME)/modules/twopdm/ \ + -I$(HOME)/modules/npdm -I$(HOME)/modules/two_index_ops -I$(HOME)/modules/three_index_ops -I$(HOME)/modules/four_index_ops -std=c++0x \ + -I$(HOME)/modules/ResponseTheory -I$(HOME)/modules/nevpt2 -I$(HOME)/molcas -I$(HOME)/modules/mps_nevpt + +-LIBS += -L$(NEWMATLIB) -lnewmat $(BOOSTLIB) $(LAPACKBLAS) $(MALLOC) ++LIBS := $(LDFLAGS) -L$(NEWMATLIB) -lnewmat $(BOOSTLIB) $(LAPACKBLAS) $(MALLOC) $(LIBS) -lrt + MPI_OPT = -DSERIAL + + +@@ -127,7 +127,7 @@ + #endif + endif + # Intel compiler +- OPT = -DNDEBUG -O2 -g -funroll-loops #-ipo ++ OPT = -DNDEBUG $(OPTFLAGS) -g -funroll-loops + # OPT = -g + # # Useful option to define a newer g++ binary if the default g++ is too old + # OPT += -gxx-name=g++-4.7 +--- newmat10/makefile.orig 2023-01-06 15:20:52.879226000 +0100 ++++ newmat10/makefile 2023-01-06 15:20:30.392463000 +0100 +@@ -1,6 +1,6 @@ + #CXX = g++ + $(info $(CXX)) +-CXXFLAGS = -fPIC -O2 -Wall ++#CXXFLAGS = -fPIC -O2 -Wall + + DIFF = ./sdiff + PRE = ./ diff --git a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..115e49c59acd --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['941016c4564bca662080bb01aea74f06630bd665e598c6f6967fd91b2e2e0bb6'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['include/blosc-export.h', 'include/blosc.h', 'lib/libblosc.a', + 'lib/libblosc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.4-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..7736eae49119 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.4-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.0.4' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['90c78edcc262759dd16d243141513310624bb4fda3d98ac34dcfb78255e151c1'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..585ddd2f44bb --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.4.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Blosc2/Blosc2-2.6.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.6.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1a7d1da3a1fd --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.6.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.6.1' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['514a793368093893c1a7cae030f7e31faca7f86465ae69dd576f256d8bf28c08'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/blosc2/blosc2-export.h', 'include/blosc2.h', 'lib/libblosc2.a', + 'lib/libblosc2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Bonnie++/Bonnie++-2.00a-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-2.00a-GCC-10.3.0.eb new file mode 100644 index 000000000000..6876b4e9f658 --- /dev/null +++ b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-2.00a-GCC-10.3.0.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +easyblock = 'ConfigureMake' + +name = 'Bonnie++' +version = '2.00a' + +homepage = 'https://www.coker.com.au/bonnie++' +description = """Enhanced performance Test of Filesystem I/O""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://www.coker.com.au/bonnie++/'] +sources = [SOURCELOWER_TGZ] +checksums = ['a8d33bbd81bc7eb559ce5bf6e584b9b53faea39ccfb4ae92e58f27257e468f0e'] + +sanity_check_paths = { + 'files': ['sbin/bonnie++'], + 'dirs': [] +} + +sanity_check_commands = ["bonnie++ --help 2>&1 | grep '^bonnie'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.77.0-gompi-2021b.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.77.0-gompi-2021b.eb new file mode 100644 index 000000000000..2fa8d8ff4092 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.77.0-gompi-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.77.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022a.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022a.eb new file mode 100644 index 000000000000..e61836c53caa --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.79.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('XZ', '5.2.5'), + ('zstd', '1.5.2'), + ('ICU', '71.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.79.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.79.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..edd662ea1815 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.79.0-GCC-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python' +version = '1.79.0' + +homepage = 'https://boostorg.github.io/python' +description = """Boost.Python is a C++ library which enables seamless interoperability between C++ + and the Python programming language.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('Boost', version), + ('Python', '3.10.4'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb index 0e42ee3c93c9..ea3d9b2c2f8c 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb index c3a465db37d0..0a826bb61c08 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb index 829709da75d3..6656fe443301 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb index 2f606156beee..e4f116e2ebad 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb index ca8c49aeb584..45778ac6ca9f 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb @@ -20,6 +20,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb index ea0b3c88edaa..0012f4d504f4 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb index 5905bdfc176f..0f379b65307a 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb index e5ee2e1c4695..410be76a6b49 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb index faa5a1229d38..963017ac246c 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb @@ -23,6 +23,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.5'), ] configopts = '--without-libraries=python,mpi' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb index ab084d66fba2..8a46e2591dde 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb @@ -21,6 +21,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.5'), ] configopts = '--without-libraries=python,mpi' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb index 053aaaf0ac92..4494d81ed625 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.5.0'), ('ICU', '69.1'), ] diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb index a6d9755bb2d1..07ba538803e7 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb @@ -18,6 +18,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.9'), ('ICU', '69.1'), ] diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb index 4cb0ac3840c3..9e11543a138e 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.9'), ('ICU', '69.1'), ] diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb index 2b47c2abf061..c8d711bec67b 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb @@ -18,6 +18,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.5.0'), ('ICU', '69.1'), ] diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb index 4872fadfc48b..efefe29ecc3d 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.5.0'), ('ICU', '69.1'), ] @@ -23,6 +24,8 @@ preconfigopts = "sed -i 's/-static//g' tools/build/src/engine/build.sh && " # see also https://github.com/boostorg/build/issues/647 preconfigopts += "sed -i 's/{TOOLSET}/{B2_TOOLSET}/g' tools/build/src/engine/build.sh && " +configopts = '--without-libraries=python,mpi' + # disable MPI, build Boost libraries with tagged layout boost_mpi = False tagged_layout = True diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb index 1574a8a3dc22..dd76c017037f 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb @@ -20,6 +20,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.5.0'), ('ICU', '69.1'), ] diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb index b412f13fe876..bbec421a1955 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb @@ -18,6 +18,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.12'), ('XZ', '5.2.5'), + ('zstd', '1.5.2'), ('ICU', '71.1'), ] diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.81.0-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.81.0-GCC-12.2.0.eb new file mode 100644 index 000000000000..1ffc4b4cfacb --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.81.0-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.81.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), + ('zstd', '1.5.2'), + ('ICU', '72.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.6-foss-2022a.eb b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.6-foss-2022a.eb new file mode 100644 index 000000000000..7acef662de05 --- /dev/null +++ b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.6-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'Bottleneck' +version = '1.3.6' + +homepage = 'https://kwgoodman.github.io/bottleneck-doc' +description = "Fast NumPy array functions written in C" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['bc15e2545d4282d6f2529597df1bd6e4c5f0c44296b3f8425bc835305bd943c9'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.7-foss-2022a.eb b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.7-foss-2022a.eb new file mode 100644 index 000000000000..ddcca5a30f17 --- /dev/null +++ b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.7-foss-2022a.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'Bottleneck' +version = '1.3.7' + +homepage = 'https://kwgoodman.github.io/bottleneck-doc' +description = "Fast NumPy array functions written in C" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..9e06d7508f2e --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: Artistic v2.0 +# +# Notes:: +## + +name = 'Bowtie' +version = '1.3.1' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. + It aligns short DNA sequences (reads) to the human genome.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = ['https://sourceforge.net/projects/bowtie-bio/files/bowtie/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.zip'] +checksums = ['e23517aa53846ef828172be911750cd05748522117efcbbe5a36f3241fb40761'] + +dependencies = [ + ('tbb', '2021.5.0'), + ('zlib', '1.2.12'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-10.3.0.eb index 85afb32d7a8c..9fa06c8160c6 100644 --- a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-10.3.0.eb @@ -7,11 +7,15 @@ # Modified by: Adam Huffman # The Francis Crick Institute # Modified by: Kurt Lust, UAntwerp +# Modified by: Sebastien Moretti for non-x86_64 systems +# SIB Swiss Institute of Bioinformatics name = 'Bowtie2' version = '2.4.4' +_simde_version = '20220504' +_simde_commit = 'cbef1c1' -homepage = 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +homepage = 'https://bowtie-bio.sourceforge.net/bowtie2/index.shtml' description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. @@ -25,6 +29,17 @@ source_urls = [('https://sourceforge.net/projects/bowtie-bio/files/%(namelower)s sources = ['%(namelower)s-%(version)s-source.zip'] checksums = ['b9fc1d6e5b898f832c590023bcb15e2a7b76e0ffac486800a9897e7cba2175fc'] +# SIMD Everywhere implementations only, for non-x86_64 systems +if ARCH != 'x86_64': + source_urls += ['https://github.com/simd-everywhere/simde-no-tests/archive'] + sources += [ + {'download_filename': '%s.zip' % _simde_commit, + 'filename': 'simde-%s.zip' % _simde_version, + 'extract_cmd': 'unzip %%s && mv simde*-%s*/* %%(namelower)s-%%(version)s/third_party/simde/' % _simde_commit, + } + ] + checksums += ['d01f084ef5ff69b0a9b96370ae314fe1e55ef3339b25afcd3385958ac0e6ad68'] + dependencies = [ ('zlib', '1.2.11'), ('Perl', '5.32.1'), diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-11.2.0.eb index 24d2f6861d98..5fc68b03499b 100644 --- a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-11.2.0.eb @@ -7,11 +7,15 @@ # Modified by: Adam Huffman # The Francis Crick Institute # Modified by: Kurt Lust, UAntwerp +# Modified by: Sebastien Moretti for non-x86_64 systems +# SIB Swiss Institute of Bioinformatics name = 'Bowtie2' version = '2.4.4' +_simde_version = '20220504' +_simde_commit = 'cbef1c1' -homepage = 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +homepage = 'https://bowtie-bio.sourceforge.net/bowtie2/index.shtml' description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. @@ -25,6 +29,17 @@ source_urls = [('https://sourceforge.net/projects/bowtie-bio/files/%(namelower)s sources = ['%(namelower)s-%(version)s-source.zip'] checksums = ['b9fc1d6e5b898f832c590023bcb15e2a7b76e0ffac486800a9897e7cba2175fc'] +# SIMD Everywhere implementations only, for non-x86_64 systems +if ARCH != 'x86_64': + source_urls += ['https://github.com/simd-everywhere/simde-no-tests/archive'] + sources += [ + {'download_filename': '%s.zip' % _simde_commit, + 'filename': 'simde-%s.zip' % _simde_version, + 'extract_cmd': 'unzip %%s && mv simde*-%s*/* %%(namelower)s-%%(version)s/third_party/simde/' % _simde_commit, + } + ] + checksums += ['d01f084ef5ff69b0a9b96370ae314fe1e55ef3339b25afcd3385958ac0e6ad68'] + dependencies = [ ('zlib', '1.2.11'), ('Perl', '5.34.0'), diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.5-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.5-GCC-11.3.0.eb index 23f2eb1bda77..d7b304b4c3be 100644 --- a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.5-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.5-GCC-11.3.0.eb @@ -7,11 +7,15 @@ # Modified by: Adam Huffman # The Francis Crick Institute # Modified by: Kurt Lust, UAntwerp +# Modified by: Sebastien Moretti for non-x86_64 systems +# SIB Swiss Institute of Bioinformatics name = 'Bowtie2' version = '2.4.5' +_simde_version = '20220504' +_simde_commit = 'cbef1c1' -homepage = 'http://bowtie-bio.sourceforge.net/bowtie2/index.shtml' +homepage = 'https://bowtie-bio.sourceforge.net/bowtie2/index.shtml' description = """ Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. @@ -25,6 +29,17 @@ source_urls = [('https://sourceforge.net/projects/bowtie-bio/files/%(namelower)s sources = ['%(namelower)s-%(version)s-source.zip'] checksums = ['d3cbd5f323393b5649aea10325d7c4b77f02035a8b204e5ac18eba95236e076a'] +# SIMD Everywhere implementations only, for non-x86_64 systems +if ARCH != 'x86_64': + source_urls += ['https://github.com/simd-everywhere/simde-no-tests/archive'] + sources += [ + {'download_filename': '%s.zip' % _simde_commit, + 'filename': 'simde-%s.zip' % _simde_version, + 'extract_cmd': 'unzip %%s && mv simde*-%s*/* %%(namelower)s-%%(version)s/third_party/simde/' % _simde_commit, + } + ] + checksums += ['d01f084ef5ff69b0a9b96370ae314fe1e55ef3339b25afcd3385958ac0e6ad68'] + dependencies = [ ('zlib', '1.2.12'), ('Perl', '5.34.1'), diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..b08a96811d50 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..e4531099b131 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..75f8c2716a74 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8056873eb95b --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +homepage = 'https://github.com/google/brotli' +description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination + of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio + comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate + but offers more dense compression. +The specification of the Brotli Compressed Data Format is defined in RFC 7932.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..20cd4b20aef4 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Highway', '0.12.2'), +] + +# skip use of third_party directory, since we provide Brotli via a proper dependency +preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " + +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib*/", + "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..35fa3a03359f --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Highway', '1.0.3'), +] + +# skip use of third_party directory, since we provide Brotli via a proper dependency +preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " + +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib*/", + "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..68552f70d3a8 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Highway', '1.0.3'), +] + +# skip use of third_party directory, since we provide Brotli via a proper dependency +preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " + +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon"' + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib*/", + "cp libbrunsli*.%s %%(installdir)s/lib*/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/bamFilters/bamFilters-2022-06-30-GCC-11.3.0.eb b/easybuild/easyconfigs/b/bamFilters/bamFilters-2022-06-30-GCC-11.3.0.eb new file mode 100644 index 000000000000..f8df6c47a860 --- /dev/null +++ b/easybuild/easyconfigs/b/bamFilters/bamFilters-2022-06-30-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'bamFilters' +local_commit = '93e334e' +version = '2022-06-30' + +homepage = 'https://github.com/institut-de-genomique/bamFilters' +description = """A utility tool to filter alignments from bam files, + using identity percent, low complexity and read coverage.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/institut-de-genomique/bamFilters/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['63a2a57093f0d360ce21775de8bb118e60cbd8856593e02c608f930745e1b463'] + +builddependencies = [('SAMtools', '1.13')] # libbam.a, is provided by SAMtools only up to version 1.13 + +dependencies = [ + ('HTSlib', '1.15.1'), + ('BamTools', '2.5.2'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), +] +prebuildopts = 'mkdir obj && ' +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" SAMTOOLS_LIBDIR="$EBROOTSAMTOOLS/lib"' +buildopts += ' LIBS="$LIBS -lhts -lbam -lz -lbz2 -lcurl -lssl -lcrypto -llzma"' + +files_to_copy = [ + (['bamFilters'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/bamFilters'], + 'dirs': [] +} + +sanity_check_commands = ['bamFilters -h 2>&1 | grep "Usage"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb b/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb new file mode 100644 index 000000000000..456ebc347886 --- /dev/null +++ b/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb @@ -0,0 +1,50 @@ +# The newer version require also the installation of basemap-data. +# Conveniently, the tarball contains that too, so that is the one +# being used here. +# Based on basemap-1.2.2-foss-2020a-Python-3.8.2.eb +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'basemap' +version = '1.3.6' + +homepage = 'https://matplotlib.org/basemap/' +description = """The matplotlib basemap toolkit is a library for plotting +2D data on maps in Python""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('GEOS', '3.10.3'), + ('Pillow', '9.1.1'), + ('pyproj', '3.4.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyshp', '2.3.1', { + 'modulename': 'shapefile', + 'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'], + }), + ('basemap_data', version, { + 'modulename': 'mpl_toolkits.basemap_data', + 'preinstallopts': 'cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS', + 'sources': ['v%(version)s.tar.gz'], + 'source_urls': ['https://github.com/matplotlib/basemap/archive/'], + 'checksums': ['42adbd039b4afbe93ca2fa32cfab456d4fd590cb8ed1c28e4aa94dcb957b58ac'], + }), + (name, version, { + 'modulename': 'mpl_toolkits.basemap', + 'preinstallopts': 'cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS', + 'sources': ['v%(version)s.tar.gz'], + 'source_urls': ['https://github.com/matplotlib/basemap/archive/'], + 'checksums': ['42adbd039b4afbe93ca2fa32cfab456d4fd590cb8ed1c28e4aa94dcb957b58ac'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022a.eb b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022a.eb new file mode 100644 index 000000000000..e0093e9f3e3b --- /dev/null +++ b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022a.eb @@ -0,0 +1,42 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v0.6.7 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'bcbio-gff' +version = '0.7.0' + +homepage = 'https://github.com/chapmanb/bcbb/tree/master/gff' + +description = """ +Read and write Generic Feature Format (GFF) with Biopython integration. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_bcbiogffroot = 'lib/python%(pyshortver)s/site-packages' +local_targets = ['GFFOutput.py', 'GFFParser.py'] + +sanity_check_paths = { + 'files': [local_bcbiogffroot + '/BCBio/GFF/%s' % x for x in local_targets], + 'dirs': [local_bcbiogffroot], +} + +options = {'modulename': 'BCBio.GFF'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb index 19bf7119f782..b8e54d76b7b0 100644 --- a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb +++ b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb @@ -22,7 +22,7 @@ dependencies = [ ] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", "chmod a+rx %(installdir)s/bin/bcgTree.pl", ] diff --git a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb index 374d15e26a66..d6e3954f2e6c 100644 --- a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb @@ -22,7 +22,7 @@ dependencies = [ ] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", "chmod a+rx %(installdir)s/bin/bcgTree.pl", ] diff --git a/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.0.3-2el7.x86_64.eb b/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.0.3-2el7.x86_64.eb new file mode 100644 index 000000000000..e06bf2fdde60 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.0.3-2el7.x86_64.eb @@ -0,0 +1,24 @@ +easyblock = 'Rpm' + +name = 'bcl-convert' +version = '4.0.3-2' +versionsuffix = 'el7.x86_64' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html' +description = """The Illumina BCL Convert v4.0 is a standalone local software app that converts the + Binary Base Call (BCL) files produced by Illumina sequencing systems to FASTQ files.""" + +toolchain = SYSTEM + +source_urls = ['https://webdata.illumina.com/downloads/software/bcl-convert/'] +sources = ['bcl-convert-%(version)s.%(versionsuffix)s.rpm'] +checksums = ['be4f3d1d31cb36618f909cdbc0ed0fe70ef57a645e46b421b6e1a7f90c6c9430'] + +sanity_check_paths = { + 'files': ['usr/bin/bcl-convert'], + 'dirs': [], +} + +sanity_check_commands = ["bcl-convert --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb index edbae709f1cd..b6a06a8326d1 100644 --- a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb @@ -40,13 +40,13 @@ start_dir = 'src' # check versions of libxml2 and libxslt from EB local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' -local_sed_libver = 'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} # remove hardcoded compilation flags local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' -preconfigopts += 'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb index 8d0eda20f5fc..a95f3d01f6b6 100644 --- a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb @@ -40,13 +40,13 @@ start_dir = 'src' # check versions of libxml2 and libxslt from EB local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' -local_sed_libver = 'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} # remove hardcoded compilation flags local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' -preconfigopts += 'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb index 5369e23685c9..9ac5461bbb17 100644 --- a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb @@ -40,13 +40,13 @@ start_dir = 'src' # check versions of libxml2 and libxslt from EB local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' -local_sed_libver = 'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} # remove hardcoded compilation flags local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' -preconfigopts += 'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..494b273bc862 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'bcl2fastq2' +version = '2.20.0' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html' +description = """bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by + Illumina sequencing systems to standard FASTQ file formats for downstream analysis.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/'] +sources = [{ + 'filename': '%s-v%s-tar.zip' % (name, version.replace('.', '-')), + 'extract_cmd': 'unzip -p %s | tar -xzvf -', # source file is a .zip that contains a .tar.gz +}] +patches = [ + '%(name)s-%(version)s-fix-cmake-target-libs.patch', + # bcl2fastq2 v2.20.0 is not compatible with recent Boost versions, use bundled Boost + '%(name)s-%(version)s-find-boost.patch', +] +checksums = [ + '8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3', # bcl2fastq2-v2-20-0-tar.zip + '7908c268c213a6cfeafe05afcd5d3b34098241b6ab0a62c11ea47664cd0a63c5', # bcl2fastq2-2.20.0-fix-cmake-target-libs.patch + '8ca9ab8843fd21976781185b0d560f97fa83c26ab7962c339c2206b164d845c1', # bcl2fastq2-2.20.0-find-boost.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('libxml2', '2.9.13'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.12'), +] + +start_dir = 'src' + +# check versions of libxml2 and libxslt from EB +local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} +preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} + +# remove hardcoded compilation flags +local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx + +configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' +configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' +configopts += '-DBCL2FASTQ_SOURCE_DIR:STRING=%(builddir)s/bcl2fastq/src ' +# Make sure CMake doesn't use any system installed Boost versions cmake-config files. +configopts += '-DBoost_NO_BOOST_CMAKE=ON ' + +sanity_check_paths = { + 'files': ['bin/bcl2fastq'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["bcl2fastq --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..7824fea6434c --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.0-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'beagle-lib' +version = '4.0.0' + +homepage = 'https://github.com/beagle-dev/beagle-lib' +description = """beagle-lib is a high-performance library that can perform the core calculations at the heart of most + Bayesian and Maximum Likelihood phylogenetics packages.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'beagle-dev' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d197eeb7fe5879dfbae789c459bcc901cb04d52c9cf5ef14fb07ff7a6b74560b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('pocl', '1.8'), +] + +sanity_check_paths = { + 'files': ['include/libhmsbeagle-1/libhmsbeagle/%s' % x for x in ['beagle.h', 'platform.h']] + + ['lib/libhmsbeagle%s.%s' % (x, SHLIB_EXT) for x in ['-cpu', '-cpu-sse', '-jni', '']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb index 24b89573e3a7..073b14d8551a 100644 --- a/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb @@ -40,7 +40,7 @@ exts_list = [ (name, version, { 'checksums': ['1c0bf5983b14e84b70b3b5465bacdf92cbcf37138be86c9bc10e8960b545a402'], # relax version requirement on dask - 'preinstallopts': "sed -i 's/delayed\]>=1.0.0/delayed]>=0.19.0/g' setup.cfg &&", + 'preinstallopts': r"sed -i 's/delayed\]>=1.0.0/delayed]>=0.19.0/g' setup.cfg &&", }), ] diff --git a/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.87-GCC-11.3.0.eb b/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.87-GCC-11.3.0.eb new file mode 100644 index 000000000000..62dfa0f74a11 --- /dev/null +++ b/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.87-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'biobambam2' +version = '2.0.87' + +homepage = 'https://github.com/gt1/biobambam2' +description = "Tools for processing BAM files" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/gt1/biobambam2/archive/'] +sources = ['%(version)s-release-20180301132713.tar.gz'] +checksums = ['a90500e547465d8d0455bda7936e0b660c0fd3f1b243083ec0739527f802dcf4'] + +dependencies = [ + ('libmaus2', '2.0.499'), +] + +configopts = "--with-libmaus2=$EBROOTLIBMAUS2" + +local_binaries = ['bamcollate2', 'bammarkduplicates', 'bammaskflags', 'bamrecompress', + 'bamsormadup', 'bamsort', 'bamtofastq'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biogeme/biogeme-3.2.6-foss-2022a.eb b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.6-foss-2022a.eb new file mode 100644 index 000000000000..21a1c2ddb5e1 --- /dev/null +++ b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.6-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'biogeme' +version = '3.2.6' + +homepage = 'https://pypi.python.org/pypi/biogeme' +description = """Biogeme is a open source Python package designed for +the maximum likelihood estimation of parametric models in general, +with a special emphasis on discrete choice models.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('Unidecode', '1.3.6', { + 'checksums': ['fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830'], + }), + (name, version, { + 'checksums': ['ff8d492019e15aecdfe7c72cff3b2616845cdf80bd2f1bde9031d94601f3faf7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.14-foss-2022a.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.14-foss-2022a.eb new file mode 100644 index 000000000000..e518ffc27935 --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.14-foss-2022a.eb @@ -0,0 +1,47 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.14' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c8bac94ab6aa8226c0d38af7a3341d65e5f3664b9f45ec44fdf8b5275b2f92c1'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-2.4.3-foss-2022a.eb b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.3-foss-2022a.eb new file mode 100644 index 000000000000..4f2830449ae5 --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.3-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '2.4.3' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('Pillow', '9.1.1'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + (name, version, { + 'checksums': ['ef33801161af379665ab7a34684f2209861e3aefd5c803a21fbbb99d94874b03'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.26.37-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.26.37-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..316623bb8778 --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.26.37-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.26.37' + +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': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +exts_list = [ + ('botocore', '1.29.37', { + 'checksums': ['3afa4fec9f7713caa05116563b38f81bec7bd20585d517155484d3f25efab5aa'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.6.0', { + 'checksums': ['2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947'], + }), + (name, version, { + 'checksums': ['82b790b1dabd0746b028d2013b5d4d636a41f3aaf25520081f4c173cb6eb395d'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/bsddb3/bsddb3-6.2.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/bsddb3/bsddb3-6.2.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8a366485ad04 --- /dev/null +++ b/easybuild/easyconfigs/b/bsddb3/bsddb3-6.2.9-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'bsddb3' +version = '6.2.9' + +homepage = 'https://pypi.org/project/bsddb3/' +description = """bsddb3 is a nearly complete Python binding of the +Oracle/Sleepycat C API for the Database Environment, Database, Cursor, +Log Cursor, Sequence and Transaction objects.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +components = [ + ('DB', '5.3.28', { + 'source_urls': ['https://github.com/berkeleydb/libdb/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628'], + 'start_dir': '%(namelower)s-%(version)s', + }), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'preinstallopts': "unset LIBS && BERKELEYDB_DIR=%(installdir)s/ ", + 'checksums': ['70d05ec8dc568f42e70fc919a442e0daadc2a905a1cfb7ca77f549d49d6e7801'], + }), +] + +sanity_check_paths = { + 'files': ['bin/db_archive', 'include/db.h', 'lib/libdb.a', + 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b-CUDA-12.0.0.eb new file mode 100644 index 000000000000..c3821707135e --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b-CUDA-12.0.0.eb @@ -0,0 +1,20 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), + ('UCC-CUDA', '1.1.0', versionsuffix), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b.eb new file mode 100644 index 000000000000..1638fdb195d1 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b.eb @@ -0,0 +1,13 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022b.eb new file mode 100644 index 000000000000..47b7eb84b222 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022b.eb @@ -0,0 +1,13 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' + +homepage = 'None' +description = """This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that + you can use to easily transition between toolchains when building your software. To query the variables being set + please use: module show """ + +toolchain = {'name': 'intel', 'version': '2022b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/bwa-meth/bwa-meth-0.2.6-GCC-11.3.0.eb b/easybuild/easyconfigs/b/bwa-meth/bwa-meth-0.2.6-GCC-11.3.0.eb new file mode 100644 index 000000000000..238b5bbcf7b0 --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-meth/bwa-meth-0.2.6-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'bwa-meth' +version = '0.2.6' + +homepage = 'https://github.com/brentp/bwa-meth' +description = """Fast and accurante alignment of BS-Seq reads.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('SAMtools', '1.13'), + ('BWA', '0.7.17'), +] + +use_pip = True + +exts_list = [ + ('toolshed', '0.4.6', { + 'checksums': ['23a31c177bf84244b30a9f12c7a8a17a66a2d63043ead0460c31b9ff42f9fb93'], + }), + (name, version, { + 'source_urls': ['https://github.com/brentp/bwa-meth/archive'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['c1d98aa6d34f103752de7ff3148c9586e5571417accb4a39f5bac8546dab497d'], + # fix TypeError when using --help, see https://github.com/brentp/bwa-meth/pull/87 + 'preinstallopts': "sed -i 's/44% /44%% /g' bwameth.py && ", + 'modulename': 'bwameth', + }), +] + +fix_python_shebang_for = ['bin/bwameth.py', 'bin/toolshed'] + +sanity_check_paths = { + 'files': ['bin/bwameth.py', 'bin/toolshed'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "toolshed --help", + "bwameth.py --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..aa9c67ac17a5 --- /dev/null +++ b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'bwidget' +version = '1.9.15' + +homepage = 'https://core.tcl-lang.org/bwidget/home' +description = 'The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.' + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://downloads.sourceforge.net/project/tcllib/BWidget/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['9c4dd648fdfd31de7cb5af44b392a1916f949dd195820684d940edcd8485ac13'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Tk', '8.6.11')] + +modextrapaths = {'TCLLIBPATH': '.'} + +sanity_check_paths = { + 'files': ['button.tcl'], + 'dirs': ['BWman', 'demo', 'images', 'lang', 'tests'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/bx-python/bx-python-0.9.0-foss-2022a.eb b/easybuild/easyconfigs/b/bx-python/bx-python-0.9.0-foss-2022a.eb new file mode 100644 index 000000000000..39af31084647 --- /dev/null +++ b/easybuild/easyconfigs/b/bx-python/bx-python-0.9.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'bx-python' +version = '0.9.0' + +homepage = 'https://github.com/bxlab/bx-python' +description = """The bx-python project is a Python library and associated set of scripts to allow for rapid + implementation of genome scale analyses.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('LZO', '2.10'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('python-lzo', '1.14', { + 'modulename': 'lzo', + 'preinstallopts': "export PREFIX=$EBROOTLZO && ", + 'checksums': ['83cbd8ecaae284735250e31d6c0ecc18ac08763fab2a8c910dc5a6910db6250c'], + }), + (name, version, { + 'modulename': 'bx', + 'checksums': ['fe545c44d2ea74b239d41e9090618aaf6a859d1a1f64b4a21b133cb602dfdb49'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..d2ce38e17320 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.39'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CASPR/CASPR-20200730-foss-2022a.eb b/easybuild/easyconfigs/c/CASPR/CASPR-20200730-foss-2022a.eb new file mode 100644 index 000000000000..c32f29ed00e7 --- /dev/null +++ b/easybuild/easyconfigs/c/CASPR/CASPR-20200730-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: Denis Kristak (Inuits) + +easyblock = 'Tarball' + +name = 'CASPR' +version = '20200730' +local_commit = 'b74fde2' + +homepage = 'https://judithbergada.github.io/CASPR' +description = """Running CASPR is extremely easy and convenient to analyze CRIPR-Cas9 screens using pgRNAs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/judithbergada/CASPR/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['96cd3a8fd8f1d8cddf798f07bff46c1048ab9343aa40c31d3430f1e58703f0ac'] + +dependencies = [ + ('FastQC', '0.11.9', '-Java-11', SYSTEM), + ('cutadapt', '4.2'), + ('FASTX-Toolkit', '0.0.14'), + ('STAR', '2.7.10b'), + ('SAMtools', '1.16.1'), + ('vispr', '0.4.14'), + ('R', '4.2.1'), +] + +modextrapaths = { + 'PATH': 'source/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['source'], +} + +sanity_check_commands = ["CASPR --help 2>&1 | grep 'Usage: CASPR'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-22.11-foss-2022a.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-22.11-foss-2022a.eb new file mode 100644 index 000000000000..8e3491edd65a --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-22.11-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '22.11' + +homepage = 'http://www.castep.org' +description = """ +CASTEP is an electronic structure materials modelling code based on density +functional theory (DFT), with functionality including geometry optimization +molecular dynamics, phonons, NMR chemical shifts and much more. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = """CASTEP is proprietary software, available under a free-of-charge license for academic use +only. Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license.""" + +sources = [SOURCE_TAR_GZ] +checksums = ['aca3fc2207c677561293585a4edaf233676a759c5beb8389cf938411226ef1f5'] + +# Python+numpy are needed for the elastic constants and castepconv utilities, but +# should work with any system or eb Python including 2.7. +dependencies = [ + ('Perl', '5.34.1'), +] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi FFT=fftw3 MATH_LIBS="-lflexiblas" FFTLIBDIR=$FFT_LIB_DIR MATHLIBDIR=$BLAS_LIB_DIR' +buildopts += ' castep tools utilities' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi FFT=fftw3 MATH_LIBS="-lflexiblas" INSTALL_DIR="%(installdir)s/bin"' +installopts += ' install-castep install-tools install-utilities' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands', 'dispersion.pl', + 'elastics.py', 'ceteprouts.pm']], + 'dirs': [], +} + +sanity_check_commands = [ + 'castep.mpi --help', + 'optados.mpi --help', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CAT-BAT/CAT-BAT-5.2.3-GCC-10.3.0.eb b/easybuild/easyconfigs/c/CAT-BAT/CAT-BAT-5.2.3-GCC-10.3.0.eb new file mode 100644 index 000000000000..5ff808c82d1b --- /dev/null +++ b/easybuild/easyconfigs/c/CAT-BAT/CAT-BAT-5.2.3-GCC-10.3.0.eb @@ -0,0 +1,44 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'Tarball' + +name = 'CAT-BAT' +version = '5.2.3' + +homepage = 'https://github.com/dutilh/CAT' +description = """Tool for taxonomic classification of contigs and metagenome-assembled genomes (MAGs).""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/dutilh/CAT/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['19a8eb28c0ebd3fc5a04b006d305a916dd1af00a32b70d2f30df35f32ca2929b'] + +dependencies = [ + ('Python', '3.9.5'), + ('DIAMOND', '2.0.11'), + ('prodigal', '2.6.3'), +] + +postinstallcmds = [ + "cd %(installdir)s/ && ln -s CAT_pack bin", + "chmod a+rx %(installdir)s/CAT_pack/*.py", + # fix shebang in check.py script ('/env/' should be '/env') + "sed -i 's@/usr/bin/env/ python3@/usr/bin/env python3@' %(installdir)s/CAT_pack/check.py", +] + +sanity_check_paths = { + 'files': ['CAT_pack/CAT', 'bin/CAT', 'README.md'], + 'dirs': ['CAT_pack'], +} + +sanity_check_commands = ["CAT --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..3facff7d2635 --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'https://github.com/weizhongli/cdhit/wiki' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.34.1'), + ('zlib', '1.2.12'), +] + +# make sure compilation flags are passed down (e.g. to enable OpenMP) +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +# put here the list of generated executables when compiling +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +# this is the real EasyBuild line to copy all the executables and perl scripts to "bin" +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +sanity_check_commands = ["cd-hit -h | grep 'CD-HIT version %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-10.2.0.eb b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-10.2.0.eb new file mode 100644 index 000000000000..11fc1a9fd9c4 --- /dev/null +++ b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-10.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'CDBtools' +version = '0.99' + +homepage = 'http://compbio.dfci.harvard.edu/tgi' +description = "CDB (Constant DataBase) indexing and retrieval tools for FASTA files" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['ftp://occams.dfci.harvard.edu/pub/bio/tgi/software/cdbfasta'] +sources = [{'download_filename': 'cdbfasta.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['68767e8b2fb9de5a6d68ee16df73293f65e02f05cf2f747a9dd6b8854766722c'] + +buildopts = 'CC="$CXX" DBGFLAGS="$CXXFLAGS"' + +files_to_copy = [(['cdbfasta', 'cdbyank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/cdbfasta', 'bin/cdbyank'], + 'dirs': [], +} + +sanity_check_commands = [ + "cdbfasta -v", + "cdbyank -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-11.3.0.eb new file mode 100644 index 000000000000..d2dca1af47d2 --- /dev/null +++ b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'CDBtools' +version = '0.99' + +homepage = 'http://compbio.dfci.harvard.edu/tgi' +description = "CDB (Constant DataBase) indexing and retrieval tools for FASTA files" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['ftp://occams.dfci.harvard.edu/pub/bio/tgi/software/cdbfasta'] +sources = [{'download_filename': 'cdbfasta.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['68767e8b2fb9de5a6d68ee16df73293f65e02f05cf2f747a9dd6b8854766722c'] + +buildopts = 'CC="$CXX" DBGFLAGS="$CXXFLAGS"' + +files_to_copy = [(['cdbfasta', 'cdbyank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/cdbfasta', 'bin/cdbyank'], + 'dirs': [], +} + +sanity_check_commands = [ + "cdbfasta -v", + "cdbyank -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDFlib/CDFlib-0.4.9-foss-2022a.eb b/easybuild/easyconfigs/c/CDFlib/CDFlib-0.4.9-foss-2022a.eb new file mode 100644 index 000000000000..dc43f2a891aa --- /dev/null +++ b/easybuild/easyconfigs/c/CDFlib/CDFlib-0.4.9-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'CDFlib' +version = '0.4.9' + +homepage = 'https://github.com/MAVENSDC/cdflib' +description = """cdflib is a python module to read/write CDF (Common Data Format .cdf) files +without needing to install the CDF NASA library. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('xarray', '2022.6.0'), + ('astropy', '5.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cdflib', version, { + 'checksums': ['665d2ab31fcf7b61dec230fbc390d87e02116993dc434c3112921f967012b963'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb new file mode 100644 index 000000000000..2cca13754df1 --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.eb @@ -0,0 +1,53 @@ +# updated to version 2.0.6, based on the previous 2.0.5 version +# J. Sassmannshausen (Imperial College London, UK) +# Alex Domingo (Vrije Universiteit Brussel, BE) +# Maxim Masterov (SURF, NL) + +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '2.0.6' + +homepage = 'https://code.zmaw.de/projects/cdo' +description = """CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/27276/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ef120dea9032b1be80a4cfa201958c3b910107205beb6674195675f1ee8ed402'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('ecCodes', '2.27.0'), + ('FFTW', '3.3.10'), + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('netCDF', '4.9.0'), + ('PROJ', '9.0.0'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.38'), +] + +# Build libcdi +configopts = "--enable-cdi-lib " + +# Use dependencies from EasyBuild +configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw3 --with-hdf5=$EBROOTHDF5 " +configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " +configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " + +sanity_check_paths = { + 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["cdo --version 2>&1 | grep 'CDI library version : %(version)s'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb new file mode 100644 index 000000000000..33b3ae569e7e --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.eb @@ -0,0 +1,53 @@ +# updated to version 2.0.6, based on the previous 2.0.5 version +# J. Sassmannshausen (Imperial College London, UK) +# Alex Domingo (Vrije Universiteit Brussel, BE) +# Maxim Masterov (SURF, NL) + +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '2.1.1' + +homepage = 'https://code.zmaw.de/projects/cdo' +description = """CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/27654'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c29d084ccbda931d71198409fb2d14f99930db6e7a3654b3c0243ceb304755d9'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('cURL', '7.76.0'), + ('ecCodes', '2.22.1'), + ('FFTW', '3.3.9'), + ('HDF5', '1.10.7'), + ('libxml2', '2.9.10'), + ('netCDF', '4.8.0'), + ('PROJ', '8.0.1'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.36'), +] + +# Build libcdi +configopts = "--enable-cdi-lib " + +# Use dependencies from EasyBuild +configopts += "--with-curl=$EBROOTCURL --with-eccodes=$EBROOTECCODES --with-fftw3 --with-hdf5=$EBROOTHDF5 " +configopts += "--with-netcdf=$EBROOTNETCDF --with-proj=$EBROOTPROJ --with-szlib=$EBROOTSZIP " +configopts += "--with-udunits2=$EBROOTUDUNITS --with-util-linux-uuid=$EBROOTUTILMINLINUX " + +sanity_check_paths = { + 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["cdo --version 2>&1 | grep 'CDI library version : %(version)s'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..1b080d809352 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '3.49' + +homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + '5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3', # cfitsio-3.49.tar.gz + 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c', # CFITSIO-3.48_install_test_data.patch +] + +# curl for HTTPs support +dependencies = [('cURL', '7.76.0')] + +builddependencies = [('binutils', '2.36.1')] + +# make would create just static libcfitsio.a. +# Let's create dynamic lib and testprog too. +buildopts = '&& make shared && make testprog' + +sanity_check_paths = { + 'files': ['lib/libcfitsio.a', 'lib/libcfitsio.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + ('cd %(installdir)s/share && testprog'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..88f309b6263e --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.2.0' + +homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + {'cfitsio-4.2.0.tar.gz': 'eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889'}, + {'CFITSIO-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +builddependencies = [('binutils', '2.38')] + +# curl for HTTPs support +dependencies = [('cURL', '7.83.0')] + +# make would create just static libcfitsio.a. +# Let's create dynamic lib and testprog too. +buildopts = '&& make shared && make testprog' + +sanity_check_paths = { + 'files': ['lib/libcfitsio.a', 'lib/libcfitsio.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + ('cd %(installdir)s/share && testprog'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..bc70ab6cf40c --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.2.0' + +homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + {'cfitsio-4.2.0.tar.gz': 'eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889'}, + {'CFITSIO-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +builddependencies = [('binutils', '2.39')] + +# curl for HTTPs support +dependencies = [('cURL', '7.86.0')] + +# make would create just static libcfitsio.a. +# Let's create dynamic lib and testprog too. +buildopts = '&& make shared && make testprog' + +sanity_check_paths = { + 'files': ['lib/libcfitsio.a', 'lib/libcfitsio.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + ('cd %(installdir)s/share && testprog'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb index a891c0367b10..d033267aef3f 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb index b4f032df4eeb..be3206d85d4f 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb index 7cceb21f8981..4d0b14dfd494 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb index 55e0812e853e..8ff6898f1ef8 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb index fa530f73cc25..36172cf0ebfe 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb index 08ece993edbd..a55803f816ec 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb index 4b1ed1907c70..ff0938352bb8 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb index 8f439a24c425..180cab534a24 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb index 693040076f82..23ab0c1c4c60 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb index b0310dabbf21..0e700bf34ecc 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb @@ -28,7 +28,7 @@ builddependencies = [ ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb index 83445a5c0a63..b9c2b1c3ada3 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.12.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb index e2824c616046..6aedf7b94d6b 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.12.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb index 8258003e2a52..ba65e66905e5 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.13.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb index b0045e262252..d811e682a820 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.13.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb index 1401b2793b83..7260e3f71abf 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.14.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb index ca2489bf1e54..3e47611c3486 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb @@ -28,7 +28,7 @@ dependencies = [ ('Qt5', '5.15.2'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb index b41d2e7d7555..21dce7f0d6f7 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb @@ -28,7 +28,7 @@ dependencies = [ ('Qt5', '5.15.2'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb index de7125a95912..7944a1be7fc3 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.14.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2021a.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2021a.eb new file mode 100644 index 000000000000..8fec1fcd61f9 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2021a.eb @@ -0,0 +1,37 @@ +name = 'CGAL' +version = '4.14.3' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'iimpi', 'version': '2021a'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['5bafe7abe8435beca17a1082062d363368ec1e3f0d6581bb0da8b010fb389fe4'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Eigen', '3.3.9'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.5'), + ('Boost', '1.76.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('Mesa', '21.1.1'), + ('libGLU', '9.0.1'), + ('Qt5', '5.15.2'), +] + +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb index f4633df39831..adb729af93ed 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ ('libGLU', '9.0.0', '-Mesa-11.2.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb index fd4219e20618..a1dd733fbe61 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ ('libGLU', '9.0.0', '-Mesa-11.2.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb index 9bee4db9aa4a..a72147769ce1 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb index 44d057e3a247..43bf68bd47ed 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb @@ -25,7 +25,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb index 3efaca57eb38..18bb1a2753c7 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb index 406b208a885a..f30cfbdd2921 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb @@ -25,7 +25,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb index 1e392edbada0..6eeda75c0fc8 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.3.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb index e83b067d66e7..2c827ed9eda6 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.3.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb index 875af6f2dc43..0ee32908a093 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb @@ -29,7 +29,7 @@ dependencies = [ ] configopts = "-DCGAL_HEADER_ONLY=OFF " -configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts += '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON -DWITH_GMPXX=ON" diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.4-GCC-12.2.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.4-GCC-12.2.0.eb new file mode 100644 index 000000000000..1a08a4ed224c --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.4-GCC-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.6.4' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['49c89330f1903ef707d3c5d79c16a7c5a6f2c90fc290e2034ee3834809489e57'] + +builddependencies = [('CMake', '3.24.3')] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.4-foss-2022a.eb b/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.4-foss-2022a.eb new file mode 100644 index 000000000000..b16ab7d9572e --- /dev/null +++ b/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.4-foss-2022a.eb @@ -0,0 +1,37 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'CMSeq' +version = '1.0.4' + +homepage = 'https://github.com/SegataLab/cmseq/' +description = "CMSeq is a set of commands to provide an interface to .bam files for coverage and sequence consensus." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['93038a6dba826e29a66df3ec8ab2b3e3872acac7af9df245e4a5a624584aca5c'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('bcbio-gff', '0.7.0'), + ('biom-format', '2.1.14'), + ('Pysam', '0.19.1'), + ('SAMtools', '1.16.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['breadth_depth.py', 'consensus.py', 'poly.py', 'polymut.py']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d5b6ac8b205f --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.24.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b53aa10fa82bff84ccdb59065927b72d3bee49f4d86261249fc0984b3b367291'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('cURL', '7.83.0'), + ('libarchive', '3.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..86db778efcb1 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.24.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b53aa10fa82bff84ccdb59065927b72d3bee49f4d86261249fc0984b3b367291'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('cURL', '7.86.0'), + ('libarchive', '3.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/COBRApy/COBRApy-0.26.0-foss-2021a.eb b/easybuild/easyconfigs/c/COBRApy/COBRApy-0.26.0-foss-2021a.eb new file mode 100644 index 000000000000..50daf951ccbb --- /dev/null +++ b/easybuild/easyconfigs/c/COBRApy/COBRApy-0.26.0-foss-2021a.eb @@ -0,0 +1,102 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'COBRApy' +version = '0.26.0' + +homepage = 'https://opencobra.github.io/cobrapy/' +description = """COBRApy is a package for constraint-based modeling of metabolic networks.""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('ruamel.yaml', '0.17.21'), + ('SciPy-bundle', '2021.05'), + ('sympy', '1.8'), + ('GLPK', '5.0'), + ('python-libsbml', '5.19.7'), +] + +use_pip = True + +exts_list = [ + ('typing-extensions', '4.4.0', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('swiglpk', '5.0.8', { + 'checksums': ['9b933d7ba17c619f5d838b6b3216647bcf8a2e22cd67ea89b0f2e2f50f7be0ae'], + }), + ('optlang', '1.6.0', { + 'checksums': ['b503b05e4f434c5c69e4aac90b2dfd3cba9fa8ae24899a9a820017ce1d3d370c'], + }), + ('importlib_resources', '5.10.0', { + 'checksums': ['c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.2', { + 'checksums': ['25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.15.0', { + 'checksums': ['18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b'], + }), + ('httpx', '0.23.0', { + 'checksums': ['f28eac771ec9eb4866d3fb4ab65abd42d38c424739e80c08d8d20570de60b0ef'], + }), + ('diskcache', '5.4.0', { + 'checksums': ['8879eb8c9b4a2509a5e633d2008634fb2b0b35c2b36192d89655dbde02419644'], + }), + # More recent versions of pipdeptree do not provide the same methods + ('pipdeptree', '1.0.0', { + 'checksums': ['5fe866a38113d28d527033ececc57b8e86df86b7c29edbacb33f41ee50f75b31'], + }), + ('versioneer', '0.28', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['11ffc09427ac99db4ce61bdc85785dae819618d0de28153adfce3085956125a8'], + }), + ('depinfo', '1.7.0', { + 'checksums': ['770c82e02f7f1f58c8ff87f8ad132ef3b5f5acbce586b838fadd0eb25b131340'], + }), + ('cobra', version, { + 'checksums': ['4c19ed3a1af8376479cc276b83fb3ceb3a373c75353f4d9d41995c6fe81e03ad'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..d788295e132c --- /dev/null +++ b/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +name = 'CPLEX' +version = '22.1.1' + +homepage = 'https://www.ibm.com/analytics/cplex-optimizer' +description = """IBM ILOG CPLEX Optimizer's mathematical programming technology enables + analytical decision support for improving efficiency, + reducing costs, and increasing profitability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = ['cplex_studio%s.linux_x86_64.bin' % ''.join(version.split('.'))] +checksums = ['ab6d3f0953fdb3cbd43854452357955ef96db8b751c0866de3572fc47a0df542'] + +download_instructions = """ +1. Visit https://www.ibm.com/products/ilog-cplex-optimization-studio +2. Sign up and download the Academic Edition +""" + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..b2a546120a1e --- /dev/null +++ b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-11.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'CPPE' +version = '0.3.1' + +homepage = 'https://github.com/maxscheurer/cppe' +description = """CPPE is an open-source, light-weight C++ and Python library for Polarizable +Embedding (PE)1,2 calculations. It provides an easy-to-use API to implement PE +for ground-state self-consistent field (SCF) calculations and post-SCF methods. +A convenient Python interface is also available.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'maxscheurer' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['38d4230ba3ace78936049c23ad4b1fe9e704fd250ec57cc9733cb3904b62cf7c'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pybind11', '2.9.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} +exts_list = [ + ('cppe', version, { + 'source_urls': [PYPI_SOURCE], + 'checksums': ['b0aef578d6919f8c103d4d4a9fcd3db481bd73c59c157985f52bf62477425d6c'], + }), +] + +sanity_check_paths = { + 'files': ['lib/libcppe.%s' % SHLIB_EXT], + 'dirs': ['include/cppe', 'lib/python%(pyshortver)s/site-packages', 'share/cmake'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CTPL/CTPL-0.0.2-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CTPL/CTPL-0.0.2-GCC-11.3.0.eb new file mode 100644 index 000000000000..360aea103ca1 --- /dev/null +++ b/easybuild/easyconfigs/c/CTPL/CTPL-0.0.2-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CmdCp' + +name = 'CTPL' +version = '0.0.2' + +homepage = 'https://github.com/vit-vit/CTPL.git' + +description = "Modern and efficient C++ Thread Pool Library" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'vit-vit' +source_urls = [GITHUB_SOURCE] +sources = ['%(namelower)s_v.%(version)s.tar.gz'] +checksums = ['8c1cec7c570d6d84be1d29283af5039ea27c3e69703bd446d396424bf619816e'] + +dependencies = [ + ('Boost', '1.79.0'), +] + +cmds_map = [('.*', "echo Nothing to build")] + +files_to_copy = [(['ctpl.h', 'ctpl_stl.h'], 'include/CTPL'), 'LICENSE', 'example.cpp'] + +sanity_check_paths = { + 'files': ['include/CTPL/%s' % x for x in ['ctpl.h', 'ctpl_stl.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.3-GCC-10.3.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.3-GCC-10.3.0-CUDA-11.3.1.eb new file mode 100644 index 000000000000..b71d2bfad4d6 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.3-GCC-10.3.0-CUDA-11.3.1.eb @@ -0,0 +1,53 @@ +easyblock = 'MakeCp' + +name = 'CUDA-Samples' +version = '11.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cuda-samples' +description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2bee5f7c89347259aaab75aa6df6e10375059bdbbaf04cc7936f5db7d54fa3ac'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), +] + +# Get rid of pre-built Windows DLLs and only build deviceQuery for now. +prebuildopts = "rm -r bin/win64 && " + +# Filter out samples that require extensive dependencies. +local_filters = "Samples/EGLStream_CUDA_Interop/Makefile " +local_filters += "Samples/boxFilterNPP/Makefile " +local_filters += "Samples/cannyEdgeDetectorNPP/Makefile " +local_filters += "Samples/cudaNvSci/Makefile " +local_filters += "Samples/cudaNvSciNvMedia/Makefile " +local_filters += "Samples/simpleGL/Makefile " +local_filters += "Samples/warpAggregatedAtomicsCG/Makefile " +local_filters += "Samples/simpleVulkan/Makefile " +local_filters += "Samples/simpleVulkanMMAP/Makefile " +local_filters += "Samples/streamOrderedAllocationIPC/Makefile " +local_filters += "Samples/vulkanImageCUDA/Makefile" +buildopts = "HOST_COMPILER=g++ FILTER_OUT='%s'" % local_filters + +files_to_copy = [ + (['bin/%s/linux/release/*' % ARCH], 'bin'), + 'LICENSE', +] + +local_binaries = ['deviceQuery', 'matrixMul', 'bandwidthTest', 'cudaOpenMP'] + +# Only paths are used for sanity checks. +# Commands may fail due to missing compatibility libraries that might be needed +# to be able to use this specific CUDA version in combination with the available +# NVIDIA drivers. +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.5.2.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.2.eb new file mode 100644 index 000000000000..bc5895712e02 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.2.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.5.2' +local_nv_version = '495.29.05' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [ + { + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + '74959abf02bcba526f0a3aae322c7641b25da040ccd6236d07038f81997b73a6', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '45c468f430436b3e95d5e485a6ba0ec1fa2b23dc6c551c1307b79996ecf0a7ed', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '31337c8bdc224fa1bd07bc4b6a745798392428118cc8ea0fa4446ee4ad47dd30', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.8.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.8.0.eb new file mode 100644 index 000000000000..4fc4d6173cee --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.8.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '11.8.0' +local_nv_version = '520.61.05' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [{ + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + '9223c4af3aebe4a7bbed9abd9b163b03a1b34b855fbc2b4a0d1b706ac09a5a16', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'f917fb7617033223938543ad3ae923190d99507acc08a399d752a2868e87349d', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'e6e9a8d31163c9776b5e313fd7590877c5684e1ecddee741154f95704d4ed27c' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.0.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.0.0.eb new file mode 100644 index 000000000000..9b47dfcc5716 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.0.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.0.0' +local_nv_version = '525.60.13' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [{ + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + '905e9b9516900839fb76064719db752439f38b8cb730b49335d8bd53ddfad392', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '117fe045c71668e45d41c6119b6f27875370c78e33fc56795b6fe014c796ec60', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'cd13e9c65d4c8f895a968706f46064d536be09f9706bce081cc864b7e4fa4544' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.1.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.1.0.eb new file mode 100644 index 000000000000..121525aa098b --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.1.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.1.0' +local_nv_version = '530.30.02' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [{ + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + '68699036c12d71adb9ad2799dce2ff070270fab4488b90920b9756ab3f52c41c', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '8d75bd9da953a51062b89b8c752cffcf02b02c85cb461291d354ac2cffb2da48', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '1d0dd884f5257c12471dc455dc1a4aee8d620191737c0b2e40f016d8adc9d009' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..cae0ab9fe40e --- /dev/null +++ b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'CUnit' +version = '2.1-3' + +homepage = 'https://sourceforge.net/projects/cunit/' +description = "Automated testing framework for C." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['lib/libcunit.a', 'lib/libcunit.%s' % SHLIB_EXT], + 'dirs': ['include/CUnit', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ee6242554c7f --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.3-GCCcore-12.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.10.3' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '12.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 = ['97fde3cf05129db919453af4ef6c6a415662111c2e6e9b5194e2566d44b8507a'] + +builddependencies = [('binutils', '2.39')] + +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/Cartopy/Cartopy-0.20.3-foss-2022a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb new file mode 100644 index 000000000000..436e9a24ca9d --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.20.3' + +homepage = 'https://scitools.org.uk/cartopy/docs/latest/' +description = """Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Fiona', '1.8.21'), + ('GDAL', '3.5.0'), + ('GEOS', '3.10.3'), + ('matplotlib', '3.5.2'), + ('pyproj', '3.4.0'), + ('SciPy-bundle', '2022.05'), + ('Shapely', '1.8.2'), + ('lxml', '4.9.1'), + ('Pillow', '9.1.1'), + ('PROJ', '9.0.0'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('OWSLib', '0.27.2', { + 'checksums': ['e102aa2444dfe0c8439ab1e1776cc0fa47cea28c09b8a28212c893c6017c179b'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.5', { + 'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'], + }), + ('pyshp', '2.3.1', { + 'modulename': 'shapefile', + 'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'], + }), + (name, version, { + 'checksums': ['0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..13264c0021f2 --- /dev/null +++ b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,71 @@ +easyblock = 'PythonBundle' + +name = 'Casanovo' +version = '3.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://casanovo.readthedocs.io' +description = "De Novo Mass Spectrometry Peptide Sequencing with a Transformer Model" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('lxml', '4.9.1'), + ('einops', '0.4.1'), + ('PyTorch', '1.12.0', versionsuffix), + ('PyTorch-Lightning', '1.8.4', versionsuffix), + ('scikit-learn', '1.1.2'), + ('numba', '0.56.4', versionsuffix), + ('tensorboard', '2.10.0'), +] + +exts_list = [ + ('pyteomics', '4.5.6', { + 'checksums': ['8c6e79068f18d853218967a312c22861422df69fdcf62499a258526f687b126f'], + }), + ('depthcharge-ms', '0.1.0', { + 'checksums': ['237f8e70fd237fdc945882e981170321ac7da2638ba24b52f72dad9ff2262096'], + 'modulename': 'depthcharge', + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('PyGithub', '1.58.1', { + 'checksums': ['7d528b4ad92bc13122129fafd444ce3d04c47d2d801f6446b6e6ee2d410235b3'], + 'modulename': 'github', + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('fastobo', '0.12.2', { + 'checksums': ['2f2779f70ac54874329dddc74cabd86fea88abe56c544c2238076c1d27fe045e'], + }), + ('lark', '1.1.5', { + 'checksums': ['4b534eae1f9af5b4ea000bea95776350befe1981658eea3820a01c37e504bb4d'], + }), + ('spectrum-utils', '0.4.1', { + 'sources': ['spectrum_utils-%(version)s.tar.gz'], + 'checksums': ['c4f1c80de8144fb8d6fc276968ef4d5e896dad03bb8a9316f69c73ee82affd85'], + }), + ('casanovo', version, { + 'checksums': ['d9358c64a549d00f0568ebef65d5500ad63041e9ea2ebd348a7e650c8177ff81'], + }), +] + +sanity_check_paths = { + 'files': ['bin/casanovo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["casanovo --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a.eb b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a.eb new file mode 100644 index 000000000000..8318aafc346c --- /dev/null +++ b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'Casanovo' +version = '3.3.0' + +homepage = 'https://casanovo.readthedocs.io' +description = "De Novo Mass Spectrometry Peptide Sequencing with a Transformer Model" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('lxml', '4.9.1'), + ('einops', '0.4.1'), + ('PyTorch', '1.12.0'), + ('PyTorch-Lightning', '1.8.4'), + ('scikit-learn', '1.1.2'), + ('numba', '0.56.4'), + ('tensorboard', '2.10.0'), +] + +exts_list = [ + ('pyteomics', '4.5.6', { + 'checksums': ['8c6e79068f18d853218967a312c22861422df69fdcf62499a258526f687b126f'], + }), + ('depthcharge-ms', '0.1.0', { + 'checksums': ['237f8e70fd237fdc945882e981170321ac7da2638ba24b52f72dad9ff2262096'], + 'modulename': 'depthcharge', + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('PyGithub', '1.58.1', { + 'checksums': ['7d528b4ad92bc13122129fafd444ce3d04c47d2d801f6446b6e6ee2d410235b3'], + 'modulename': 'github', + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('fastobo', '0.12.2', { + 'checksums': ['2f2779f70ac54874329dddc74cabd86fea88abe56c544c2238076c1d27fe045e'], + }), + ('lark', '1.1.5', { + 'checksums': ['4b534eae1f9af5b4ea000bea95776350befe1981658eea3820a01c37e504bb4d'], + }), + ('spectrum-utils', '0.4.1', { + 'sources': ['spectrum_utils-%(version)s.tar.gz'], + 'checksums': ['c4f1c80de8144fb8d6fc276968ef4d5e896dad03bb8a9316f69c73ee82affd85'], + }), + ('casanovo', version, { + 'checksums': ['d9358c64a549d00f0568ebef65d5500ad63041e9ea2ebd348a7e650c8177ff81'], + }), +] + +sanity_check_paths = { + 'files': ['bin/casanovo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["casanovo --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CatLearn/CatLearn-0.6.2-intel-2022a.eb b/easybuild/easyconfigs/c/CatLearn/CatLearn-0.6.2-intel-2022a.eb new file mode 100644 index 000000000000..6fb6ada86bb2 --- /dev/null +++ b/easybuild/easyconfigs/c/CatLearn/CatLearn-0.6.2-intel-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'CatLearn' +version = '0.6.2' + +homepage = 'https://catlearn.readthedocs.io' +description = "An environment for atomistic machine learning in Python for applications in catalysis" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('networkx', '2.8.4'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('ASE', '3.22.1'), + ('GPAW', '22.8.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['5af6622e4660f3b5760267fccd9c5da6f1a4a88aad0aacc044067a68f92e2bbd'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/CatMAP/CatMAP-20220519-foss-2022a.eb b/easybuild/easyconfigs/c/CatMAP/CatMAP-20220519-foss-2022a.eb new file mode 100644 index 000000000000..108a61cb5d65 --- /dev/null +++ b/easybuild/easyconfigs/c/CatMAP/CatMAP-20220519-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'CatMAP' +version = '20220519' +local_commit = '092f03a' + +homepage = 'https://catmap.readthedocs.io' +description = """Catalyst Micro-kinetic Analysis Package for automated creation of micro-kinetic models used + in catalyst screening.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('ASE', '3.22.1'), + ('gmpy2', '2.1.2'), + ('graphviz-python', '0.20.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/SUNCAT-Center/catmap/archive/'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b64c0bc7a1131c4dcc128e1d3cafe3802f2d7171e6819c52c4296f3d1e549e16'], + # work around incorrect version requirement for ASE which should only apply to Python < 3.5 + 'preinstallopts': "sed -i 's/ase==/ase>=/g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CellOracle/CellOracle-0.12.0-foss-2022a.eb b/easybuild/easyconfigs/c/CellOracle/CellOracle-0.12.0-foss-2022a.eb new file mode 100644 index 000000000000..e712870108d9 --- /dev/null +++ b/easybuild/easyconfigs/c/CellOracle/CellOracle-0.12.0-foss-2022a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'CellOracle' +version = '0.12.0' + +homepage = 'https://github.com/morris-lab/CellOracle' +description = """CellOracle is a Python library for in silico gene perturbation analyses using single-cell omics data +and Gene Regulatory Network models.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('R', '4.2.1'), + ('SciPy-bundle', '2022.05'), + ('numba', '0.56.4'), + ('matplotlib', '3.5.2'), + ('Seaborn', '0.12.1'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), + ('velocyto', '0.17.17'), + ('umap-learn', '0.5.3'), + ('Arrow', '8.0.0'), + ('tqdm', '4.64.0'), + ('igraph', '0.10.3'), + ('IPython', '8.5.0'), + ('scanpy', '1.9.1'), + ('GOATOOLS', '1.3.1'), + ('genomepy', '0.15.0'), + ('GimmeMotifs', '0.17.2'), + ('Qtconsole', '5.4.0'), +] + +use_pip = True + +# remove louvain from requirements, since CellOracle doesn't actually use it at all +local_preinstallopts = "sed -i '/louvain/d' requirements.txt && " +# drop strict version requirement for gimmemotifs dependency +local_preinstallopts += "sed -i 's/gimmemotifs.*/gimmemotifs/g' requirements.txt && " + +exts_list = [ + ('jupyter-console', '6.4.4', { + 'sources': ['jupyter_console-%(version)s.tar.gz'], + 'checksums': ['172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('celloracle', version, { + 'checksums': ['9d533ee3e8c14828b6859ea195e92d184b050b0782fee430eda3b01359a564d5'], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_check_commands = ["python -c 'import celloracle; celloracle.check_python_requirements()'"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-7.1.0.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.1.0.eb new file mode 100644 index 000000000000..fc786ab6fbef --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.1.0.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '7.1.0' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5c4f9b142e3c30ad10ae15d25868df2b4fd05bdb3bbd47da0c83a7cc649b577e'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-foss-2020b.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-foss-2020b.eb new file mode 100644 index 000000000000..b86e1d18a3bb --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-foss-2020b.eb @@ -0,0 +1,47 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Cellpose' +version = '0.6.5' + +homepage = "https://www.cellpose.org/" +description = """a generalist algorithm for cellular segmentation""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('numba', '0.53.1'), + ('OpenCV', '4.5.1', '-contrib'), + ('Python', '3.8.6'), + ('PyQt5', '5.15.1'), + ('PyQtGraph', '0.11.1'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('tifffile', '2021.8.8', { + 'checksums': ['8260f31c4700143e8374ff6cde5cef7fe54fc9b7313afe88329f407881901dc5'], + }), + (name, version, { + 'patches': [ + '%(name)s-%(version)s_OpenCV.patch', + '%(name)s-%(version)s_PyQt5.patch', + ], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'gui', + 'checksums': [ + '19aafedfe5723285f270ad55e7947fbd828abff943a13216a8205809e41fb870', # cellpose-0.6.5.tar.gz + 'b8fd5bece5b5ea66ce41a08f0468fe5785dd4b07cc281eac08a19dd38e3ef410', # Cellpose-0.6.5_OpenCV.patch + '97fc96189993127998fd1388228a4a1b52bbe15d7355162579259a795ebbd937', # Cellpose-0.6.5_PyQt5.patch + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-fosscuda-2020b.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-fosscuda-2020b.eb new file mode 100644 index 000000000000..47616f4265c6 --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-fosscuda-2020b.eb @@ -0,0 +1,47 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Cellpose' +version = '0.6.5' + +homepage = "https://www.cellpose.org/" +description = """a generalist algorithm for cellular segmentation""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('numba', '0.53.1'), + ('OpenCV', '4.5.1', '-contrib'), + ('Python', '3.8.6'), + ('PyQt5', '5.15.1'), + ('PyQtGraph', '0.11.1'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('tifffile', '2021.8.8', { + 'checksums': ['8260f31c4700143e8374ff6cde5cef7fe54fc9b7313afe88329f407881901dc5'], + }), + (name, version, { + 'patches': [ + '%(name)s-%(version)s_OpenCV.patch', + '%(name)s-%(version)s_PyQt5.patch', + ], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'gui', + 'checksums': [ + '19aafedfe5723285f270ad55e7947fbd828abff943a13216a8205809e41fb870', # cellpose-0.6.5.tar.gz + 'b8fd5bece5b5ea66ce41a08f0468fe5785dd4b07cc281eac08a19dd38e3ef410', # Cellpose-0.6.5_OpenCV.patch + '97fc96189993127998fd1388228a4a1b52bbe15d7355162579259a795ebbd937', # Cellpose-0.6.5_PyQt5.patch + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_OpenCV.patch b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_OpenCV.patch new file mode 100644 index 000000000000..f04e4a54506e --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_OpenCV.patch @@ -0,0 +1,14 @@ +Remove opencv-python-headless as we'll use the EB OpenCV instead +Patch by Simon Branford (University of Birmingham) +--- setup.py.orig 2021-08-11 11:44:31.239366000 +0100 ++++ setup.py 2021-08-11 11:44:40.662227000 +0100 +@@ -3,8 +3,7 @@ + + install_deps = ['numpy', 'scipy', 'natsort', + 'tifffile', 'tqdm', 'numba', +- 'torch>=1.6', +- 'opencv-python-headless'] ++ 'torch>=1.6'] + + try: + import torch diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_PyQt5.patch b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_PyQt5.patch new file mode 100644 index 000000000000..a4a33a8ae3ea --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_PyQt5.patch @@ -0,0 +1,855 @@ +From 9f030e804e729924344e1bb1c3676478b812fe8e Mon Sep 17 00:00:00 2001 +From: Carsen Stringer +Date: Mon, 9 Aug 2021 16:53:02 -0400 +Subject: [PATCH] fixing changes in pyqt5 imports (#298) + +--- + cellpose/gui/gui.py | 87 ++++++++++++++-------------- + cellpose/gui/guiparts.py | 121 ++++++++++++++++++--------------------- + cellpose/gui/io.py | 8 +-- + cellpose/gui/menus.py | 34 +++++------ + tests/test_train.py | 6 +- + 5 files changed, 123 insertions(+), 133 deletions(-) + +diff --git a/cellpose/gui/gui.py b/cellpose/gui/gui.py +index 5734bbb..28b2849 100644 +--- a/cellpose/gui/gui.py ++++ b/cellpose/gui/gui.py +@@ -4,6 +4,7 @@ + from tqdm import tqdm + + from PyQt5 import QtGui, QtCore, Qt, QtWidgets ++from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QScrollBar, QSlider, QComboBox, QGridLayout, QPushButton, QFrame, QCheckBox, QLabel, QProgressBar, QLineEdit + import pyqtgraph as pg + from pyqtgraph import GraphicsScene + +@@ -32,11 +33,11 @@ + except: + SERVER_UPLOAD = False + +-class QHLine(QtGui.QFrame): ++class QHLine(QFrame): + def __init__(self): + super(QHLine, self).__init__() +- self.setFrameShape(QtGui.QFrame.HLine) +- self.setFrameShadow(QtGui.QFrame.Sunken) ++ self.setFrameShape(QFrame.HLine) ++ self.setFrameShadow(QFrame.Sunken) + + def avg3d(C): + """ smooth value of c across nearby points +@@ -115,7 +116,7 @@ def make_cmap(cm=0): + def run(image=None): + # Always start by initializing Qt (only once per application) + warnings.filterwarnings("ignore") +- app = QtGui.QApplication(sys.argv) ++ app = QApplication(sys.argv) + icon_path = pathlib.Path.home().joinpath('.cellpose', 'logo.png') + guip_path = pathlib.Path.home().joinpath('.cellpose', 'cellpose_gui.png') + if not icon_path.is_file(): +@@ -148,7 +149,7 @@ def get_unique_points(set): + set = list(np.unique(cps, axis=0)) + return set + +-class MainW(QtGui.QMainWindow): ++class MainW(QMainWindow): + def __init__(self, image=None): + super(MainW, self).__init__() + +@@ -187,8 +188,8 @@ def __init__(self, image=None): + self.loaded = False + + # ---- MAIN WIDGET LAYOUT ---- # +- self.cwidget = QtGui.QWidget(self) +- self.l0 = QtGui.QGridLayout() ++ self.cwidget = QWidget(self) ++ self.l0 = QGridLayout() + self.cwidget.setLayout(self.l0) + self.setCentralWidget(self.cwidget) + self.l0.setVerticalSpacing(6) +@@ -255,17 +256,17 @@ def make_buttons(self): + "selection-background-color: rgb(50,100,50);") + self.checkstyle = "color: rgb(190,190,190);" + +- label = QtGui.QLabel('Views:')#[\u2191 \u2193]') ++ label = QLabel('Views:')#[\u2191 \u2193]') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, 0,0,1,1) + +- label = QtGui.QLabel('[up/down or W/S]') ++ label = QLabel('[up/down or W/S]') + label.setStyleSheet(label_style) + label.setFont(self.smallfont) + self.l0.addWidget(label, 1,0,1,1) + +- label = QtGui.QLabel('[pageup/down]') ++ label = QLabel('[pageup/down]') + label.setStyleSheet(label_style) + label.setFont(self.smallfont) + self.l0.addWidget(label, 1,1,1,1) +@@ -274,7 +275,7 @@ def make_buttons(self): + self.view = 0 # 0=image, 1=flowsXY, 2=flowsZ, 3=cellprob + self.color = 0 # 0=RGB, 1=gray, 2=R, 3=G, 4=B + self.RGBChoose = guiparts.RGBRadioButtons(self, b,1) +- self.RGBDropDown = QtGui.QComboBox() ++ self.RGBDropDown = QComboBox() + self.RGBDropDown.addItems(["RGB","gray","spectral","red","green","blue"]) + self.RGBDropDown.setFont(self.medfont) + self.RGBDropDown.currentIndexChanged.connect(self.color_choose) +@@ -292,21 +293,21 @@ def make_buttons(self): + line.setStyleSheet('color: white;') + self.l0.addWidget(line, b,0,1,2) + b+=1 +- label = QtGui.QLabel('Drawing:') ++ label = QLabel('Drawing:') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, b,0,1,2) + + b+=1 + self.brush_size = 3 +- self.BrushChoose = QtGui.QComboBox() ++ self.BrushChoose = QComboBox() + self.BrushChoose.addItems(["1","3","5","7","9"]) + self.BrushChoose.currentIndexChanged.connect(self.brush_choose) + self.BrushChoose.setFixedWidth(60) + self.BrushChoose.setStyleSheet(self.dropdowns) + self.BrushChoose.setFont(self.medfont) + self.l0.addWidget(self.BrushChoose, b, 1,1,1) +- label = QtGui.QLabel('brush size: [, .]') ++ label = QLabel('brush size: [, .]') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + self.l0.addWidget(label, b,0,1,1) +@@ -317,7 +318,7 @@ def make_buttons(self): + + b+=1 + # turn on draw mode +- self.SCheckBox = QtGui.QCheckBox('single stroke') ++ self.SCheckBox = QCheckBox('single stroke') + self.SCheckBox.setStyleSheet(self.checkstyle) + self.SCheckBox.setFont(self.medfont) + self.SCheckBox.toggled.connect(self.autosave_on) +@@ -325,7 +326,7 @@ def make_buttons(self): + + b+=1 + # turn on crosshairs +- self.CHCheckBox = QtGui.QCheckBox('cross-hairs') ++ self.CHCheckBox = QCheckBox('cross-hairs') + self.CHCheckBox.setStyleSheet(self.checkstyle) + self.CHCheckBox.setFont(self.medfont) + self.CHCheckBox.toggled.connect(self.cross_hairs) +@@ -335,7 +336,7 @@ def make_buttons(self): + # turn off masks + self.layer_off = False + self.masksOn = True +- self.MCheckBox = QtGui.QCheckBox('MASKS ON [X]') ++ self.MCheckBox = QCheckBox('MASKS ON [X]') + self.MCheckBox.setStyleSheet(self.checkstyle) + self.MCheckBox.setFont(self.medfont) + self.MCheckBox.setChecked(True) +@@ -345,7 +346,7 @@ def make_buttons(self): + b+=1 + # turn off outlines + self.outlinesOn = True +- self.OCheckBox = QtGui.QCheckBox('outlines on [Z]') ++ self.OCheckBox = QCheckBox('outlines on [Z]') + self.OCheckBox.setStyleSheet(self.checkstyle) + self.OCheckBox.setFont(self.medfont) + self.OCheckBox.setChecked(True) +@@ -354,7 +355,7 @@ def make_buttons(self): + + b+=1 + # send to server +- self.ServerButton = QtGui.QPushButton(' send manual seg. to server') ++ self.ServerButton = QPushButton(' send manual seg. to server') + self.ServerButton.clicked.connect(lambda: save_server(self)) + self.l0.addWidget(self.ServerButton, b,0,1,2) + self.ServerButton.setEnabled(False) +@@ -366,19 +367,19 @@ def make_buttons(self): + line.setStyleSheet('color: white;') + self.l0.addWidget(line, b,0,1,2) + b+=1 +- label = QtGui.QLabel('Segmentation:') ++ label = QLabel('Segmentation:') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, b,0,1,2) + + b+=1 + self.diameter = 30 +- label = QtGui.QLabel('cell diameter (pixels) (click ENTER):') ++ label = QLabel('cell diameter (pixels) (click ENTER):') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + label.setToolTip('you can manually enter the approximate diameter for your cells, \nor press “calibrate” to let the model estimate it. \nThe size is represented by a disk at the bottom of the view window \n(can turn this disk off by unchecking “scale disk on”)') + self.l0.addWidget(label, b, 0,1,2) +- self.Diameter = QtGui.QLineEdit() ++ self.Diameter = QLineEdit() + self.Diameter.setToolTip('you can manually enter the approximate diameter for your cells, \nor press “calibrate” to let the model estimate it. \nThe size is represented by a disk at the bottom of the view window \n(can turn this disk off by unchecking “scale disk on”)') + self.Diameter.setText(str(self.diameter)) + self.Diameter.setFont(self.medfont) +@@ -388,7 +389,7 @@ def make_buttons(self): + self.l0.addWidget(self.Diameter, b, 0,1,2) + + # recompute model +- self.SizeButton = QtGui.QPushButton(' calibrate') ++ self.SizeButton = QPushButton(' calibrate') + self.SizeButton.clicked.connect(self.calibrate_size) + self.l0.addWidget(self.SizeButton, b,1,1,1) + self.SizeButton.setEnabled(False) +@@ -398,7 +399,7 @@ def make_buttons(self): + # scale toggle + b+=1 + self.scale_on = True +- self.ScaleOn = QtGui.QCheckBox('scale disk on') ++ self.ScaleOn = QCheckBox('scale disk on') + self.ScaleOn.setFont(self.medfont) + self.ScaleOn.setStyleSheet('color: red;') + self.ScaleOn.setChecked(True) +@@ -408,7 +409,7 @@ def make_buttons(self): + + # use GPU + b+=1 +- self.useGPU = QtGui.QCheckBox('use GPU') ++ self.useGPU = QCheckBox('use GPU') + self.useGPU.setStyleSheet(self.checkstyle) + self.useGPU.setFont(self.medfont) + self.useGPU.setToolTip('if you have specially installed the cuda version of mxnet, then you can activate this, but it won’t give huge speedups when running single 2D images in the GUI.') +@@ -416,7 +417,7 @@ def make_buttons(self): + self.l0.addWidget(self.useGPU, b,0,1,1) + + # fast mode +- self.NetAvg = QtGui.QComboBox() ++ self.NetAvg = QComboBox() + self.NetAvg.addItems(['average 4 nets', '+ resample (slow)', 'run 1 net (fast)', ]) + self.NetAvg.setFont(self.medfont) + self.NetAvg.setToolTip('average 4 different fit networks (default) + resample for smooth masks (slow) or run 1 network (fast)') +@@ -424,7 +425,7 @@ def make_buttons(self): + + b+=1 + # choose models +- self.ModelChoose = QtGui.QComboBox() ++ self.ModelChoose = QComboBox() + self.model_dir = pathlib.Path.home().joinpath('.cellpose', 'models') + models = ['cyto', 'nuclei', 'cyto2'] + self.ModelChoose.addItems(models) +@@ -432,7 +433,7 @@ def make_buttons(self): + self.ModelChoose.setStyleSheet(self.dropdowns) + self.ModelChoose.setFont(self.medfont) + self.l0.addWidget(self.ModelChoose, b, 1,1,1) +- label = QtGui.QLabel('model: ') ++ label = QLabel('model: ') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + label.setToolTip('there is a cyto model, a new cyto2 model from user submissions, and a nuclei model') +@@ -441,7 +442,7 @@ def make_buttons(self): + + b+=1 + # choose channel +- self.ChannelChoose = [QtGui.QComboBox(), QtGui.QComboBox()] ++ self.ChannelChoose = [QComboBox(), QComboBox()] + self.ChannelChoose[0].addItems(['gray','red','green','blue']) + self.ChannelChoose[1].addItems(['none','red','green','blue']) + cstr = ['chan to segment:', 'chan2 (optional): '] +@@ -449,7 +450,7 @@ def make_buttons(self): + self.ChannelChoose[i].setFixedWidth(70) + self.ChannelChoose[i].setStyleSheet(self.dropdowns) + self.ChannelChoose[i].setFont(self.medfont) +- label = QtGui.QLabel(cstr[i]) ++ label = QLabel(cstr[i]) + label.setStyleSheet(label_style) + label.setFont(self.medfont) + if i==0: +@@ -464,28 +465,28 @@ def make_buttons(self): + + # use inverted image for running cellpose + b+=1 +- self.invert = QtGui.QCheckBox('invert grayscale') ++ self.invert = QCheckBox('invert grayscale') + self.invert.setStyleSheet(self.checkstyle) + self.invert.setFont(self.medfont) + self.l0.addWidget(self.invert, b,0,1,2) + + b+=1 + # recompute model +- self.ModelButton = QtGui.QPushButton(' run segmentation') ++ self.ModelButton = QPushButton(' run segmentation') + self.ModelButton.clicked.connect(self.compute_model) + self.l0.addWidget(self.ModelButton, b,0,1,2) + self.ModelButton.setEnabled(False) + self.ModelButton.setStyleSheet(self.styleInactive) + self.ModelButton.setFont(self.boldfont) + b+=1 +- self.progress = QtGui.QProgressBar(self) ++ self.progress = QProgressBar(self) + self.progress.setStyleSheet('color: gray;') + self.l0.addWidget(self.progress, b,0,1,2) + + # post-hoc paramater tuning + + b+=1 +- label = QtGui.QLabel('model match threshold:') ++ label = QLabel('model match threshold:') + label.setToolTip('threshold on gradient match to accept a mask (set lower to get more cells)') + label.setStyleSheet(label_style) + label.setFont(self.medfont) +@@ -493,7 +494,7 @@ def make_buttons(self): + + b+=1 + self.threshold = 0.4 +- self.threshslider = QtGui.QSlider() ++ self.threshslider = QSlider() + self.threshslider.setOrientation(QtCore.Qt.Horizontal) + self.threshslider.setMinimum(1.0) + self.threshslider.setMaximum(30.0) +@@ -504,14 +505,14 @@ def make_buttons(self): + self.threshslider.setEnabled(False) + + b+=1 +- label = QtGui.QLabel('cell prob threshold:') ++ label = QLabel('cell prob threshold:') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + self.l0.addWidget(label, b, 0,1,2) + label.setToolTip('cell probability threshold (set lower to get more cells)') + + b+=1 +- self.probslider = QtGui.QSlider() ++ self.probslider = QSlider() + self.probslider.setOrientation(QtCore.Qt.Horizontal) + self.probslider.setMinimum(-6.0) + self.probslider.setMaximum(6.0) +@@ -527,14 +528,14 @@ def make_buttons(self): + line.setStyleSheet('color: white;') + self.l0.addWidget(line, b,0,1,2) + +- self.autobtn = QtGui.QCheckBox('auto-adjust') ++ self.autobtn = QCheckBox('auto-adjust') + self.autobtn.setStyleSheet(self.checkstyle) + self.autobtn.setFont(self.medfont) + self.autobtn.setChecked(True) + self.l0.addWidget(self.autobtn, b+2,0,1,1) + + b+=1 +- label = QtGui.QLabel('Image saturation:') ++ label = QLabel('Image saturation:') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, b,0,1,2) +@@ -545,18 +546,18 @@ def make_buttons(self): + self.slider.setMaximum(255) + self.slider.setLow(0) + self.slider.setHigh(255) +- self.slider.setTickPosition(QtGui.QSlider.TicksRight) ++ self.slider.setTickPosition(QSlider.TicksRight) + self.l0.addWidget(self.slider, b,1,1,1) + self.l0.setRowStretch(b, 1) + + b+=2 + # add z position underneath + self.currentZ = 0 +- label = QtGui.QLabel('Z:') ++ label = QLabel('Z:') + label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) + label.setStyleSheet(label_style) + self.l0.addWidget(label, b, 0,1,1) +- self.zpos = QtGui.QLineEdit() ++ self.zpos = QLineEdit() + self.zpos.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) + self.zpos.setText(str(self.currentZ)) + self.zpos.returnPressed.connect(self.compute_scale) +@@ -564,7 +565,7 @@ def make_buttons(self): + self.l0.addWidget(self.zpos, b, 1,1,1) + + # add scrollbar underneath +- self.scroll = QtGui.QScrollBar(QtCore.Qt.Horizontal) ++ self.scroll = QScrollBar(QtCore.Qt.Horizontal) + self.scroll.setMaximum(10) + self.scroll.valueChanged.connect(self.move_in_Z) + self.l0.addWidget(self.scroll, b,3,1,20) +diff --git a/cellpose/gui/guiparts.py b/cellpose/gui/guiparts.py +index 6b9590b..841c514 100644 +--- a/cellpose/gui/guiparts.py ++++ b/cellpose/gui/guiparts.py +@@ -1,4 +1,6 @@ + from PyQt5 import QtGui, QtCore, QtWidgets ++from PyQt5.QtGui import QPainter, QPixmap ++from PyQt5.QtWidgets import QApplication, QRadioButton, QWidget, QDialog, QButtonGroup, QSlider, QStyle, QStyleOptionSlider, QGridLayout, QPushButton, QLabel + import pyqtgraph as pg + from pyqtgraph import functions as fn + from pyqtgraph import Point +@@ -7,7 +9,7 @@ + + def make_quadrants(parent): + """ make quadrant buttons """ +- parent.quadbtns = QtGui.QButtonGroup(parent) ++ parent.quadbtns = QButtonGroup(parent) + for b in range(9): + btn = QuadButton(b, ' '+str(b+1), parent) + parent.quadbtns.addButton(btn, b) +@@ -16,7 +18,7 @@ def make_quadrants(parent): + b += 1 + parent.quadbtns.setExclusive(True) + +-class QuadButton(QtGui.QPushButton): ++class QuadButton(QPushButton): + """ custom QPushButton class for quadrant plotting + requires buttons to put into a QButtonGroup (parent.quadbtns) + allows only 1 button to pressed at a time +@@ -104,29 +106,29 @@ def horizontal_slider_style(): + border-radius: 4px; + }""" + +-class ExampleGUI(QtGui.QDialog): ++class ExampleGUI(QDialog): + def __init__(self, parent=None): + super(ExampleGUI, self).__init__(parent) + self.setGeometry(100,100,1300,900) + self.setWindowTitle('GUI layout') +- self.win = QtGui.QWidget(self) +- layout = QtGui.QGridLayout() ++ self.win = QWidget(self) ++ layout = QGridLayout() + self.win.setLayout(layout) + guip_path = pathlib.Path.home().joinpath('.cellpose', 'cellpose_gui.png') + guip_path = str(guip_path.resolve()) +- pixmap = QtGui.QPixmap(guip_path) +- label = QtGui.QLabel(self) ++ pixmap = QPixmap(guip_path) ++ label = QLabel(self) + label.setPixmap(pixmap) + pixmap.scaled + layout.addWidget(label, 0, 0, 1, 1) + +-class HelpWindow(QtGui.QDialog): ++class HelpWindow(QDialog): + def __init__(self, parent=None): + super(HelpWindow, self).__init__(parent) + self.setGeometry(100,100,700,800) + self.setWindowTitle('cellpose help') +- self.win = QtGui.QWidget(self) +- layout = QtGui.QGridLayout() ++ self.win = QWidget(self) ++ layout = QGridLayout() + self.win.setLayout(layout) + + text = (''' +@@ -225,20 +227,20 @@ def __init__(self, parent=None): +

CHAN TO SEG: this is the channel in which the cytoplasm or nuclei exist

+

CHAN2 (OPT): if cytoplasm model is chosen, then choose the nuclear channel for this option

+ ''') +- label = QtGui.QLabel(text) ++ label = QLabel(text) + label.setFont(QtGui.QFont("Arial", 8)) + label.setWordWrap(True) + layout.addWidget(label, 0, 0, 1, 1) + self.show() + +-class TypeRadioButtons(QtGui.QButtonGroup): ++class TypeRadioButtons(QButtonGroup): + def __init__(self, parent=None, row=0, col=0): + super(TypeRadioButtons, self).__init__() + parent.color = 0 + self.parent = parent + self.bstr = self.parent.cell_types + for b in range(len(self.bstr)): +- button = QtGui.QRadioButton(self.bstr[b]) ++ button = QRadioButton(self.bstr[b]) + button.setStyleSheet('color: rgb(190,190,190);') + button.setFont(QtGui.QFont("Arial", 10)) + if b==0: +@@ -253,16 +255,16 @@ def btnpress(self, parent): + b = self.checkedId() + self.parent.cell_type = b + +-class RGBRadioButtons(QtGui.QButtonGroup): ++class RGBRadioButtons(QButtonGroup): + def __init__(self, parent=None, row=0, col=0): + super(RGBRadioButtons, self).__init__() + parent.color = 0 + self.parent = parent + self.bstr = ["image", "gradXY", "cellprob", "gradZ"] +- #self.buttons = QtGui.QButtonGroup() ++ #self.buttons = QButtonGroup() + self.dropdown = [] + for b in range(len(self.bstr)): +- button = QtGui.QRadioButton(self.bstr[b]) ++ button = QRadioButton(self.bstr[b]) + button.setStyleSheet('color: white;') + button.setFont(QtGui.QFont("Arial", 10)) + if b==0: +@@ -359,7 +361,7 @@ class ImageDraw(pg.ImageItem): + for controlling the levels and lookup table used to display the image. + """ + +- sigImageChanged = QtCore.Signal() ++ sigImageChanged = QtCore.pyqtSignal() + + def __init__(self, image=None, viewbox=None, parent=None, **kargs): + super(ImageDraw, self).__init__() +@@ -534,7 +536,7 @@ def setDrawKernel(self, kernel_size=3): + self.greenmask = np.concatenate((onmask,offmask,onmask,opamask), axis=-1) + + +-class RangeSlider(QtGui.QSlider): ++class RangeSlider(QSlider): + """ A slider for ranges. + + This class provides a dual-slider for ranges, where there is a defined +@@ -553,39 +555,35 @@ def __init__(self, parent=None, *args): + self._low = self.minimum() + self._high = self.maximum() + +- self.pressed_control = QtGui.QStyle.SC_None +- self.hover_control = QtGui.QStyle.SC_None ++ self.pressed_control = QStyle.SC_None ++ self.hover_control = QStyle.SC_None + self.click_offset = 0 + + self.setOrientation(QtCore.Qt.Vertical) +- self.setTickPosition(QtGui.QSlider.TicksRight) +- #self.setStyleSheet(\ +- # "QSlider::handle:vertical {\ +- # background-color: cyan;\ +- # border: 1px solid white;\ +- # border-radius: 2px;\ +- # border-color: white;\ +- # height: 16px;\ +- # width: 3px;\ +- # margin: 8px 2; \ +- # }") +- +- # set groove color +- +- self.opt = QtGui.QStyleOptionSlider() +- self.opt.orientation=QtCore.Qt.Vertical +- self.initStyleOption(self.opt) ++ self.setTickPosition(QSlider.TicksRight) ++ self.setStyleSheet(\ ++ "QSlider::handle:horizontal {\ ++ background-color: white;\ ++ border: 1px solid #5c5c5c;\ ++ border-radius: 0px;\ ++ border-color: black;\ ++ height: 8px;\ ++ width: 6px;\ ++ margin: -8px 2; \ ++ }") ++ ++ ++ #self.opt = QStyleOptionSlider() ++ #self.opt.orientation=QtCore.Qt.Vertical ++ #self.initStyleOption(self.opt) + # 0 for the low, 1 for the high, -1 for both + self.active_slider = 0 + self.parent = parent +- self.show() +- + + def level_change(self): + if self.parent is not None: + if self.parent.loaded: +- for z in range(self.parent.NZ): +- self.parent.saturation[z] = [self._low, self._high] ++ self.parent.ops_plot['saturation'] = [self._low, self._high] + self.parent.update_plot() + + def low(self): +@@ -604,47 +602,38 @@ def setHigh(self, high): + + def paintEvent(self, event): + # based on http://qt.gitorious.org/qt/qt/blobs/master/src/gui/widgets/qslider.cpp +- painter = QtGui.QPainter(self) +- style = QtGui.QApplication.style() ++ painter = QPainter(self) ++ style = QApplication.style() + + for i, value in enumerate([self._low, self._high]): +- opt = QtWidgets.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) + + # Only draw the groove for the first slider so it doesn't get drawn + # on top of the existing ones every time + if i == 0: +- opt.subControls = QtWidgets.QStyle.SC_SliderGroove | QtWidgets.QStyle.SC_SliderHandle ++ opt.subControls = QStyle.SC_SliderHandle#QStyle.SC_SliderGroove | QStyle.SC_SliderHandle + else: +- opt.subControls = QtWidgets.QStyle.SC_SliderHandle ++ opt.subControls = QStyle.SC_SliderHandle + + if self.tickPosition() != self.NoTicks: +- opt.subControls |= QtWidgets.QStyle.SC_SliderTickmarks ++ opt.subControls |= QStyle.SC_SliderTickmarks + + if self.pressed_control: + opt.activeSubControls = self.pressed_control +- opt.state |= QtWidgets.QStyle.State_Sunken ++ opt.state |= QStyle.State_Sunken + else: + opt.activeSubControls = self.hover_control + + opt.sliderPosition = value + opt.sliderValue = value ++ style.drawComplexControl(QStyle.CC_Slider, opt, painter, self) ++ + +- if i==0: +- pen = QtGui.QPen() +- pen.setBrush(QtGui.QColor('#2e4f37')) +- pen.setCapStyle(QtCore.Qt.RoundCap) +- pen.setWidth(3) +- painter.setPen(pen) +- painter.setBrush(QtGui.QColor('#2e4f37')) +- x1,y1,x2,y2 = event.rect().getCoords() +- painter.drawRect(event.rect()) +- style.drawComplexControl(QtWidgets.QStyle.CC_Slider, opt, painter, self) +- + def mousePressEvent(self, event): + event.accept() + +- style = QtGui.QApplication.style() ++ style = QApplication.style() + button = event.button() + # In a normal slider control, when the user clicks on a point in the + # slider's total range, but not on the slider part of the control the +@@ -652,7 +641,7 @@ def mousePressEvent(self, event): + # For this control, clicks which are not direct hits will slide both + # slider parts + if button: +- opt = QtGui.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) + + self.active_slider = -1 +@@ -671,7 +660,7 @@ def mousePressEvent(self, event): + break + + if self.active_slider < 0: +- self.pressed_control = QtGui.QStyle.SC_SliderHandle ++ self.pressed_control = QStyle.SC_SliderHandle + self.click_offset = self.__pixelPosToRangeValue(self.__pick(event.pos())) + self.triggerAction(self.SliderMove) + self.setRepeatAction(self.SliderNoAction) +@@ -679,13 +668,13 @@ def mousePressEvent(self, event): + event.ignore() + + def mouseMoveEvent(self, event): +- if self.pressed_control != QtGui.QStyle.SC_SliderHandle: ++ if self.pressed_control != QStyle.SC_SliderHandle: + event.ignore() + return + + event.accept() + new_pos = self.__pixelPosToRangeValue(self.__pick(event.pos())) +- opt = QtGui.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) + + if self.active_slider < 0: +@@ -723,9 +712,9 @@ def __pick(self, pt): + + + def __pixelPosToRangeValue(self, pos): +- opt = QtGui.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) +- style = QtGui.QApplication.style() ++ style = QApplication.style() + + gr = style.subControlRect(style.CC_Slider, opt, style.SC_SliderGroove, self) + sr = style.subControlRect(style.CC_Slider, opt, style.SC_SliderHandle, self) +diff --git a/cellpose/gui/io.py b/cellpose/gui/io.py +index 95711b9..cb6a6b5 100644 +--- a/cellpose/gui/io.py ++++ b/cellpose/gui/io.py +@@ -9,7 +9,7 @@ + from ..io import imread, imsave, outlines_to_text + + try: +- from PyQt5 import QtGui, QtCore, Qt, QtWidgets ++ from PyQt5.QtWidgets import QFileDialog + GUI = True + except: + GUI = False +@@ -23,7 +23,7 @@ + def _load_image(parent, filename=None): + """ load image with filename; if None, open QFileDialog """ + if filename is None: +- name = QtGui.QFileDialog.getOpenFileName( ++ name = QFileDialog.getOpenFileName( + parent, "Load image" + ) + filename = name[0] +@@ -131,7 +131,7 @@ def _initialize_images(parent, image, resize, X2): + def _load_seg(parent, filename=None, image=None, image_file=None): + """ load *_seg.npy with filename; if None, open QFileDialog """ + if filename is None: +- name = QtGui.QFileDialog.getOpenFileName( ++ name = QFileDialog.getOpenFileName( + parent, "Load labelled data", filter="*.npy" + ) + filename = name[0] +@@ -276,7 +276,7 @@ def _load_seg(parent, filename=None, image=None, image_file=None): + def _load_masks(parent, filename=None): + """ load zeros-based masks (0=no cell, 1=cell 1, ...) """ + if filename is None: +- name = QtGui.QFileDialog.getOpenFileName( ++ name = QFileDialog.getOpenFileName( + parent, "Load masks (PNG or TIFF)" + ) + filename = name[0] +diff --git a/cellpose/gui/menus.py b/cellpose/gui/menus.py +index b01f76a..2efbace 100644 +--- a/cellpose/gui/menus.py ++++ b/cellpose/gui/menus.py +@@ -1,4 +1,4 @@ +-from PyQt5 import QtGui, QtCore, Qt, QtWidgets ++from PyQt5.QtWidgets import QAction + from . import io + from .. import models + from ..io import save_server +@@ -7,51 +7,51 @@ def mainmenu(parent): + main_menu = parent.menuBar() + file_menu = main_menu.addMenu("&File") + # load processed data +- loadImg = QtGui.QAction("&Load image (*.tif, *.png, *.jpg)", parent) ++ loadImg = QAction("&Load image (*.tif, *.png, *.jpg)", parent) + loadImg.setShortcut("Ctrl+L") + loadImg.triggered.connect(lambda: io._load_image(parent)) + file_menu.addAction(loadImg) + +- parent.loadMasks = QtGui.QAction("Load &masks (*.tif, *.png, *.jpg)", parent) ++ parent.loadMasks = QAction("Load &masks (*.tif, *.png, *.jpg)", parent) + parent.loadMasks.setShortcut("Ctrl+M") + parent.loadMasks.triggered.connect(lambda: io._load_masks(parent)) + file_menu.addAction(parent.loadMasks) + parent.loadMasks.setEnabled(False) + +- loadManual = QtGui.QAction("Load &processed/labelled image (*_seg.npy)", parent) ++ loadManual = QAction("Load &processed/labelled image (*_seg.npy)", parent) + loadManual.setShortcut("Ctrl+P") + loadManual.triggered.connect(lambda: io._load_seg(parent)) + file_menu.addAction(loadManual) + +- #loadStack = QtGui.QAction("Load &numpy z-stack (*.npy nimgs x nchan x pixels x pixels)", parent) ++ #loadStack = QAction("Load &numpy z-stack (*.npy nimgs x nchan x pixels x pixels)", parent) + #loadStack.setShortcut("Ctrl+N") + #loadStack.triggered.connect(lambda: parent.load_zstack(None)) + #file_menu.addAction(loadStack) + +- parent.saveSet = QtGui.QAction("&Save masks and image (as *_seg.npy)", parent) ++ parent.saveSet = QAction("&Save masks and image (as *_seg.npy)", parent) + parent.saveSet.setShortcut("Ctrl+S") + parent.saveSet.triggered.connect(lambda: io._save_sets(parent)) + file_menu.addAction(parent.saveSet) + parent.saveSet.setEnabled(False) + +- parent.savePNG = QtGui.QAction("Save masks as P&NG", parent) ++ parent.savePNG = QAction("Save masks as P&NG", parent) + parent.savePNG.setShortcut("Ctrl+N") + parent.savePNG.triggered.connect(lambda: io._save_png(parent)) + file_menu.addAction(parent.savePNG) + parent.savePNG.setEnabled(False) + +- parent.saveOutlines = QtGui.QAction("Save &Outlines as text for imageJ", parent) ++ parent.saveOutlines = QAction("Save &Outlines as text for imageJ", parent) + parent.saveOutlines.setShortcut("Ctrl+O") + parent.saveOutlines.triggered.connect(lambda: io._save_outlines(parent)) + file_menu.addAction(parent.saveOutlines) + parent.saveOutlines.setEnabled(False) + +- parent.saveServer = QtGui.QAction("Send manually labelled data to server", parent) ++ parent.saveServer = QAction("Send manually labelled data to server", parent) + parent.saveServer.triggered.connect(lambda: save_server(parent)) + file_menu.addAction(parent.saveServer) + parent.saveServer.setEnabled(False) + +- parent.switchBackend = QtGui.QAction("Switch backend to MXNET if installed", parent) ++ parent.switchBackend = QAction("Switch backend to MXNET if installed", parent) + parent.switchBackend.triggered.connect(lambda: parent.check_gpu(False)) + file_menu.addAction(parent.switchBackend) + if models.MXNET_ENABLED: +@@ -62,25 +62,25 @@ def mainmenu(parent): + def editmenu(parent): + main_menu = parent.menuBar() + edit_menu = main_menu.addMenu("&Edit") +- parent.undo = QtGui.QAction('Undo previous mask/trace', parent) ++ parent.undo = QAction('Undo previous mask/trace', parent) + parent.undo.setShortcut("Ctrl+Z") + parent.undo.triggered.connect(parent.undo_action) + parent.undo.setEnabled(False) + edit_menu.addAction(parent.undo) + +- parent.redo = QtGui.QAction('Undo remove mask', parent) ++ parent.redo = QAction('Undo remove mask', parent) + parent.redo.setShortcut("Ctrl+Y") + parent.redo.triggered.connect(parent.undo_remove_action) + parent.redo.setEnabled(False) + edit_menu.addAction(parent.redo) + +- parent.ClearButton = QtGui.QAction('Clear all masks', parent) ++ parent.ClearButton = QAction('Clear all masks', parent) + parent.ClearButton.setShortcut("Ctrl+0") + parent.ClearButton.triggered.connect(parent.clear_all) + parent.ClearButton.setEnabled(False) + edit_menu.addAction(parent.ClearButton) + +- parent.remcell = QtGui.QAction('Remove selected cell (Ctrl+CLICK)', parent) ++ parent.remcell = QAction('Remove selected cell (Ctrl+CLICK)', parent) + parent.remcell.setShortcut("Ctrl+Click") + parent.remcell.triggered.connect(parent.remove_action) + parent.remcell.setEnabled(False) +@@ -90,16 +90,16 @@ def helpmenu(parent): + main_menu = parent.menuBar() + help_menu = main_menu.addMenu("&Help") + +- checkMKL = QtGui.QAction("Check CPU MKL -- see terminal", parent) ++ checkMKL = QAction("Check CPU MKL -- see terminal", parent) + checkMKL.triggered.connect(lambda: models.check_mkl(istorch=parent.torch)) + help_menu.addAction(checkMKL) + +- openHelp = QtGui.QAction("&Help window", parent) ++ openHelp = QAction("&Help window", parent) + openHelp.setShortcut("Ctrl+H") + openHelp.triggered.connect(parent.help_window) + help_menu.addAction(openHelp) + +- openGUI = QtGui.QAction("&GUI layout", parent) ++ openGUI = QAction("&GUI layout", parent) + openGUI.setShortcut("Ctrl+G") + openGUI.triggered.connect(parent.gui_window) + help_menu.addAction(openGUI) +diff --git a/tests/test_train.py b/tests/test_train.py +index 9d05545..bce599c 100644 +--- a/tests/test_train.py ++++ b/tests/test_train.py +@@ -6,7 +6,7 @@ + + os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" + +-def test_class_train(data_dir, image_names): ++def test_class_train(data_dir): + train_dir = str(data_dir.joinpath('2D').joinpath('train')) + model_dir = str(data_dir.joinpath('2D').joinpath('train').joinpath('models')) + shutil.rmtree(model_dir, ignore_errors=True) +@@ -18,7 +18,7 @@ def test_class_train(data_dir, image_names): + channels=[2,1], save_path=train_dir, n_epochs=10) + print('>>>> model trained and saved to %s'%cpmodel_path) + +-def test_cli_train(data_dir, image_names): ++def test_cli_train(data_dir): + train_dir = str(data_dir.joinpath('2D').joinpath('train')) + model_dir = str(data_dir.joinpath('2D').joinpath('train').joinpath('models')) + shutil.rmtree(model_dir, ignore_errors=True) +@@ -29,7 +29,7 @@ def test_cli_train(data_dir, image_names): + print(e) + raise ValueError(e) + +-def test_cli_train_pretrained(data_dir, image_names): ++def test_cli_train_pretrained(data_dir): + train_dir = str(data_dir.joinpath('2D').joinpath('train')) + model_dir = str(data_dir.joinpath('2D').joinpath('train').joinpath('models')) + shutil.rmtree(model_dir, ignore_errors=True) diff --git a/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2021a.eb b/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2021a.eb new file mode 100644 index 000000000000..d73a84e0a4c9 --- /dev/null +++ b/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Centrifuge' +version = '1.0.4' + +homepage = 'https://ccb.jhu.edu/software/centrifuge' +description = 'Classifier for metagenomic sequences' + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/DaehwanKimLab/centrifuge/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '929daed0f84739f7636cc1ea2757527e83373f107107ffeb5937a403ba5201bc', # v1.0.4.tar.gz +] + +dependencies = [ + ('NGS', '2.10.9'), + ('ncbi-vdb', '2.10.9'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CXXFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINUSVDB' + +installopts = "prefix=%(installdir)s" + +fix_perl_shebang_for = ['bin/centrifuge*.pl'] + +sanity_check_paths = { + 'files': ['bin/centrifuge%s' % x for x in ['', '-build', '-build-bin', '-class', '-download', + '-inspect', '-inspect-bin']], + 'dirs': [], +} + +sanity_check_commands = ["centrifuge --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2.eb b/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2.eb new file mode 100644 index 000000000000..93c3203a39da --- /dev/null +++ b/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2.eb @@ -0,0 +1,35 @@ +## +# @Authors:: Maxime Boissonneault, Compute Canada +# @date: October 15, 2020 +## + +easyblock = 'CMakeMake' + +name = 'Cereal' +version = '1.3.2' + +homepage = 'https://uscilab.github.io/cereal/' +description = """cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly +turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be +fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or +used standalone.""" + +toolchain = SYSTEM + +github_account = 'USCiLab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +configopts = '-DJUST_INSTALL_CEREAL=ON -DSKIP_PERFORMANCE_COMPARISON=ON ' + +sanity_check_paths = { + 'files': ['include/cereal/cereal.hpp'], + 'dirs': ['include', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..97a9eec1bdd2 --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.4.1' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f313f556b5acb9215961d9718c21235aafcd43bce6b357bf66f772e5692bba75'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022a.eb b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022a.eb new file mode 100644 index 000000000000..482ab997133b --- /dev/null +++ b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CheMPS2' +version = '1.8.12' + +homepage = 'https://github.com/SebWouters/CheMPS2' +description = """CheMPS2 is a scientific library which contains a spin-adapted implementation of the +density matrix renormalization group (DMRG) for ab initio quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/SebWouters/CheMPS2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eef1b92d74ac07fde58c043f64e8cac02b5400c209c44dcbb51641f86e0c7c83'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('HDF5', '1.12.2') +] + +pretestopts = 'export OMP_NUM_THREADS=1 && ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/chemps2', 'lib64/libchemps2.%s' % SHLIB_EXT, 'lib64/libchemps2.a'], + 'dirs': ['include/chemps2'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/check/check-0.12.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/c/Check/Check-0.12.0-GCCcore-6.4.0.eb similarity index 98% rename from easybuild/easyconfigs/c/check/check-0.12.0-GCCcore-6.4.0.eb rename to easybuild/easyconfigs/c/Check/Check-0.12.0-GCCcore-6.4.0.eb index 8b3f74b6a9dd..3ef1d466fa49 100644 --- a/easybuild/easyconfigs/c/check/check-0.12.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/c/Check/Check-0.12.0-GCCcore-6.4.0.eb @@ -1,6 +1,6 @@ easyblock = 'CMakeMake' -name = 'check' +name = 'Check' version = '0.12.0' homepage = 'https://libcheck.github.io/check/' diff --git a/easybuild/easyconfigs/c/CheckM-Database/CheckM-Database-2015_01_16.eb b/easybuild/easyconfigs/c/CheckM-Database/CheckM-Database-2015_01_16.eb new file mode 100644 index 000000000000..4132bd8daec8 --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM-Database/CheckM-Database-2015_01_16.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'CheckM-Database' +version = '2015_01_16' + +homepage = 'https://github.com/Ecogenomics/CheckM' +description = """CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, +single cells, or metagenomes. + +This is the corresponding database. +""" + +toolchain = SYSTEM + +source_urls = ['https://data.ace.uq.edu.au/public/CheckM_databases/'] +sources = ['checkm_data_%(version)s.tar.gz'] +checksums = [ + '971ec469348bd6c3d9eb96142f567f12443310fa06c1892643940f35f86ac92c', # checkm_data_2015_01_16.tar.gz +] + +sanity_check_paths = { + 'files': ['selected_marker_sets.tsv', 'taxon_marker_sets.tsv'], + 'dirs': ['distributions/', 'genome_tree', 'hmms', 'hmms_ssu', 'img', 'pfam', 'test_data'], +} + +modextravars = { + 'CHECKM_DATA_PATH': '%(installdir)s', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.2.2-foss-2022a.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.2.2-foss-2022a.eb new file mode 100644 index 000000000000..a46bf261992a --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.2.2-foss-2022a.eb @@ -0,0 +1,47 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# Updated by: Filip Kružík (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'CheckM' +version = '1.2.2' + +homepage = 'https://github.com/Ecogenomics/CheckM' +description = """CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, + single cells, or metagenomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Ecogenomics/CheckM/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a748b94e93f8d5fecfd0d5b3f17fcb119b25d4b45217e047b2fd742b21e74c0e'] + +# Dependencies: +# https://github.com/Ecogenomics/CheckM/blob/master/setup.py +dependencies = [ + ('Python', '3.10.4'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('SciPy-bundle', '2022.05'), # numpy + ('matplotlib', '3.5.2'), + ('Pysam', '0.19.1'), + ('DendroPy', '4.5.2'), + ('CheckM-Database', '2015_01_16', '', SYSTEM), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/checkm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["checkm test %(builddir)s/checkm_test_results"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-21.14.eb b/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-21.14.eb new file mode 100644 index 000000000000..69f794a1422e --- /dev/null +++ b/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-21.14.eb @@ -0,0 +1,71 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +# Cannot use *easyblock = 'Rpm'* because the RPM misses some fields: +# Summary and License fields must be present in package: (main package) +easyblock = 'Binary' + +name = 'Chemaxon-Marvin' +version = '21.14' + +homepage = 'https://chemaxon.com/products/marvin' +description = """Marvin suite is a chemically intelligent desktop toolkit built +to help you draw, edit, publish, render, import and export your chemical structures +and as well as allowing you to convert between various chemical and graphical file +formats. It is free for individual, academic and non-commercial use.""" + +# NOTE not in the license list of EB +# software_license = 'Proprietary: Personal, Commercial or Academic' +software_license_urls = ['https://www.chemaxon.com/marvin/license.html'] +docurls = [ + 'https://docs.chemaxon.com/display/docs/marvinsketch-user-s-guide.md', + 'https://docs.chemaxon.com/display/docs/marvinview-user-s-guide.md', + 'https://docs.chemaxon.com/display/docs/file-formats.md', +] + +toolchain = SYSTEM + +# Download and license at https://chemaxon.com/products/marvin +# Once logged in download files can be found here: +# https://chemaxon.com/products/marvin/download#download +sources = ['marvin_linux_%(version)s.rpm'] +checksums = ['3102f30479a365758fd14ca5efcdacfe0624db80a35b146ba9a5d07e948bd8dc'] + +osdependencies = [('rpm', 'cpio')] # for extracting rpm-files + +dependencies = [ + ('Java', '11'), +] + +extract_sources = False + +install_cmd = 'rpm2cpio ' + sources[0] + ' | cpio -idmv && ' +install_cmd += 'cd opt/chemaxon/marvinsuite/ && ' +install_cmd += 'chmod -x bin/*.bat && ' +install_cmd += 'cp -ar . %(installdir)s/' + +# plugins directory is empty +sanity_check_paths = { + 'files': ["bin/cxcalc", "bin/cxtrain", "bin/evaluate", "bin/molconvert", + "bin/msketch", "bin/mview", "EULA.html", "README"], + 'dirs': ['lib'] +} + +sanity_check_commands = ["molconvert"] + +# You need a key/license file to fully activate Chemaxon Marvin +# +# COMMERCIAL +# For commercial use please contact sales@chemaxon.com +# NON-COMMERCIAL +# For personal use get a key to be renewed every 2 months at https://chemaxon.com/products/marvin/download +# For academic use get a key for research or educational purposes at https://chemaxon.com/academic-license +# +# The license file "license.cxl" has to be placed in $HOME/.chemaxon/ + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Circos/Circos-0.69-9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Circos/Circos-0.69-9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..bdb8092c8c6c --- /dev/null +++ b/easybuild/easyconfigs/c/Circos/Circos-0.69-9-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'Circos' +version = '0.69-9' + +homepage = 'http://www.circos.ca/' +description = """Circos is a software package for visualizing data and information. + It visualizes data in a circular layout - this makes Circos ideal for exploring + relationships between objects or positions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://circos.ca/distribution/'] +sources = [SOURCELOWER_TGZ] +checksums = ['34d8d7ebebf3f553d62820f8f4a0a57814b610341f836b4740c46c3057f789d2'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('GD', '2.75'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/%(name)s'], +} + +modextrapaths = {'PERL5LIB': 'lib'} + +sanity_check_commands = [('perl', '-e "use Circos"')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb index b679ed3649ab..283883c7246a 100644 --- a/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb @@ -40,7 +40,7 @@ default_component_specs = { components = [ ('llvm-project', 'rocm-4.5.0', { - 'checksums': ['e33d08c8ae42a3ba394dceb8938263cd14ba45e9603b18f3502c3344814ca296'], + 'checksums': ['b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97'], }), ('ROCm-Device-Libs', 'rocm-4.5.0', { 'checksums': ['78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77'], @@ -49,13 +49,13 @@ components = [ # uses same sources as llvm-project component 'sources': ['llvm-project-%(version)s.tar.gz'], 'patches': ['clang-aomp-%(version)s-openmp-remove-hardcoded-source-paths.patch'], - 'checksums': ['e33d08c8ae42a3ba394dceb8938263cd14ba45e9603b18f3502c3344814ca296', + 'checksums': ['b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97', 'f959dfa95ec705acf0ffb8d5e85b48cc56e2bed1b15fab22d9eda1f416dd98ca'], }), ('aomp-extras', 'rocm-4.5.0', { 'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive/'], 'patches': ['clang-aomp-%(version)s-aomp-extras-remove-hardcoded-devicelib-path.patch'], - 'checksums': ['66d4d0cb4a1a05edb5f13599d8c06de4e10daf561201273cc56dc907139cb894', + 'checksums': ['a9c32fb7659c0aabba5b1e76ec05037dda485bf893cef4144279b42ef8fae416', '1ae5a1af5ccd6c5a77dbc2882d0b40f07d33a7d0021736b29a21e46ab777803a'], }), ] diff --git a/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..dea2f244ad36 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans +# Authors:: Dmitri Gribenko +# Authors:: Ward Poelmans +# License:: GPLv2 or later, MIT, three-clause BSD. +# $Id$ +## + +name = 'Clang' +version = '15.0.5' + +homepage = 'https://clang.llvm.org/' +description = """C, C++, Objective-C compiler, based on LLVM. Does not + include C++ standard library -- use libstdc++ from GCC.""" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['9c4278a6b8884eb7f4ae7dfe3c8e5445019824885e47cfdf1392563c47316fd6'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Perl', '5.34.1'), + ('elfutils', '0.187'), + # Including Python bindings would require this as a runtime dep + ('Python', '3.10.4'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.38'), + ('hwloc', '2.7.1'), + ('libxml2', '2.9.13'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.10.2'), +] + +# enabling RTTI makes the flang compiler need to link to libc++ so instead of +# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90 +# you would need +# flang-new -flang-experimental-exec -fopenmp hello_openmp.f90 -l c++ +enable_rtti = False + +assertions = True +python_bindings = False +skip_all_tests = True + +llvm_runtimes = ['libunwind', 'libcxx', 'libcxxabi'] +llvm_projects = ['polly', 'lld', 'lldb', 'clang-tools-extra', 'flang'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/CliMetLab/CliMetLab-0.12.6-foss-2022a.eb b/easybuild/easyconfigs/c/CliMetLab/CliMetLab-0.12.6-foss-2022a.eb new file mode 100644 index 000000000000..ca9f62f7e164 --- /dev/null +++ b/easybuild/easyconfigs/c/CliMetLab/CliMetLab-0.12.6-foss-2022a.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'CliMetLab' +version = '0.12.6' + +homepage = 'https://climetlab.readthedocs.io/' +description = """ +CliMetLab is a Python package aiming at simplifying access to climate and +meteorological datasets, allowing users to focus on science instead of +technical issues such as data access and data formats. It is mostly intended to +be used in Jupyter notebooks, and be interoperable with all popular data +analytic packages, such as Numpy, Pandas, Xarray, SciPy, Matplotlib, etc. as +well as machine learning frameworks, such as Tensorflow, Keras or PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('xarray', '2022.6.0'), + ('dask', '2022.10.0'), + ('netcdf4-python', '1.6.1'), + ('tqdm', '4.64.0'), + ('ecCodes', '2.27.0'), + ('PyYAML', '6.0'), + ('Magics', '4.13.0'), + ('cdsapi', '0.5.1'), +] + +use_pip = True +sanity_pip_check = True + +# stick to termcolor 1.x, to avoid hatchling required dependency +# remove ecmwflibs requirement as it just bundles ecCodes and Magics and there are no direct imports to it +exts_list = [ + ('eccodes', '1.5.0', { + 'checksums': ['e70c8f159140c343c215fd608ddf533be652ff05ad2ff17243c7b66cf92127fa'], + }), + ('cfgrib', '0.9.10.3', { + 'checksums': ['c10806058c80c48610c201bf05eb292401807806ab9423ab4965ae23dbb6b521'], + }), + ('multiurl', '0.1.1', { + 'checksums': ['8895c51f10a9f80a80f019bee5083a975760b7bdbd6cb2e32b2376a5916aa374'], + }), + ('ecmwf-api-client', '1.6.3', { + 'modulename': 'ecmwfapi', + 'checksums': ['3a00bda34a72e2d5198c97399a4750b42a6633efdb5e1b3a5fd2b2bbaa5db0d6'], + }), + ('ecmwf-opendata', '0.1.1', { + 'modulename': 'ecmwf.opendata', + 'checksums': ['dfb5d4694fbb78b0f79799e130be0b5a56b30c075937c3d03dd6d9b68399bfdd'], + }), + ('findlibs', '0.0.2', { + 'checksums': ['6c7e038496f9a97783ab2cd5736bb68522d5bebd8b0eb17c976b6a4ae4032c8d'], + }), + ('Magics', '1.5.8', { + 'modulename': 'Magics', + 'checksums': ['7df4241802fb552ee052da18190a5266a8faff7feecc70779cb5e1809625fb90'], + }), + ('pdbufr', '0.9.0', { + 'checksums': ['c9f9e19ebae7d27e86166d72a088c699044917a66c800cfccfa72005a1cda945'], + }), + ('pyodc', '1.1.4', { + 'checksums': ['e6185117a38483b0567bf45e6a476b83e0b6b2a7d94ae110cb3ecf92e2cd900e'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('branca', '0.3.1', { + 'checksums': ['3e762c9bdf40725f3d05ea1fda8fae9b470bfada6474e43a1242c8204a7bb15e'], + }), + ('climetlab', version, { + 'preinstallopts': """sed -i 's/"ecmwflibs/# "ecmwflibs/g' setup.py & """, + 'checksums': ['5c3506e3f4223b9ddbfbee09d41dd5b4e45ecce584b90419cce9fef33f9a1de3'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/CloudCompare/CloudCompare-2.12.4-foss-2021b.eb b/easybuild/easyconfigs/c/CloudCompare/CloudCompare-2.12.4-foss-2021b.eb new file mode 100644 index 000000000000..c8b47a5dd75a --- /dev/null +++ b/easybuild/easyconfigs/c/CloudCompare/CloudCompare-2.12.4-foss-2021b.eb @@ -0,0 +1,76 @@ +easyblock = 'CMakeMake' + +name = 'CloudCompare' +version = '2.12.4' + +homepage = 'https://www.cloudcompare.org/' +description = "3D point cloud and mesh processing software" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'CloudCompare' +source_urls = [GITHUB_SOURCE] +sources = [ + 'v%(version)s.tar.gz', + { + 'filename': 'CCCoreLib-20220714.tar.gz', + 'git_config': { + 'url': 'https://github.com/CloudCompare', + 'repo_name': 'CCCoreLib', + 'commit': '54ecc7104ead3f203ac6454ff999afe5dac60f2c', + }, + 'extract_cmd': 'tar -C %(name)s-%(version)s/libs/qCC_db/extern -xf %s', + }, +] +checksums = [ + '31c1f4f91efbdb74619cebb36f57f999d6f1a57bb6f87b13e60d21e670c38f68', + None, +] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Qt5', '5.15.2'), + ('GDAL', '3.3.2'), + ('Eigen', '3.4.0'), +] + +_copts = [ + '-DEIGEN_ROOT_DIR=$EBROOTEIGEN', + '-DOpenGL_GL_PREFERENCE=GLVND', + '-DOPTION_USE_GDAL=1', + '-DPLUGIN_GL_QEDL=1', + '-DPLUGIN_GL_QSSAO=1', + '-DPLUGIN_IO_QADDITIONAL=1', + '-DPLUGIN_IO_QCSV_MATRIX=1', + '-DPLUGIN_IO_QPHOTOSCAN=1', + '-DPLUGIN_STANDARD_QBROOM=1', + '-DPLUGIN_STANDARD_QCOMPASS=1', + '-DPLUGIN_STANDARD_QCSF=1', + '-DPLUGIN_STANDARD_QFACETS=1', + '-DPLUGIN_STANDARD_QHOUGH_NORMALS=1', + '-DPLUGIN_STANDARD_QHPR=1', + '-DPLUGIN_STANDARD_QM3C2=1', + '-DPLUGIN_STANDARD_QPCV=1', + '-DPLUGIN_STANDARD_QRANSAC_SD=1', + '-DPLUGIN_STANDARD_QSRA=1', +] +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': + ['bin/%s' % x for x in ['CloudCompare', 'ccViewer']] + + ['lib/cloudcompare/lib%s.%s' % (x, SHLIB_EXT) for x in [ + 'CCAppCommon', 'CCCoreLib', 'CC_FBO_LIB', 'CCPluginAPI', 'QCC_DB_LIB', 'QCC_GL_LIB', 'QCC_IO_LIB' + ]] + + ['lib/cloudcompare/plugins/lib%s_PLUGIN.%s' % (x, SHLIB_EXT) for x in [ + 'QCORE_IO', 'QEDL_GL', 'QSSAO_GL', 'QADDITIONAL_IO', 'QCSV_MATRIX_IO', 'QPHOTOSCAN_IO', + 'QBROOM', 'QCOMPASS', 'QCSF', 'QFACETS', 'QHOUGH_NORMALS', 'QHPR', 'QM3C2', + 'QPCV', 'QRANSAC_SD', 'QSRA', + ]], + 'dirs': ['share/cloudcompare/shaders'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.2.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.2.0.eb new file mode 100644 index 000000000000..df007a1ade50 --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.2.0.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by Adam Huffman +# Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Clustal-Omega' +version = '1.2.4' + +homepage = 'http://www.clustal.org/omega/' +description = """ Clustal Omega is a multiple sequence alignment + program for proteins. It produces biologically meaningful multiple + sequence alignments of divergent sequences. Evolutionary relationships + can be seen via viewing Cladograms or Phylograms """ + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'openmp': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8683d2286d663a46412c12a0c789e755e7fd77088fb3bc0342bb71667f05a3ee'] + +dependencies = [('argtable', '2.13')] + +sanity_check_paths = { + 'files': ['bin/clustalo'], + 'dirs': [], +} + +sanity_check_commands = ["clustalo --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CoSymLib/CoSymLib-0.10.9-foss-2022a.eb b/easybuild/easyconfigs/c/CoSymLib/CoSymLib-0.10.9-foss-2022a.eb new file mode 100644 index 000000000000..6daeefb02993 --- /dev/null +++ b/easybuild/easyconfigs/c/CoSymLib/CoSymLib-0.10.9-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'CoSymLib' +version = '0.10.9' + +homepage = 'https://cosymlib.readthedocs.io' +description = """Cosymlib is a python library for computing continuous symmetry & shape measures +(CSMs & CShMs). Although its main aim is to provide simple and ready-to-use +tools for the analysis of the symmetry & shape of molecules, many of the +procedures contained in cosymlib can be easily applied to any finite +geometrical object defined by a set of vertices or a by mass distribution +function.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('PyYAML', '6.0'), +] + +use_pip = True + +# replace hardcoded library sonames for BLAS/LAPACK +_fix_linker_blas = 'sed -i \'s/libraries=.*/libraries=["flexiblas", "gfortran"],/g\' setup.py &&' + +exts_list = [ + ('symgroupy', '0.5.11', { + 'checksums': ['bf59460d29ee707289c859d5e10e3984d3cd0536e5b7b001962f428cb73b3c22'], + 'preinstallopts': _fix_linker_blas, + }), + ('wfnsympy', '0.3.5', { + 'checksums': ['f1bede9d9e4efdc79e2a1a4f62b02bd7758908ce6bf91a2641150e0f65c32a6c'], + 'preinstallopts': _fix_linker_blas, + }), + ('huckelpy', '0.2.3', { + 'checksums': ['25a4309d4997332b1179de93bb5b6437c61f8ba198a9e0bcd3aec28b6cd6ce28'], + }), + ('cosymlib', version, { + 'checksums': ['c3e74aa00570489cac609ce6f274a7b6626141948eb5a261d4b27c4e517cee94'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['cchir', 'cosym', 'esym', 'gsym', 'mosym', 'shape', + 'shape_classic', 'shape_map']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cosym --version"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CodAn/CodAn-1.2-foss-2021b.eb b/easybuild/easyconfigs/c/CodAn/CodAn-1.2-foss-2021b.eb new file mode 100644 index 000000000000..636bef3b8e8d --- /dev/null +++ b/easybuild/easyconfigs/c/CodAn/CodAn-1.2-foss-2021b.eb @@ -0,0 +1,49 @@ +# author: Denis Kristak (INUITS) +easyblock = 'Binary' + +name = 'CodAn' +version = '1.2' + +homepage = 'https://github.com/pedronachtigall/CodAn' +description = """CodAn (Coding sequence Annotator) is a computational tool designed to characterize the CDS and UTR +regions on transcripts from any Eukaryote species.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/pedronachtigall/CodAn/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34962ac67dc94da0bff6e032568e38388726bf1d7efceed462d6b7c841b087b7'] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), + ('BioPerl', '1.7.8'), + ('Perl', '5.34.0'), +] + +extract_sources = True + +install_cmd = "cp -r %(builddir)s/* %(installdir)s/ && " +install_cmd += "tar -xf %(installdir)s/%(name)s-%(version)s/CodAn.tar.gz && " +install_cmd += "mkdir %(installdir)s/bin && " +install_cmd += "mv %(installdir)s/%(name)s-%(version)s/bin/* %(installdir)s/bin && " +install_cmd += "chmod u+rwx,go+rx %(installdir)s/bin/* " + +sanity_check_paths = { + 'files': ['bin/%(namelower)s.py'], + 'dirs': [], +} + +local_sanity_check_cmd = "mkdir %(builddir)s/eb_test && " +local_sanity_check_cmd += "cp %(installdir)s/%(name)s-%(version)s/models/VERT_full.zip %(builddir)s/eb_test && " +local_sanity_check_cmd += "cp %(installdir)s/%(name)s-%(version)s/tutorial/transcripts.fa %(builddir)s/eb_test && " +local_sanity_check_cmd += "cd %(builddir)s/eb_test/ && " +local_sanity_check_cmd += "unzip VERT_full.zip && " +local_sanity_check_cmd += "codan.py -t transcripts.fa -m VERT_full | grep 'prediction finished!'" + +sanity_check_commands = [ + "%(namelower)s.py --help", + local_sanity_check_cmd, +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2021b.eb b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2021b.eb new file mode 100644 index 000000000000..a82e6498b5f6 --- /dev/null +++ b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'MakeCp' + +name = 'CodingQuarry' +version = '2.0' + +homepage = 'https://sourceforge.net/p/codingquarry' +description = "Highly accurate hidden Markov model gene prediction in fungal genomes using RNA-seq transcripts" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['CodingQuarry_v%(version)s.tar.gz'] +patches = ['CodingQuarry-2.0_python3.patch'] +checksums = [ + {'CodingQuarry_v2.0.tar.gz': '1198afbf7cebcf0975c5b20d92b7a2dd6d956072fcde6e86fdce6aeae4842504'}, + {'CodingQuarry-2.0_python3.patch': '8e1b117431d8b104f2114875d8f751aa91c1c3c1b0ddd5a4f85251605c2ab9df'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), +] + +buildopts = 'CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['CodingQuarry', 'CufflinksGTF_to_CodingQuarryGFF3.py'], 'bin'), + 'QuarryFiles', + 'TESTING', +] + +fix_python_shebang_for = [ + 'bin/CufflinksGTF_to_CodingQuarryGFF3.py', + 'QuarryFiles/scripts/*.py', +] + +sanity_check_paths = { + 'files': ['bin/CodingQuarry', 'bin/CufflinksGTF_to_CodingQuarryGFF3.py'], + 'dirs': ['QuarryFiles/scripts', 'QuarryFiles/self_train', 'QuarryFiles/species', 'TESTING'], +} + +sanity_check_commands = [ + "CodingQuarry --help | grep '^CodingQuarry v. %(version)s'", + "mkdir -p %(builddir)s && cp -a %(installdir)s/TESTING %(builddir)s/TESTING", + "cd %(builddir)s/TESTING && CufflinksGTF_to_CodingQuarryGFF3.py Sp_transcripts.gtf > test.gff3", +] + +modextravars = {'QUARRY_PATH': '%(installdir)s/QuarryFiles'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0_python3.patch b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0_python3.patch new file mode 100644 index 000000000000..ddf50218a42a --- /dev/null +++ b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0_python3.patch @@ -0,0 +1,36 @@ +make CufflinksGTF_to_CodingQuarryGFF3.py script compatible with Python 3.x +author: Kenneth Hoste (HPC-UGent) +--- CufflinksGTF_to_CodingQuarryGFF3.py.orig 2016-03-09 01:35:28.000000000 +0100 ++++ CufflinksGTF_to_CodingQuarryGFF3.py 2023-04-10 21:10:51.666438036 +0200 +@@ -5,7 +5,7 @@ + try : + myFile = open(sys.argv[1], 'rU') + except : +- print 'run: \n\npython CufflinksGTF_to_CodingQuarryGFF3.py transcripts.gtf > out.gff3\n' ++ print('run: \n\npython CufflinksGTF_to_CodingQuarryGFF3.py transcripts.gtf > out.gff3\n') + exit() + + number = 0 +@@ -18,8 +18,8 @@ + number += 1 + else : + number = 1 +- print '%s\t%s\texon\t%s\t%s\t%s\t%s\t%s\tID=exon:%s.%i;Parent=%s;' % \ +- (fields[0], fields[1], fields[3], fields[4], fields[5], fields[6], fields[7], details[3], number, details[3]) ++ print('%s\t%s\texon\t%s\t%s\t%s\t%s\t%s\tID=exon:%s.%i;Parent=%s;' % \ ++ (fields[0], fields[1], fields[3], fields[4], fields[5], fields[6], fields[7], details[3], number, details[3])) + IDprev = details[3] + + myFile.close() +--- QuarryFiles/scripts/fastaTranslate.py.orig 2016-03-09 01:35:28.000000000 +0100 ++++ QuarryFiles/scripts/fastaTranslate.py 2023-04-10 21:30:47.355740964 +0200 +@@ -33,7 +33,7 @@ + else : + protein+='*' + i+=3 +- print '>%s' % (record.id) +- print protein ++ print('>%s' % (record.id)) ++ print(protein) + + myFASTA.close() diff --git a/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..2e0b17c5c7e2 --- /dev/null +++ b/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'CopyKAT' +local_commit = 'b795ff7' +version = '1.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/navinlabcode/copykat' +description = """CopyKAT: Inference of genomic copy number and subclonal structure of human tumors from + high-throughput single cell RNAseq data""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/navinlabcode/copykat/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['8b4e39591ad81d146873694b8311607bfec88ad57df8daa9244b2e31904193b5'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..61e5d8e491f1 --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'CppUnit' +version = '1.15.1' + +homepage = 'https://freedesktop.org/wiki/Software/cppunit/' + +description = """ + CppUnit is the C++ port of the famous JUnit framework for unit testing. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['lib/libcppunit.a', 'lib/libcppunit.%s' % SHLIB_EXT, + 'lib/pkgconfig/cppunit.pc'], + 'dirs': ['bin', 'include/cppunit', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..516af3a8db55 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeGUI' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube graphical report explorer. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1df8fcaea95323e7eaf0cc010784a41243532c2123a27ce93cb7e3241557ff76'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Qt5', '5.15.5'), + ('CubeLib', '4.8'), +] + +configopts = [ + '--with-qt=$EBROOTQT5/bin ', +] + +sanity_check_paths = { + 'files': ['bin/cube', 'bin/cubegui-config', + 'lib/libcube4gui.a', 'lib/libcube4gui.%s' % SHLIB_EXT], + 'dirs': ['include/cubegui', 'lib/cube-plugins'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..ef4602a8417f --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeLib' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube general purpose C++ library component and + command-line tools. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubelib-config', + 'lib/libcube4.a', 'lib/libcube4.%s' % SHLIB_EXT], + 'dirs': ['include/cubelib'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a9337f666c23 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeLib' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube general purpose C++ library component and + command-line tools. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubelib-config', + 'lib/libcube4.a', 'lib/libcube4.%s' % SHLIB_EXT], + 'dirs': ['include/cubelib'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..01190debef19 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeWriter' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube high-performance C writer library component. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubew-config', + 'lib/libcube4w.a', 'lib/libcube4w.%s' % SHLIB_EXT], + 'dirs': ['include/cubew'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..aea69135267c --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'CubeWriter' +version = '4.8' + +homepage = 'https://www.scalasca.org/software/cube-4.x/download.html' +description = """ + Cube, which is used as performance report explorer for Scalasca and Score-P, + is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and + (iii) system resource. Each dimension can be represented as a tree, where + non-leaf nodes of the tree can be collapsed or expanded to achieve the + desired level of granularity. + + This module provides the Cube high-performance C writer library component. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/cubew-config', + 'lib/libcube4w.a', 'lib/libcube4w.%s' % SHLIB_EXT], + 'dirs': ['include/cubew'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/Cython/Cython-0.29.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-0.29.33-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c60a84380db1 --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-0.29.33-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '0.29.33' + +homepage = 'https://cython.org/' +description = """ +Cython is an optimising static compiler for both the Python programming +language and the extended Cython programming language (based on Pyrex). +""" +docurls = [ + 'https://cython.org/#documentation', + 'https://github.com/cython/cython', +] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sources = [SOURCE_TAR_GZ] +checksums = ['5040764c4a4d2ce964a395da24f0d1ae58144995dab92c6b96f44c3f4d72286a'] + +sanity_check_paths = { + 'files': ['bin/cygdb', 'bin/cython', 'bin/cythonize'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'cython --version', +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/Cytoscape/Cytoscape-3.9.1-Java-11.eb b/easybuild/easyconfigs/c/Cytoscape/Cytoscape-3.9.1-Java-11.eb new file mode 100644 index 000000000000..3d967783b2c0 --- /dev/null +++ b/easybuild/easyconfigs/c/Cytoscape/Cytoscape-3.9.1-Java-11.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'Cytoscape' +version = '3.9.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://cytoscape.org/' +description = """Cytoscape is an open source software platform for visualizing + complex networks and integrating these with any type of attribute data. + A lot of Apps are available for various kinds of problem domains, + including bioinformatics, social network analysis, and semantic web.""" + +toolchain = SYSTEM + +_underscore_version = version.replace('.', '_') + +# https://github.com/cytoscape/cytoscape/releases/download/3.9.1/Cytoscape_3_9_1_unix.sh +source_urls = ['https://github.com/cytoscape/cytoscape/releases/download/3.9.1/'] +sources = ['%%(name)s_%s_unix.sh' % _underscore_version] + +checksums = ['0b20ac377dc01e6b0f7067104c2e463d8f834e50ee19dc302bb101dfcbc342a1'] + +dependencies = [ + ('Java', '11'), +] + +install_cmd = "./%%(name)s_%s_unix.sh -q -dir %%(installdir)s" % _underscore_version + +sanity_check_paths = { + 'files': ['cytoscape.sh', 'Cytoscape'], + 'dirs': ['framework', 'apps', 'sampleData'], +} + +sanity_check_commands = ["%(namelower)s.sh --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..6b168c49490f --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.17.2' + +homepage = 'https://c-ares.haxx.se' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://c-ares.haxx.se/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4803c844ce20ce510ef0eb83f8ea41fa24ecaae9d280c468c582d2bb25b3913d'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['lib/libcares.a', 'lib/libcares.%s' % SHLIB_EXT, 'lib/pkgconfig/libcares.pc'], + 'dirs': ['include', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4e108bdbc197 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.86.0' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dfdd39ba95e18847965cd3051ea6d22586609d9011d91df7bc5521288987a82'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..a9661b33bce4 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.17.4' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://cairographics.org/releases/', + 'https://cairographics.org/snapshots/' +] +sources = [SOURCE_TAR_XZ] +checksums = ['74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('pixman', '0.42.2'), + ('expat', '2.4.9'), + ('GLib', '2.75.0'), + ('X11', '20221110'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes --enable-xlib-xcb " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..2405338fec7f --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'canu' +version = '2.2' + +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': '11.3.0'} + +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s/'] +sources = ['canu-%(version)s.tar.xz'] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + ('binutils', '2.38'), + # Makefile checks git version, before making (futile) attempt to update git submodules + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.34.1'), + ('gnuplot', '5.4.4'), +] + +start_dir = 'src' + +files_to_copy = ['build/bin', 'build/lib', 'build/share', 'README*'] + +sanity_check_paths = { + 'files': ['bin/bogart', 'bin/canu', 'bin/meryl', 'bin/overlapPair', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..cb2d2bdffbec --- /dev/null +++ b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'captum' +version = '0.5.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://captum.ai/' +description = """ +Captum is a model interpretability and understanding library for PyTorch. +Captum means comprehension in Latin and contains general purpose +implementations of integrated gradients, saliency maps, smoothgrad, vargrad and +others for PyTorch models. It has quick integration for models built with +domain-specific libraries such as torchvision, torchtext, and others.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['84af2c8793d34c440a351793b5ca705b8542745e2dc8bc24afb1d9b86f3bf6ec'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a.eb new file mode 100644 index 000000000000..7836096aaf7c --- /dev/null +++ b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'captum' +version = '0.5.0' + +homepage = 'https://captum.ai/' +description = """ +Captum is a model interpretability and understanding library for PyTorch. +Captum means comprehension in Latin and contains general purpose +implementations of integrated gradients, saliency maps, smoothgrad, vargrad and +others for PyTorch models. It has quick integration for models built with +domain-specific libraries such as torchvision, torchtext, and others.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['84af2c8793d34c440a351793b5ca705b8542745e2dc8bc24afb1d9b86f3bf6ec'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.4.0-foss-2021b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.4.0-foss-2021b.eb new file mode 100644 index 000000000000..aab5e755fdf6 --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.4.0-foss-2021b.eb @@ -0,0 +1,48 @@ +# Contribution from Imperial College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'casacore' +version = '3.4.0' + +homepage = 'https://github.com/casacore/casacore' +description = """A suite of C++ libraries for radio astronomy data processing. +The ephemerides data needs to be in DATA_DIR and the location must be specified at runtime. +Thus user's can update them. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/casacore/casacore/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '31f02ad2e26f29bab4a47a2a69e049d7bc511084a0b8263360e6157356f92ae1', # v3.4.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), +] + +dependencies = [ + ('CFITSIO', '3.49'), + ('WCSLIB', '7.11'), + ('HDF5', '1.12.1'), + ('SciPy-bundle', '2021.10'), + ('Boost.Python', '1.77.0'), + ('ncurses', '6.2'), +] + +configopts = ' -DBUILD_PYTHON3=ON -DBUILD_PYTHON=OFF -Wno-dev -DDATA_DIR=%(installdir)s/data ' +configopts += '-DUSE_OPENMP=ON -DUSE_HDF5=ON -DUSE_MPI=ON ' + +sanity_check_paths = { + 'files': ['lib/libcasa_casa.%s' % SHLIB_EXT, 'lib/libcasa_mirlib.%s' % SHLIB_EXT, + 'lib/libcasa_ms.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/casacore'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.5.7-foss-2021b.eb b/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.5.7-foss-2021b.eb new file mode 100644 index 000000000000..b3f6ed923ba4 --- /dev/null +++ b/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.5.7-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'cdo-bindings' +version = '1.5.7' + +homepage = 'https://github.com/Try2Code/cdo-bindings' +description = "Python interface to CDO." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('CDO', '2.0.5'), + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), # optional +] + +use_pip = True + +exts_list = [ + ('cdo', version, { + 'checksums': ['898c2b0ff97ec494569e5d94302350538efa898d42998bfed76b4f52c6c16f3c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/cdsapi/cdsapi-0.5.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cdsapi/cdsapi-0.5.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c70d2401d595 --- /dev/null +++ b/easybuild/easyconfigs/c/cdsapi/cdsapi-0.5.1-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'cdsapi' +version = '0.5.1' + +homepage = 'https://pypi.org/project/cdsapi' +description = "Climate Data Store API" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['19f3e92f1996cc1115d0b0281617edeaecf3eefca03fbd384cfbc520d5f0476d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('tqdm', '4.64.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb b/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb index 8356b39778ad..9a0eeba16281 100644 --- a/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb @@ -14,6 +14,7 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} builddependencies = [ ('Bison', '3.7.1'), + ('flex', '2.6.4'), # needed by louvain ] dependencies = [ @@ -21,7 +22,7 @@ dependencies = [ ('Java', '11', '', SYSTEM), ('SciPy-bundle', '2020.11'), ('leidenalg', '0.8.3'), - ('hyperopt', '0.2.5'), + ('Hyperopt', '0.2.5'), ('CMake', '3.18.4'), ('dill', '0.3.3'), ('IPython', '7.18.1'), @@ -119,7 +120,7 @@ exts_list = [ (name, version, { 'source_urls': ['https://github.com/BayraktarLab/cell2location/archive/'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['2df1fe2b2b4ec5fcebc6c1d6146ce0cd79115bd14059b0ae882a41f1029a4efc'], + 'checksums': ['b1d4fc0e1eb8292457793d6af8228189bd24dd87837b8f4435d0a0312ed20c6b'], }), ] diff --git a/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..6db953d76b1d --- /dev/null +++ b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'chemprop' +version = '1.5.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/chemprop/chemprop' +description = 'Message Passing Neural Networks for Molecule Property Prediction' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tensorboardX', '2.5.1'), + ('xarray', '2022.6.0'), + ('Hyperopt', '0.2.7'), + ('Flask', '2.2.2'), + ('PyTorch', '1.12.0', versionsuffix), + ('matplotlib', '3.5.2'), + ('RDKit', '2022.09.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM) +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '20.4', { + 'checksums': ['4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8'], + }), + ('pandas_flavor', '0.2.0', { + 'checksums': ['7871655816de22dc766e916697ccc67449e1863c090ef5fd40d4d0fbd056e489'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('typing_inspect', '0.8.0', { + 'checksums': ['8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d'], + }), + ('typed-argument-parser', '1.7.2', { + 'modulename': 'tap', + 'checksums': ['4e44bc79010391cd9dec4b110e1474fedc8919138e93ca91222ea6b3b360daee'], + }), + (name, version, { + 'source_urls': ['https://github.com/chemprop/chemprop/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7ce6f71688291ffbe45728a605be9fda354f4cc30410bbe64511cd1a55b9bfb8'], + }), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a.eb b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a.eb new file mode 100644 index 000000000000..dae50013213e --- /dev/null +++ b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'chemprop' +version = '1.5.2' + +homepage = 'https://github.com/chemprop/chemprop' +description = 'Message Passing Neural Networks for Molecule Property Prediction' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tensorboardX', '2.5.1'), + ('xarray', '2022.6.0'), + ('Hyperopt', '0.2.7'), + ('Flask', '2.2.2'), + ('PyTorch', '1.12.0'), + ('matplotlib', '3.5.2'), + ('RDKit', '2022.09.4') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '20.4', { + 'checksums': ['4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8'], + }), + ('pandas_flavor', '0.2.0', { + 'checksums': ['7871655816de22dc766e916697ccc67449e1863c090ef5fd40d4d0fbd056e489'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('typing_inspect', '0.8.0', { + 'checksums': ['8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d'], + }), + ('typed-argument-parser', '1.7.2', { + 'modulename': 'tap', + 'checksums': ['4e44bc79010391cd9dec4b110e1474fedc8919138e93ca91222ea6b3b360daee'], + }), + (name, version, { + 'source_urls': ['https://github.com/chemprop/chemprop/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7ce6f71688291ffbe45728a605be9fda354f4cc30410bbe64511cd1a55b9bfb8'], + }), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..dce95d1c54a0 --- /dev/null +++ b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'cimfomfa' +version = '22.273' + +homepage = 'https://github.com/micans/cimfomfa' +description = """This library supports both MCL, a cluster algorithm for graphs, and zoem, a +macro/DSL language. It supplies abstractions for memory management, I/O, +associative arrays, strings, heaps, and a few other things. The string library +has had heavy testing as part of zoem. Both understandably and regrettably I +chose long ago to make it C-string-compatible, hence nul bytes may not be part +of a string. At some point I hope to rectify this, perhaps unrealistically.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +# The Github repo only has earlier tags +source_urls = ['https://micans.org/mcl/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['b0f0549fda1d288ddd22a2675581636a6f4bde0f01e956fcf452d0f815b4964f'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libtingea.%s' % x for x in ('a', SHLIB_EXT)], + 'dirs': ['include/tingea'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cmocean/cmocean-2.0-foss-2022a.eb b/easybuild/easyconfigs/c/cmocean/cmocean-2.0-foss-2022a.eb new file mode 100644 index 000000000000..3531eb020476 --- /dev/null +++ b/easybuild/easyconfigs/c/cmocean/cmocean-2.0-foss-2022a.eb @@ -0,0 +1,31 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = "PythonBundle" + +name = 'cmocean' +version = '2.0' + +homepage = 'https://github.com/matplotlib/cmocean' +description = """This package contains colormaps for commonly-used +oceanographic variables. Most of the colormaps started from +matplotlib colormaps, but have now been adjusted using the viscm +tool to be perceptually uniform.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['13eea3c8994d8e303e32a2db0b3e686f6edfb41cb21e7b0e663c2b17eea9b03a'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.9.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.9.1.eb new file mode 100644 index 000000000000..2b8d9965a8c6 --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.9.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.9.1' + +homepage = 'https://github.com/cdr/code-server' +description = """Run VS Code on any machine anywhere and access it in the browser.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cdr/code-server/releases/download/v%(version)s/'] +sources = ['code-server-%(version)s-linux-%(mapped_arch)s.tar.gz'] +checksums = [ + { + 'code-server-%(version)s-linux-amd64.tar.gz': + '3ea79c9dc03544ea06abe7da660c1bc0e4376337070211d98ffa8c33889cd57e', + 'code-server-%(version)s-linux-arm64.tar.gz': + '6e9fedb726eb13b5ef60a77bf16a1ee9911684b7e211e90eee7a0e9e82bac9e4', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb index c4b1c45f09f2..805ff73105f9 100644 --- a/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb @@ -46,7 +46,9 @@ exts_list = [ 'checksums': ['76f8fef59cf2061dbd849bbce4fe49bdd820884385004b0ca59136ac3db129e4'], }), (name, version, { - 'checksums': ['3a2cdd4dc2d8b4832fa132a0bd1102f86c38f6865d7f119018404069d35984b2'], + 'source_urls': ['https://github.com/hpcaitech/ColossalAI/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e0975cd9a0860a2d00d1f725baaee3652e2f601724968628d8750021ef483320'], }), ] diff --git a/easybuild/easyconfigs/c/conan/conan-1.58.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/conan/conan-1.58.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..705bdc297009 --- /dev/null +++ b/easybuild/easyconfigs/c/conan/conan-1.58.0-GCCcore-11.3.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'conan' +version = '1.58.0' + +homepage = 'https://conan.io' +description = "Decentralized, open-source (MIT), C/C++ package manager." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('bottle', '0.12.23', { + 'checksums': ['683de3aa399fb26e87b274dbcf70b1a651385d459131716387abdc3792e04167'], + }), + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('node-semver', '0.6.1', { + 'checksums': ['4016f7c1071b0493f18db69ea02d3763e98a633606d7c7beca811e53b5ac66b7'], + 'modulename': 'semver', + }), + ('patch-ng', '1.17.4', { + 'checksums': ['627abc5bd723c8b481e96849b9734b10065426224d4d22cd44137004ac0d4ace'], + }), + ('pluginbase', '1.0.1', { + 'checksums': ['ff6c33a98fce232e9c73841d787a643de574937069f0d18147028d70d7dee287'], + }), + ('PyJWT', '2.6.0', { + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + 'modulename': 'jwt', + }), + (name, version, { + 'checksums': ['001039c40b523ac3b26bb675eb90887760b06c657a0d10d60157e382ba2f9b73'], + }), +] + +sanity_check_paths = { + 'files': ['bin/conan'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["conan --help"] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..7ae94e8d06f7 --- /dev/null +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.3-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'configurable-http-proxy' +version = '4.5.3' + +homepage = 'https://github.com/jupyterhub/configurable-http-proxy' +description = """HTTP proxy for node.js including a REST API for updating the routing table. + Developed as a part of the Jupyter Hub multi-user server.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = { + ('binutils', '2.38'), +} + +dependencies = [ + ('nodejs', '16.15.1'), +] + +source_urls = ['https://github.com/jupyterhub/configurable-http-proxy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b3bb67baa097ff670ad4e3c7770ccd5468f4fb56a91d91b735c9b8bdecee935e'] + +install_cmd = 'npm install --no-package-lock -g --prefix %(installdir)s %(version)s.tar.gz' + +sanity_check_paths = { + 'files': ['bin/configurable-http-proxy'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cooler/cooler-0.9.1-foss-2022a.eb b/easybuild/easyconfigs/c/cooler/cooler-0.9.1-foss-2022a.eb new file mode 100644 index 000000000000..75afbccdbac7 --- /dev/null +++ b/easybuild/easyconfigs/c/cooler/cooler-0.9.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'cooler' +version = '0.9.1' + +homepage = 'https://open2c.github.io/cooler' +description = """Cooler is a support library for a storage format, also called cooler, used to store + genomic interaction data of any size, such as Hi-C contact matrices.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('PyYAML', '6.0'), + ('pyfaidx', '0.7.1'), +] + +use_pip = True + +exts_list = [ + # cooler 0.9.1 requires setuptools >= 64.0 + ('setuptools', '67.2.0', { + 'checksums': ['b440ee5f7e607bb8c9de15259dba2583dd41a38879a7abc1d43a71c59524da48'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('cytoolz', '0.12.1', { + 'checksums': ['fc33909397481c90de3cec831bfb88d97e220dc91939d996920202f184b4648e'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), + ('multiprocess', '0.70.14', { + 'checksums': ['3eddafc12f2260d27ae03fe6069b12570ab4764ab59a75e81624fac453fbf46a'], + }), + (name, version, { + 'checksums': ['e29ee54797c71c5e3af520772e32d664e7fd09318f15c318777dd62125b15731'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ab70c069ba6e --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'cppy' +version = '1.2.1' + +homepage = "https://github.com/nucleic/cppy" +description = """A small C++ header library which makes it easier to write +Python extension modules. The primary feature is a PyObject smart pointer +which automatically handles reference counting and provides convenience +methods for performing common object operations.""" + + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), +] + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppzmq/cppzmq-4.9.0.eb b/easybuild/easyconfigs/c/cppzmq/cppzmq-4.9.0.eb new file mode 100644 index 000000000000..86ae2b180e92 --- /dev/null +++ b/easybuild/easyconfigs/c/cppzmq/cppzmq-4.9.0.eb @@ -0,0 +1,30 @@ +# ll4strw Lorentz Institute +easyblock = 'CMakeMake' + +name = 'cppzmq' +version = '4.9.0' + +homepage = 'https://github.com/zeromq/cppzmq' +description = "cppzmq is a C++ binding for libzmq." + +toolchain = SYSTEM + +source_urls = ['https://github.com/zeromq/%(name)s/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3fdf5b100206953f674c94d40599bdb3ea255244dcc42fab0d75855ee3645581'] + +builddependencies = [ + ('GCCcore', '11.2.0'), # required for hierarchical module naming scheme + ('binutils', '2.37', '', ('GCCcore', '11.2.0')), + ('CMake', '3.22.1', '', ('GCCcore', '11.2.0')), + ('ZeroMQ', '4.3.4', '', ('GCCcore', '11.2.0')), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['include/zmq.hpp'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3a066943a858 --- /dev/null +++ b/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'crossguid' +local_commit = 'ca1bf4b' +version = '20190529' + +homepage = 'https://github.com/graeme-hill/crossguid' +description = """ +CrossGuid is a minimal, cross platform, C++ GUID library. +It uses the best native GUID/UUID generator on the given platform and has a +generic class for parsing, stringifying, and comparing IDs. +The guid generation technique is determined by your platform:""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/graeme-hill/crossguid/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['crossguid-20190529_fix_libuuid.patch'] + +checksums = [ + '6be27e0b3a4907f0cd3cfadec255ee1b925569e1bd06e67a4d2f4267299b69c4', # crossguid-20190529.tar.gz + '9ee0f76e18b465ec93364d44d2adb7643081a5b5eee4524a14544472581d7782', # crossguid-20190529_fix_libuuid.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('util-linux', '2.38'), +] + +# build demo +# build static and shared libraries +configopts = ["-DCROSSGUID_TESTS=ON", "-DBUILD_SHARED_LIBS=TRUE"] + +# we want to have the crossguid-test +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin/', + 'cp -a crossguid-test %(installdir)s/bin/', +] + +sanity_check_paths = { + 'files': ['lib/libcrossguid.a', 'bin/crossguid-test'], + 'dirs': ['include'], +} + +sanity_check_commands = [('crossguid-test')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/crossguid/crossguid-20190529_fix_libuuid.patch b/easybuild/easyconfigs/c/crossguid/crossguid-20190529_fix_libuuid.patch new file mode 100644 index 000000000000..d75df709152c --- /dev/null +++ b/easybuild/easyconfigs/c/crossguid/crossguid-20190529_fix_libuuid.patch @@ -0,0 +1,19 @@ +Updates the older Libuuid to LibUUID so CMake does not complain +Author: J. Sassmannshausen +diff --git a/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/CMakeLists.txt b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/CMakeLists.txt +index 76b5a62..03291c5 100644 +--- a/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/CMakeLists.txt ++++ b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/CMakeLists.txt +@@ -30,7 +30,7 @@ elseif(ANDROID) + # GUID_ANDROID is used in the headers, so make PUBLIC + target_compile_definitions(crossguid PUBLIC GUID_ANDROID) + else() +- find_package(Libuuid REQUIRED) ++ find_package(LibUUID REQUIRED) + if (NOT LIBUUID_FOUND) + message(FATAL_ERROR + "You might need to run 'sudo apt-get install uuid-dev' or similar") +diff --git a/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/cmake/FindLibuuid.cmake b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/cmake/FindLibUUID.cmake +similarity index 100% +rename from crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/cmake/FindLibuuid.cmake +rename to crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/cmake/FindLibUUID.cmake diff --git a/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.2.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.2.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..81b96e34eb71 --- /dev/null +++ b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.2.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,58 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'cryoCARE' +version = '0.2.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/juglab/cryoCARE_pip' +description = """This package is a memory efficient implementation of cryoCARE. + +This setup trains a denoising U-Net for tomographic reconstruction according to + the Noise2Noise training paradigm. Therefore the user has to provide two +tomograms of the same sample. The simplest way to achieve this is with direct- +detector movie-frames. + +You can use Warp to generate two reconstructed tomograms based on the even/odd +frames. Alternatively, the movie-frames can be split in two halves (e.g. with +MotionCor2 -SplitSum 1 or with IMOD alignframes -debug 10000) from which two +identical, up to random noise, tomograms can be reconstructed. + +These two (even and odd) tomograms can be used as input to this cryoCARE +implementation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('TensorFlow', '2.6.0', versionsuffix), + ('mrcfile', '1.3.0'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + (name, version, { + 'checksums': ['b66989acb6eadf771de08a46e4860d041113527205eebb2cf5d13ae3dc9cb43b'], + }), +] + +sanity_check_commands = [ + 'cryoCARE_extract_train_data.py --help', + 'cryoCARE_train.py --help', + 'cryoCARE_predict.py --help', +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/csvkit/csvkit-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/csvkit/csvkit-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..4f56df24c1cd --- /dev/null +++ b/easybuild/easyconfigs/c/csvkit/csvkit-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,89 @@ +easyblock = 'PythonBundle' + +name = 'csvkit' +version = '1.1.0' + +homepage = 'https://github.com/wireservice/csvkit' +description = """csvkit is a suite of command-line tools for converting to and working with CSV, + the king of tabular file formats.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38') +] + +dependencies = [ + ('Python', '3.10.4'), + ('openpyxl', '3.0.10'), +] + +use_pip = True +sanity_pip_check = True + +fix_python_shebang_for = ['bin/*'] + +exts_list = [ + ('pytimeparse', '1.1.8', { + 'checksums': ['e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a'], + }), + ('parsedatetime', '2.6', { + 'checksums': ['4cb368fbb18a0b7231f4d76119165451c8d2e35951455dfee97c62a87b04d455'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '8.0.0', { + 'modulename': 'slugify', + 'checksums': ['f1da83f3c7ab839b3f84543470cd95bdb5a81f1a0b80fed502f78b7dca256062'], + }), + ('leather', '0.3.4', { + 'checksums': ['b43e21c8fa46b2679de8449f4d953c06418666dc058ce41055ee8a8d3bb40918'], + }), + ('agate', '1.7.1', { + 'checksums': ['eadf46d980168b8922d5d396d6258eecd5e7dbef7e6f0c0b71e968545ea96389'], + }), + ('olefile', '0.46', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964'], + }), + ('agate-excel', '0.2.5', { + 'modulename': 'agateexcel', + 'checksums': ['62315708433108772f7f610ca769996b468a4ead380076dbaf6ffe262831b153'], + }), + ('dbfread', '2.0.7', { + 'checksums': ['07c8a9af06ffad3f6f03e8fe91ad7d2733e31a26d2b72c4dd4cfbae07ee3b73d'], + }), + ('agate-dbf', '0.2.2', { + 'modulename': 'agatedbf', + 'checksums': ['589682b78c5c03f2dc8511e6e3edb659fb7336cd118e248896bb0b44c2f1917b'], + }), + ('greenlet', '2.0.2', { + 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], + }), + ('SQLAlchemy', '1.4.46', { + 'checksums': ['6913b8247d8a292ef8315162a51931e2b40ce91681f1b6f18f697045200c4a30'], + }), + ('agate-sql', '0.5.9', { + 'modulename': 'agatesql', + 'checksums': ['30b642a32a5b671161abef9e8ec36352f2e78a24ce849054edac6946d8b9ddc6'], + }), + (name, version, { + 'checksums': ['ad836b4ebf17674284ec94e2adeb9bea97367c9c7310187c2d8e2e3f1ded9c13'], + }), +] + +local_binaries = ['in2csv', 'sql2csv', 'csvclean', 'csvcut', 'csvgrep', 'csvjoin', 'csvsort', 'csvstack', 'csvformat', + 'csvjson', 'csvlook', 'csvpy', 'csvsql', 'csvstat'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [('csvlook', '-h')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022a.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022a.eb new file mode 100644 index 000000000000..59e562d1e6b8 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022a.eb @@ -0,0 +1,50 @@ +# 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 +# +# Author: Ake Sandgren, HPC2N, Umea University +# +# Author: Thomas Hoffmann, EMBL Heidelberg + +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('GSL', '2.7',), + ('wxWidgets', '3.2.1'), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.5.2.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.5.2.eb new file mode 100644 index 000000000000..2a9744489075 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.5.2.eb @@ -0,0 +1,41 @@ +name = 'cuDNN' +version = '8.4.1.50' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN 8.4.1 is not specific to CUDA 11.6, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/11.6/' % local_short_ver, +] +sources = ['%(namelower)s-linux-%(cudnnarch)s-%(version)s_cuda11.6-archive.tar.xz'] +checksums = [ + { + '%(namelower)s-linux-x86_64-%(version)s_cuda11.6-archive.tar.xz': + 'ec96d2376d81fca42bdd3d4c3d705a99b29a065bab57f920561c763e29c67d01', + '%(namelower)s-linux-ppc64le-%(version)s_cuda11.6-archive.tar.xz': + '8b806cbfdc81352bf76716d1e53b42537665d110c6ffc068be910505c10e1b98', + '%(namelower)s-linux-sbsa-%(version)s_cuda11.6-archive.tar.xz': + '0b1b9fac5b78974e2fdaaa74843db18f636ce8f3d999d62ff2a615b9978fc360', + } +] + +dependencies = [('CUDA', '11.5.2')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_infer_static.a', 'lib64/libcudnn_adv_train_static.a', + 'lib64/libcudnn_cnn_infer_static.a', 'lib64/libcudnn_cnn_train_static.a', + 'lib64/libcudnn_ops_infer_static.a', 'lib64/libcudnn_ops_train_static.a', + 'lib64/libcudnn.%s' % SHLIB_EXT + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.6.0.163-CUDA-11.8.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.6.0.163-CUDA-11.8.0.eb new file mode 100644 index 000000000000..bc2f6803e9b3 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.6.0.163-CUDA-11.8.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.6.0.163' +versionsuffix = '-CUDA-%(cudaver)s' +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +local_cuda_major = '11' # Is there a way to make this parametric? '%(cudaver)'.split(...) obviously doesn't work... + +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/%%(cudashortver)s/' % local_short_ver # noqa: E501 +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'bbc396df47294c657edc09c600674d608cb1bfc80b82dcf4547060c21711159e', + '%%(namelower)s-linux-ppc64le-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'c8a25e7e3df1bb9c4e18a4f24dd5f25cfd4bbe8b7054e34008e53b2be4f58a80', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'a0202278d3cbd4f3adc3f7816bff6071621cb042b0903698b477acac8928ac06', +}] + +dependencies = [('CUDA', '11.8.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_infer_static.a', 'lib64/libcudnn_adv_train_static.a', + 'lib64/libcudnn_cnn_infer_static.a', 'lib64/libcudnn_cnn_train_static.a', + 'lib64/libcudnn_ops_infer_static.a', 'lib64/libcudnn_ops_train_static.a', + 'lib64/libcudnn.%s' % SHLIB_EXT + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.7.0.84-CUDA-11.8.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.7.0.84-CUDA-11.8.0.eb new file mode 100644 index 000000000000..8443701d7c4f --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.7.0.84-CUDA-11.8.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.7.0.84' +versionsuffix = '-CUDA-%(cudaver)s' +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +local_cuda_major = '11' + +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/%%(cudashortver)s/' % local_short_ver # noqa: E501 +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '976c4cba7233c97ae74006afab5172976300ba40f5b250a21f8cf71f59c9f76d', + '%%(namelower)s-linux-ppc64le-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '0433d6d8b6841298e049e8a542750aa330a6e046a52ad95fae0c2f75dabe5575', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'cf967f78dbf6c075243cc83aa18759e370db3754aa15b12a0a14e8bf67a3a9d4', +}] + +dependencies = [('CUDA', '11.8.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_infer_static.a', 'lib64/libcudnn_adv_train_static.a', + 'lib64/libcudnn_cnn_infer_static.a', 'lib64/libcudnn_cnn_train_static.a', + 'lib64/libcudnn_ops_infer_static.a', 'lib64/libcudnn_ops_train_static.a', + 'lib64/libcudnn.%s' % SHLIB_EXT + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.8.0.121-CUDA-12.0.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.8.0.121-CUDA-12.0.0.eb new file mode 100644 index 000000000000..3da8ab75fce8 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.8.0.121-CUDA-12.0.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.8.0.121' +versionsuffix = '-CUDA-%(cudaver)s' +homepage = 'https://developer.nvidia.com/cudnn' +description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is +a GPU-accelerated library of primitives for deep neural networks.""" + +toolchain = SYSTEM + +# note: cuDNN is tied to specific to CUDA versions, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +local_cuda_major = '12' + +source_urls = [ + 'https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-%(cudnnarch)s/' +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-ppc64le-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'cd41ab8b61f5beb54e32c3668ecd311ce926c39006fba256b053dd7d248419d4', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'fc668519a8344e9d05335bad4bc5d23a504cdc7579aea41f12d6aa0f3079e709', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'a0792b666caaf593a9dd4130979578fd3a78230f4407645c295700ef8e7aaaf2', +}] + +dependencies = [('CUDA', '12.0.0')] + +sanity_check_paths = { + 'files': [ + 'include/cudnn.h', 'lib64/libcudnn_adv_infer_static.a', 'lib64/libcudnn_adv_train_static.a', + 'lib64/libcudnn_cnn_infer_static.a', 'lib64/libcudnn_cnn_train_static.a', + 'lib64/libcudnn_ops_infer_static.a', 'lib64/libcudnn_ops_train_static.a', + 'lib64/libcudnn.%s' % SHLIB_EXT + ], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb new file mode 100644 index 000000000000..bec7936a183f --- /dev/null +++ b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'cuSPARSELt' +version = '0.3.0.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://docs.nvidia.com/cuda/cusparselt/index.html' +description = """NVIDIA cuSPARSELt is a high-performance CUDA library dedicated to general matrix-matrix operations in +which at least one operand is a sparse matrix""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cusparselt/redist/libcusparse-lt/linux-x86_64/'] +sources = ['libcusparse_lt-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['46b258c2c333f7324e03bdf6b13576be6153b1218fb531025631650e36515f45'] + +dependencies = [('CUDA', '11.4.1')] + +sanity_check_paths = { + 'files': ['include/cusparseLt.h', + 'lib/libcusparseLt.%s' % SHLIB_EXT, + 'lib/libcusparseLt_static.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.4.1.eb new file mode 100644 index 000000000000..470b423afa83 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.4.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '1.6.1' +version = local_shortver + '.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['793b425c30ffd423c4f3a2e94acaf4fcb6752264aa73b74695a002dd2fe94b1a'] + +local_cudamajver = '11' +dependencies = [('CUDA', local_cudamajver + '.4.1')] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/%s/libcutensor.%s' % (local_cudamajver, SHLIB_EXT), + 'lib/%s/libcutensor_static.a' % local_cudamajver], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/%s' % local_cudamajver], + 'LIBRARY_PATH': ['lib/%s' % local_cudamajver], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.7.0.eb new file mode 100644 index 000000000000..32caad1f1550 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '1.6.1' +version = local_shortver + '.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cutensor' +description = """The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, + reduction and elementwise operations.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/'] +sources = ['libcutensor-linux-x86_64-%(version)s-archive.tar.xz'] +checksums = ['793b425c30ffd423c4f3a2e94acaf4fcb6752264aa73b74695a002dd2fe94b1a'] + +local_cudamajver = '11' +dependencies = [('CUDA', local_cudamajver + '.7.0')] + +sanity_check_paths = { + 'files': ['include/cutensor.h', 'include/cutensor/types.h', + 'lib/%s/libcutensor.%s' % (local_cudamajver, SHLIB_EXT), + 'lib/%s/libcutensor_static.a' % local_cudamajver], + 'dirs': [], +} + +modextrapaths = { + 'LD_LIBRARY_PATH': ['lib/%s' % local_cudamajver], + 'LIBRARY_PATH': ['lib/%s' % local_cudamajver], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..e80a64e1148d --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.2-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '4.2' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('pigz', '2.7'), + ('Python', '3.10.4'), + ('python-isal', '1.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.7.0', { + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + ('dnaio', '0.10.0', { + 'checksums': ['de51a50948f00b864297d74eddb588fbee5ac229855754e77564d18b24619d18'], + }), + (name, version, { + 'checksums': ['ab0ac450baecc1576cc5ccbc06eab2685be9ee7676763938237d954a644237f1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221008225030-foss-2021a.eb b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221008225030-foss-2021a.eb new file mode 100644 index 000000000000..91182ba88161 --- /dev/null +++ b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221008225030-foss-2021a.eb @@ -0,0 +1,108 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'cwltool' +version = '3.1.20221008225030' + +homepage = 'https://github.com/common-workflow-language/cwltool' +description = """Common workflow language (CWL) reference implementation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# The Qt5 dependency of Graphviz (required by pydot) may be long to build and +# requires a lot of disk space and memory! +dependencies = [ + ('Python', '3.9.5'), + ('typing-extensions', '3.10.0.0'), + ('pydot', '1.4.2'), + ('lxml', '4.6.3'), + ('ruamel.yaml', '0.17.21'), + ('networkx', '2.5.1'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', '6.2.0', { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), + ('mistune', '2.0.4', { + 'checksums': ['9ee0a66053e2267aba772c71e06891fa8f1af6d4b01d5e84e267b4570d4d9808'], + }), + ('schema-salad', '8.3.20230109181936', { + 'modulename': 'schema_salad', + 'checksums': ['e0fb8fbe793dda42133f374642be9f1af1651bbfb3ca37e341d8866d695de45a'], + }), + ('shellescape', '3.8.1', { + 'checksums': ['40b310b30479be771bf3ab28bd8d40753778488bd46ea0969ba0b35038c3ec26'], + }), + ('cwlformat', '2022.2.18', { + 'modulename': 'cwlformat', + 'source_tmpl': 'cwlformat-%(version)s-py3-none-any.whl', + 'checksums': ['d3e2dca192ce10e703ed4eb0bae26539db08d8ddd7c6a6fe9d1406c3f1b53cda'], + }), + ('cwl-upgrader', '1.2.4', { + 'modulename': 'cwlupgrader', + 'checksums': ['b25fc236407343d44cc830ac3f63eed395b8d872fc7e17db92cde583d4a3b2ec'], + }), + ('cwl-utils', '0.21', { + 'modulename': 'cwl_utils', + 'checksums': ['583f05010f7572f3a69310325472ccb6efc2db7f43dc6428d03552e0ffcbaaf9'], + }), + ('mypy-extensions', '0.4.3', { + 'modulename': 'mypy_extensions', + 'source_tmpl': 'mypy_extensions-%(version)s.tar.gz', + 'checksums': ['2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8'], + }), + ('prov', '1.5.1', { + 'checksums': ['7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c'], + }), + ('bagit', '1.8.1', { + 'checksums': ['37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c'], + }), + (name, version, { + 'checksums': ['9fbf2996ba673d83eaf28c745560f68992c08ab668eab2447957dbaaee8881b0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cwltool'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cwltool --version"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221018083734-foss-2021a.eb b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221018083734-foss-2021a.eb new file mode 100644 index 000000000000..170d12542ffd --- /dev/null +++ b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221018083734-foss-2021a.eb @@ -0,0 +1,108 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'cwltool' +version = '3.1.20221018083734' + +homepage = 'https://github.com/common-workflow-language/cwltool' +description = """Common workflow language (CWL) reference implementation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# The Qt5 dependency of Graphviz (required by pydot) may be long to build and +# requires a lot of disk space and memory! +dependencies = [ + ('Python', '3.9.5'), + ('typing-extensions', '3.10.0.0'), + ('pydot', '1.4.2'), + ('lxml', '4.6.3'), + ('ruamel.yaml', '0.17.21'), + ('networkx', '2.5.1'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', '6.2.0', { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('schema-salad', '8.3.20221016151607', { + 'modulename': 'schema_salad', + 'checksums': ['c61a517c945cd383445ebecbc085b00766913a3fdd7df9699a0fa4c41728ca1f'], + }), + ('shellescape', '3.8.1', { + 'checksums': ['40b310b30479be771bf3ab28bd8d40753778488bd46ea0969ba0b35038c3ec26'], + }), + ('cwlformat', '2022.2.18', { + 'modulename': 'cwlformat', + 'source_tmpl': 'cwlformat-%(version)s-py3-none-any.whl', + 'checksums': ['d3e2dca192ce10e703ed4eb0bae26539db08d8ddd7c6a6fe9d1406c3f1b53cda'], + }), + ('cwl-upgrader', '1.2.4', { + 'modulename': 'cwlupgrader', + 'checksums': ['b25fc236407343d44cc830ac3f63eed395b8d872fc7e17db92cde583d4a3b2ec'], + }), + ('cwl-utils', '0.20', { + 'modulename': 'cwl_utils', + 'checksums': ['28472aaba50ab4e8380c29f31c27beb63f60a1af1690369ab7bb7e31e71e66d9'], + }), + ('mypy-extensions', '0.4.3', { + 'modulename': 'mypy_extensions', + 'source_tmpl': 'mypy_extensions-%(version)s.tar.gz', + 'checksums': ['2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8'], + }), + ('prov', '1.5.1', { + 'checksums': ['7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c'], + }), + ('bagit', '1.8.1', { + 'checksums': ['37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c'], + }), + ('cwltool', '3.1.20221018083734', { + 'checksums': ['06d08f390ed7577ac66c6eef0c98f915363b5e36c04daa1353e3f2d0c5e19f17'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cwltool'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cwltool --version"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cython-blis/cython-blis-0.9.1-foss-2022a.eb b/easybuild/easyconfigs/c/cython-blis/cython-blis-0.9.1-foss-2022a.eb new file mode 100644 index 000000000000..bbf5c1ba745b --- /dev/null +++ b/easybuild/easyconfigs/c/cython-blis/cython-blis-0.9.1-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'cython-blis' +version = '0.9.1' + +homepage = 'https://github.com/explosion/cython-blis' + +description = """Fast BLAS-like operations from Python and Cython, without the tears. +Provides the Blis linear algebra routines as a self-contained Python C-extension. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Cython', '0.29.33'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = ['https://pypi.python.org/packages/source/b/blis/'] +sources = ['blis-%(version)s.tar.gz'] +checksums = ['7ceac466801f9d97ecb34e10dded8c24cf5e0927ea7e834da1cc9d2ed3fc366f'] + +options = {'modulename': 'blis'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb new file mode 100644 index 000000000000..8889f759be91 --- /dev/null +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Tarball' + +name = 'DAS_Tool' +version = '1.1.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cmks/DAS_Tool' +description = """DAS Tool is an automated method that integrates the results of a flexible number of binning + algorithms to calculate an optimized, non-redundant set of bins from a single assembly.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/cmks/DAS_Tool/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch'] +checksums = [ + 'c2d41a38a7a92d53d412ac3f2b8ab5b9fa64c56021aa5c4dd51fefd7c96b68f4', # 1.1.3.tar.gz + 'dc89e6ab7129d170d24da28720cec0937b4d958b5ae46049373d57dde8b8a27a', # DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch +] + +dependencies = [ + ('R', '4.1.0'), + ('Python', '3.9.5'), + ('Ruby', '3.0.1'), + ('pullseq', '1.0.2'), + ('prodigal', '2.6.3'), + ('BLAST+', '2.11.0'), +] + +exts_defaultclass = 'RPackage' + +exts_list = [ + (name, version, { + 'modulename': 'DASTool', + 'source_tmpl': 'DASTool_%(version)s.tar.gz', + 'source_urls': ['https://github.com/cmks/DAS_Tool/raw/%(version)s/package/'], + 'checksums': ['050ba4fa061ceb398a6881652b4b5f14736581a35edd00ef9ae4cea986f38d18'], + }), +] + +postinstallcmds = [ + "cd %(installdir)s; unzip db.zip", + "chmod a+x %(installdir)s/DAS_Tool", +] + +sanity_check_paths = { + 'files': ['DAS_Tool', 'arc.all.faa', 'arc.scg.lookup'], + 'dirs': ['DASTool/R'], +} + +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] +# Help gets printed correctly, but the error code is 1 + +modextrapaths = { + 'PATH': '', + 'R_LIBS_SITE': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..83b4de993252 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0-foss-2021b.eb b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0-foss-2021b.eb new file mode 100755 index 000000000000..c9cbb4090d80 --- /dev/null +++ b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DBCSR' +version = '2.5.0' + +homepage = 'https://cp2k.github.io/dbcsr/develop/' +description = """DBCSR stands for Distributed Blocked Compressed Sparse Row. DBCSR is a library designed to + efficiently perform sparse matrix-matrix multiplication, among other operations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cp2k/dbcsr/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix-cmake.patch'] +checksums = [ + {'dbcsr-2.5.0.tar.gz': '91fda9b2502e5d0a2a6cdd5a73ef096253cc7e75bd01ba5189a4726ad86aef08'}, + {'DBCSR-2.5.0_fix-cmake.patch': 'ccb9ba93dd5bd3107a3d1c190ec8b0d8af4e2df553b31dd7b224507220823dc9'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libxsmm', '1.17'), + ('Python', '3.9.6'), +] + +preconfigopts = 'export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${EBROOTLIBXSMM}/lib" && ' +configopts = '-DUSE_SMM=libxsmm-shared -DBLA_VENDOR=FlexiBLAS' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/dbcsr_tensor_api.mod', 'include/dbcsr.h', 'lib/libdbcsr.a'], + 'dirs': ['lib/cmake/dbcsr'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0_fix-cmake.patch b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0_fix-cmake.patch new file mode 100755 index 000000000000..4711b97fb06f --- /dev/null +++ b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0_fix-cmake.patch @@ -0,0 +1,62 @@ +Fix finding of BLAS/LAPACK libraries and add libxsmm include directory +Patch by Simon Branford (University of Birmingham) +--- cmake/FindBLAS.cmake.orig 2023-01-16 20:06:01.198294000 +0000 ++++ cmake/FindBLAS.cmake 2023-01-16 20:15:19.521389856 +0000 +@@ -536,6 +536,22 @@ + endif() + endif() + ++# FlexiBLAS (https://github.com/mpimd-csc/flexiblas) ++if (BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT BLAS_LIBRARIES) ++ check_blas_libraries( ++ BLAS_LIBRARIES ++ BLAS ++ sgemm ++ "" ++ "flexiblas" ++ "" ++ "" ++ "" ++ ) ++ endif() ++endif () ++ + # OpenBLAS? (http://www.openblas.net) + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) +--- cmake/FindLAPACK.cmake.orig 2023-01-16 20:05:47.292543000 +0000 ++++ cmake/FindLAPACK.cmake 2023-01-16 20:16:11.193167061 +0000 +@@ -346,6 +346,22 @@ + endif() + endif() + ++ if(BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT LAPACK_LIBRARIES) ++ check_lapack_libraries( ++ LAPACK_LIBRARIES ++ LAPACK ++ cheev ++ "" ++ "flexiblas" ++ "" ++ "" ++ "" ++ "${BLAS_LIBRARIES}" ++ ) ++ endif() ++ endif() ++ + # OpenBLAS? (http://www.openblas.net) + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) +--- CMakeLists.txt.orig 2023-01-16 20:08:49.531879436 +0000 ++++ CMakeLists.txt 2023-01-16 20:08:25.968847202 +0000 +@@ -158,6 +158,7 @@ + pkg_check_modules(LIBXSMM REQUIRED IMPORTED_TARGET GLOBAL libxsmmf) + endif () + endif () ++include_directories("$ENV{EBROOTLIBXSMM}/include") + + # =================================== BLAS & LAPACK, PkgConfig + find_package(LAPACK REQUIRED) # needed for some of the integrated test routines, diff --git a/easybuild/easyconfigs/d/DBG2OLC/DBG2OLC-20200724-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DBG2OLC/DBG2OLC-20200724-GCC-11.3.0.eb new file mode 100644 index 000000000000..0c8e9e7176c6 --- /dev/null +++ b/easybuild/easyconfigs/d/DBG2OLC/DBG2OLC-20200724-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CmdCp' + +name = 'DBG2OLC' +version = '20200724' +local_commit = '9514828' + +homepage = 'https://github.com/yechengxi/DBG2OLC' +description = """DBG2OLC:Efficient Assembly of Large Genomes Using Long Erroneous Reads of the Third Generation + Sequencing Technologies""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/yechengxi/DBG2OLC/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['52a05518a377a2bd784265a8dc05c49009f858d4c1c893b4dddbb12106bc0f99'] + +cmds_map = [('.*', "$CXX $CXXFLAGS $LDFLAGS -o DBG2OLC *.cpp")] + +files_to_copy = [(['DBG2OLC'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/DBG2OLC'], + 'dirs': [], +} + +sanity_check_commands = ["DBG2OLC 2>&1 | grep 'For third-gen sequencing: DBG2OLC'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.15.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e3189b0b860b --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.15.2-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'DBus' +version = '1.15.2' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7e640803084af59f5e477b7ded11fd888b5380910a895c51ca3aedd63c0626ca'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('expat', '2.4.9'), +] + +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 + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.7-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..ffc3a669e07f --- /dev/null +++ b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.7-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'DCMTK' +version = '3.6.7' + +homepage = 'https://dicom.offis.de/dcmtk' +description = """DCMTK is a collection of libraries and applications implementing large parts the DICOM standard. +It includes software for examining, constructing and converting DICOM image files, handling offline media, sending +and receiving images over a network connection, as well as demonstrative image storage and worklist servers.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +local_stripped_version = version.replace('.', '') + +source_urls = ['https://dicom.offis.de/download/%(namelower)s/dcmtk{}/'.format(local_stripped_version)] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7c58298e3e8d60232ee6fc8408cfadd14463cc11a3c4ca4c59af5988c7e9710a'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.13'), + ('libiconv', '1.17'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=OFF', + '-DBUILD_SHARED_LIBS=ON' +] + + +sanity_check_paths = { + 'files': ['bin/dcmdump', 'bin/dcmj2pnm'], + 'dirs': ['lib'], +} + +local_test_modules = ['dcmdata', 'dcmect', 'dcmfg', 'dcmiod', 'dcmnet', 'dcmrt', 'dcmseg', 'dcmsr', 'dcmtls', 'ofstd'] +sanity_check_commands = [ + '%s_tests | grep " 0 failed"' % s for s in local_test_modules +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb index 318ab375578a..57198d99c604 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'DFT-D3' version = '3.2.0' -homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" toolchain = {'name': 'GCC', 'version': '8.3.0'} -source_urls = ['https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3'] +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two # tarballs with the same version number can have different checksums. For this diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb index 113163554cda..29e0a67ce679 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'DFT-D3' version = '3.2.0' -homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" toolchain = {'name': 'iccifort', 'version': '2020.4.304'} -source_urls = ['https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3'] +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}] checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59'] diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb index 85354a2bf7e0..ce6a66aa85fe 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'DFT-D3' version = '3.2.0' -homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" toolchain = {'name': 'intel', 'version': '2019a'} -source_urls = ['https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3'] +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two # tarballs with the same version number can have different checksums. For this diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb index 88dfa0f4cac4..98c1e9d2d9b3 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'DFT-D3' version = '3.2.0' -homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} -source_urls = ['https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3'] +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two # tarballs with the same version number can have different checksums. For this diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb new file mode 100644 index 000000000000..2ef036162ce3 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'DFT-D3' +version = '3.2.0' + +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' +description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical + quantum chemical methods.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] +# Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version +# numbering. Also, the authors are prone (alas) to stealth upgrades, so that two +# tarballs with the same version number can have different checksums. For this +# reason, it is suggested to manually download and rename the tarball. The +# checksum may also need updating from time to time. +# Checksum last updated: 20 September 2018 +# Date tarball was reported to have been modified: 14 June 2016 +sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}] +checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59'] + +prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && " + +files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] + +sanity_check_paths = { + 'files': ['bin/dftd3'], + 'dirs': [], +} + +sanity_check_commands = ['dftd3'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DGL/DGL-0.9.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/DGL/DGL-0.9.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..9aa9bdcd1511 --- /dev/null +++ b/easybuild/easyconfigs/d/DGL/DGL-0.9.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,138 @@ +easyblock = 'CMakeMake' + +name = 'DGL' +version = '0.9.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.dgl.ai' +description = """DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs. +DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest +of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +# GCC 10.3.0 vectorizer causes errors in nanoflann on skylake and later +# and since nanoflann is just a header file we need to turn it off for anything that uses it +toolchainopts = {'vectorize': False} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [ + { + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(namelower)s-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/KarypisLab/METIS/archive'], + 'download_filename': 'v5.1.1-DistDGL-v0.5.tar.gz', + 'filename': 'metis-5.1.1-DistDGL-v0.5.tar.gz', + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS --strip-components=1 -xf %s", + }, + { + 'source_urls': ['https://github.com/KarypisLab/GKlib/archive'], + 'download_filename': 'METIS-v5.1.1-DistDGL-0.5.tar.gz', + 'filename': 'GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz', + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS/GKlib --strip-components=1 -xf %s", + }, + { + 'filename': 'tensorpipe-20230206.tar.gz', + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': 'tensorpipe', + 'commit': '6042f1a4cbce8eef997f11ed0012de137b317361', + 'recursive': True, + }, + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/tensorpipe --strip-components=1 -xf %s", + }, + # DGL really needs cub >= 1.17, CUDA 11.3 only have 1.11 + { + 'source_urls': ['https://github.com/NVIDIA/thrust/archive'], + 'download_filename': '1.17.0.tar.gz', + 'filename': 'thrust-1.17.0.tar.gz', + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/thrust --strip-components=1 -xf %s", + }, + { + 'source_urls': ['https://github.com/NVIDIA/cub/archive'], + 'download_filename': '1.17.0.tar.gz', + 'filename': 'cub-1.17.0.tar.gz', + 'extract_cmd': + "tar -C %(namelower)s-%(version)s/third_party/thrust/dependencies/cub --strip-components=1 -xf %s", + }, +] +patches = [ + '%(name)s-%(version)s_use_externals_instead_of_submodules.patch', +] +checksums = [ + '8d26ebb7ed976665bbf5bbd1792d8e6efb13a8fa16e5eb1efed75e07fb982e04', # dgl-0.9.1.tar.gz + 'cedf0b32d32a8496bac7eb078b2b8260fb00ddb8d50c27e4082968a01bc33331', # metis-5.1.1-DistDGL-v0.5.tar.gz + '52aa0d383d42360f4faa0ae9537ba2ca348eeab4db5f2dfd6343192d0ff4b833', # GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz + None, # tensorpipe-20230206.tar.gz + 'b02aca5d2325e9128ed9d46785b8e72366f758b873b95001f905f22afcf31bbf', # thrust-1.17.0.tar.gz + '16fd4860ae3196bc3eb08bf5754fa2a9697951ddae36dc9721e6614388893618', # cub-1.17.0.tar.gz + # DGL-0.9.1_use_externals_instead_of_submodules.patch' + '4c39420abc09d619de92ca4ee5c4472359b1f5ffe8acd898d4d665bdbeb2ce40', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), + ('DLPack', '0.3'), + ('DMLC-Core', '0.5'), + ('Parallel-Hashmap', '1.33'), + ('nanoflann', '1.4.0'), + ('libxsmm', '1.16.2'), + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('PyTorch', '1.12.1', versionsuffix), +] + +_copts = [ + '-DUSE_AVX=OFF', # AVX + LIBXSMM requires libxsmm tag 1.eol + '-DBUILD_CPP_TEST=ON', + '-DUSE_CUDA=ON', # Must be "ON", as opposed to "1" or so, due to bad CMake code in DGL + '-DUSE_NCCL=ON', + '-DUSE_SYSTEM_NCCL=ON', + '-DBUILD_WITH_SHARED_NCCL=ON', + '-DUSE_FP16=ON', +] +configopts = ' '.join(_copts) + +build_shared_libs = True + +runtest = 'test' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'easyblock': 'PythonPackage', + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'runtest': True, +} + +exts_list = [ + ('dgl', version, { + 'modulename': False, + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'start_dir': 'python', + 'use_pip': False, + 'checksums': ['8d26ebb7ed976665bbf5bbd1792d8e6efb13a8fa16e5eb1efed75e07fb982e04'], + }), +] + +sanity_check_paths = { + 'files': ['lib/libdgl.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/DGL/DGL-0.9.1_use_externals_instead_of_submodules.patch b/easybuild/easyconfigs/d/DGL/DGL-0.9.1_use_externals_instead_of_submodules.patch new file mode 100644 index 000000000000..371f6170a362 --- /dev/null +++ b/easybuild/easyconfigs/d/DGL/DGL-0.9.1_use_externals_instead_of_submodules.patch @@ -0,0 +1,147 @@ +commit 58b57280a7f0f6853fb7239d8f13737437f519b5 +Author: Ake Sandgren +Date: Mon Feb 13 13:40:40 2023 +0100 + + Use external EasyBuild versions of some submodules + And make sure libxsmm links with flexiblas + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6ff98d5e..4dae1c72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -204,21 +204,21 @@ set_property(TARGET dgl PROPERTY CXX_STANDARD 14) + + # include directories + target_include_directories(dgl PRIVATE "include") +-target_include_directories(dgl PRIVATE "third_party/dlpack/include") +-target_include_directories(dgl PRIVATE "third_party/dmlc-core/include") +-target_include_directories(dgl PRIVATE "third_party/phmap/") ++#target_include_directories(dgl PRIVATE "third_party/dlpack/include") ++#target_include_directories(dgl PRIVATE "third_party/dmlc-core/include") ++#target_include_directories(dgl PRIVATE "third_party/phmap/") + target_include_directories(dgl PRIVATE "third_party/xbyak/") + target_include_directories(dgl PRIVATE "third_party/METIS/include/") + target_include_directories(dgl PRIVATE "tensoradapter/include") +-target_include_directories(dgl PRIVATE "third_party/nanoflann/include") +-target_include_directories(dgl PRIVATE "third_party/libxsmm/include") ++#target_include_directories(dgl PRIVATE "third_party/nanoflann/include") ++#target_include_directories(dgl PRIVATE "third_party/libxsmm/include") + + + # For serialization + if (USE_HDFS) + option(DMLC_HDFS_SHARED "dgl has to build with dynamic hdfs library" ON) + endif() +-add_subdirectory("third_party/dmlc-core") ++#add_subdirectory("third_party/dmlc-core") + list(APPEND DGL_LINKER_LIBS dmlc) + set(GOOGLE_TEST 0) # Turn off dmlc-core test + +@@ -234,17 +234,7 @@ endif(NOT MSVC) + + # Compile LIBXSMM + if((NOT MSVC) AND USE_LIBXSMM) +- if(REBUILD_LIBXSMM) +- add_custom_target(libxsmm COMMAND make realclean COMMAND make -j BLAS=0 +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/third_party/libxsmm +- ) +- else(REBUILD_LIBXSMM) +- add_custom_target(libxsmm COMMAND make -j BLAS=0 +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/third_party/libxsmm +- ) +- endif(REBUILD_LIBXSMM) +- add_dependencies(dgl libxsmm) +- list(APPEND DGL_LINKER_LIBS -L${CMAKE_SOURCE_DIR}/third_party/libxsmm/lib/ xsmm) ++ list(APPEND DGL_LINKER_LIBS xsmm flexiblas) + endif((NOT MSVC) AND USE_LIBXSMM) + + if(NOT MSVC) +@@ -324,15 +314,17 @@ install(TARGETS dgl DESTINATION lib${LIB_SUFFIX}) + # Testing + if(BUILD_CPP_TEST) + message(STATUS "Build with unittest") +- add_subdirectory(./third_party/googletest) ++ #add_subdirectory(./third_party/googletest) + enable_testing() + include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR}) + include_directories("include") +- include_directories("third_party/dlpack/include") +- include_directories("third_party/xbyak") +- include_directories("third_party/dmlc-core/include") +- include_directories("third_party/phmap") +- include_directories("third_party/libxsmm/include") ++ #include_directories("third_party/dlpack/include") ++ if (USE_AVX) ++ include_directories("third_party/xbyak") ++ endif(USE_AVX) ++ #include_directories("third_party/dmlc-core/include") ++ #include_directories("third_party/phmap") ++ #include_directories("third_party/libxsmm/include") + file(GLOB_RECURSE TEST_SRC_FILES ${PROJECT_SOURCE_DIR}/tests/cpp/*.cc) + add_executable(runUnitTests ${TEST_SRC_FILES}) + target_link_libraries(runUnitTests gtest gtest_main) +diff --git a/include/dgl/runtime/ndarray.h b/include/dgl/runtime/ndarray.h +index cbcd79d5..db2caa16 100644 +--- a/include/dgl/runtime/ndarray.h ++++ b/include/dgl/runtime/ndarray.h +@@ -14,7 +14,7 @@ + #include + + #include "c_runtime_api.h" +-#include "dlpack/dlpack.h" ++#include + #include "serializer.h" + #include "shared_mem.h" + +diff --git a/include/dgl/zerocopy_serializer.h b/include/dgl/zerocopy_serializer.h +index 6c77c4df..53d2bfa0 100644 +--- a/include/dgl/zerocopy_serializer.h ++++ b/include/dgl/zerocopy_serializer.h +@@ -19,7 +19,7 @@ + #include + #include + +-#include "dmlc/logging.h" ++#include + + namespace dgl { + +diff --git a/include/intel/cpu_support.h b/include/intel/cpu_support.h +index 14c5f5c4..7c554f0d 100644 +--- a/include/intel/cpu_support.h ++++ b/include/intel/cpu_support.h +@@ -9,7 +9,7 @@ + #include + #include + #include +-#include "dmlc/logging.h" ++#include + #include "meta_utils.h" + #include "xbyak/xbyak.h" + #include "xbyak/xbyak_util.h" +diff --git a/src/graph/serialize/heterograph_serialize.cc b/src/graph/serialize/heterograph_serialize.cc +index ce3c8d51..6f7a75dc 100644 +--- a/src/graph/serialize/heterograph_serialize.cc ++++ b/src/graph/serialize/heterograph_serialize.cc +@@ -50,7 +50,7 @@ + #include "../heterograph.h" + #include "./graph_serialize.h" + #include "./streamwithcount.h" +-#include "dmlc/memory_io.h" ++#include + + namespace dgl { + namespace serialize { +diff --git a/src/graph/serialize/zerocopy_serializer.cc b/src/graph/serialize/zerocopy_serializer.cc +index cc3f5968..5fed2b8b 100644 +--- a/src/graph/serialize/zerocopy_serializer.cc ++++ b/src/graph/serialize/zerocopy_serializer.cc +@@ -7,7 +7,7 @@ + #include + + #include "dgl/runtime/ndarray.h" +-#include "dmlc/memory_io.h" ++#include + + namespace dgl { + diff --git a/easybuild/easyconfigs/d/DIALOGUE/DIALOGUE-1.0-20230228-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/d/DIALOGUE/DIALOGUE-1.0-20230228-foss-2021b-R-4.2.0.eb new file mode 100644 index 000000000000..9b146a684bac --- /dev/null +++ b/easybuild/easyconfigs/d/DIALOGUE/DIALOGUE-1.0-20230228-foss-2021b-R-4.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'DIALOGUE' +local_commit = '7109f6a' +# see DESCRIPTION file in source to determine version, +# but add date stamp of commit since version is not always bumped +version = '1.0-20230228' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/livnatje/DIALOGUE' +description = """DIALOGUE is a dimensionality reduction method that uses cross-cell-type associations to + identify multicellular programs (MCPs) and map the cell transcriptome as a function of its environment.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/livnatje/DIALOGUE/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['28a57c61c6854ca4c54114a3067437de6cee0eb1090c46ea45619457affdfb08'] + +dependencies = [ + ('R', '4.2.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.0-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..6677093ea15c --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.0-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.0' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5bd04574bb454562301c10b8e2594be33a147894b173421c929939b52e251715'] + +builddependencies = [('CMake', '3.23.1')] +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a-int64.eb new file mode 100644 index 000000000000..9ac0ca334a54 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a-int64.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '22.0' +versionsuffix = '-int64' + +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, 'i8': 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_64BIT_INTEGERS=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 symmetry_scf_energy" ' + +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-23.0-foss-2022b.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022b.eb new file mode 100644 index 000000000000..b69b0e9bc2dd --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('HDF5', '1.14.0') +] + +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-23.0-intel-2022b-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b-int64.eb new file mode 100644 index 000000000000..7f4588b45373 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b-int64.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' +versionsuffix = '-int64' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True, 'i8': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('HDF5', '1.14.0') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_64BIT_INTEGERS=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 symmetry_scf_energy" ' + +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-23.0-intel-2022b.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b.eb new file mode 100644 index 000000000000..2dba1046771a --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('HDF5', '1.14.0') +] + +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/DLPack/DLPack-0.3-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DLPack/DLPack-0.3-GCC-10.3.0.eb new file mode 100644 index 000000000000..c487f04f841e --- /dev/null +++ b/easybuild/easyconfigs/d/DLPack/DLPack-0.3-GCC-10.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'DLPack' +version = '0.3' + +homepage = 'https://dmlc.github.io/dlpack/latest/' +description = """DLPack is a stable in-memory data structure for an ndarray +system to interact with a variety of frameworks.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['703149f5b39ead42cc734c03c7c4bd581fcad1c5a3939e7a4b5bc82f54c3c32a'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['include/dlpack/dlpack.h', 'lib/cmake/dlpack/dlpackConfig.cmake'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-10.3.0.eb new file mode 100644 index 000000000000..cbae873b66e7 --- /dev/null +++ b/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'DMLC-Core' +version = '0.5' + +homepage = 'https://dmlc-core.readthedocs.io/en/latest' +description = """DMLC-Core is the backbone library to support all DMLC +projects, offers the bricks to build efficient and scalable distributed +machine learning libraries.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cd97475ae1ecf561a1cb1129552f9889d52b11b3beb4c56e5345d007d5020ece'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), +] + +_copts = [ + '-DUSE_CXX14_IF_AVAILABLE=ON', + '-DGOOGLE_TEST=ON', +] +configopts = ' '.join(_copts) + +build_shared_libs = True + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/dmlc/common.h', 'lib/cmake/dmlc/dmlc-config.cmake', 'lib/libdmlc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DRAGMAP/DRAGMAP-1.3.0-foss-2021b.eb b/easybuild/easyconfigs/d/DRAGMAP/DRAGMAP-1.3.0-foss-2021b.eb new file mode 100644 index 000000000000..e6bb3dd3a743 --- /dev/null +++ b/easybuild/easyconfigs/d/DRAGMAP/DRAGMAP-1.3.0-foss-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'DRAGMAP' +version = '1.3.0' + +homepage = 'https://github.com/Illumina/DRAGMAP' +description = 'Dragmap is the Dragen mapper/aligner Open Source Software.' + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Illumina/DRAGMAP/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['baf546c2f53b13e2bce4c937201e38459f3ce2f1069722ca670d8726a4bae224'] + +dependencies = { + ('Boost', '1.77.0'), + ('googletest', '1.11.0'), +} + +skipsteps = ['configure'] +prebuildopts = 'sed -i "s|-msse4.2 -mavx2|$CXXFLAGS|g" config.mk &&' +buildopts = 'CC="$CC" CXX="$CXX"' +preinstallopts = 'mkdir %(installdir)s/bin &&' +installopts = 'DESTDIR=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/dragen-os'], + 'dirs': [] +} + +sanity_check_commands = ['dragen-os --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..ce1fb1bf8a9c --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,70 @@ +# Loosely based on PR #7680 +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'DeepLabCut' +version = '2.2.0.6' +versionsuffix = '-CUDA-%(cudaver)s' +local_version = '%(versionsuffix)s-contrib' + +homepage = 'http://www.mousemotorlab.org/deeplabcut' +description = "Markerless tracking of user-defined features with deep learning" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('scikit-learn', '0.24.2'), + ('scikit-image', '0.18.3'), + ('TensorFlow', '2.6.0', versionsuffix), + ('PyYAML', '5.4.1'), + ('PyTables', '3.6.1'), + ('wxPython', '4.1.1'), + ('OpenCV', '4.5.3', local_version), + ('numba', '0.53.1'), + ('libyaml', '0.2.5'), + ('imgaug', '0.4.0', versionsuffix), + ('tqdm', '4.61.2'), + ('ruamel.yaml', '0.17.21'), + ('statsmodels', '0.12.2'), + ('PyTorch', '1.10.0', versionsuffix), + ('MoviePy', '1.0.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('filterpy', '1.4.5', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1'], + }), + ('tensorpack', '0.11', { + 'checksums': ['022b610e416e62e3575424cd08e60af27808a5fb6914294615391caf582cbd4f'], + }), + ('tf_slim', '1.1.0', { + 'source_urls': ['https://github.com/google-research/tf-slim/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['964cde4b7728a408dcd5c841ab6b93d95137ab4b60db28b10400f86286bfeb8b'], + }), + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + 'sources': ['msgpack-numpy-0.4.8.tar.gz'], + }), + + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'patches': ['deeplabcut-2.2.0.6-setup.py.patch'], + 'checksums': ['4aa6694201e2aa56b9bd3e97ab27b0bc54f1364303167216174d2376d8ae0f84', + # deeplabcut-2.2.0.6-setup.py.patch: + '1dbef23575b105a6b2fa39f28d67bf926701d4c0b4f48bed7a6b179b7e5df2b0'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DeepLabCut/deeplabcut-2.2.0.6-setup.py.patch b/easybuild/easyconfigs/d/DeepLabCut/deeplabcut-2.2.0.6-setup.py.patch new file mode 100644 index 000000000000..9bef2d46b0c7 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/deeplabcut-2.2.0.6-setup.py.patch @@ -0,0 +1,15 @@ +scikit-imiage version bumped to 0.18.3 to use the one in EasyBuild +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/deeplabcut-2.2.0.6.orig/setup.py b/deeplabcut-2.2.0.6/setup.py +index 3bff4f2..2e0926b 100644 +--- a/deeplabcut-2.2.0.6.orig/setup.py ++++ b/deeplabcut-2.2.0.6/setup.py +@@ -33,7 +33,7 @@ setuptools.setup( + "networkx", + "numpy", + "pandas>=1.0.1", +- "scikit-image>=0.17,<=0.18.1", ++ "scikit-image>=0.17,<=0.18.3", + "scikit-learn", + "scipy>=1.4", + "statsmodels>=0.11", diff --git a/easybuild/easyconfigs/d/DeepMod2/DeepMod2-0.0.1-foss-2021a.eb b/easybuild/easyconfigs/d/DeepMod2/DeepMod2-0.0.1-foss-2021a.eb new file mode 100644 index 000000000000..2b702203a848 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepMod2/DeepMod2-0.0.1-foss-2021a.eb @@ -0,0 +1,46 @@ +easyblock = 'Tarball' + +name = 'DeepMod2' +version = '0.0.1' + +homepage = 'https://github.com/WGLab/DeepMod2' + +description = """ + DeepMod2 is a computational tool for detecting DNA methylation and modifications + from Oxford Nanopore reads. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'WGLab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['68b1e4334a0f867c513e9939c196389f7ed74be6bfa297e1e33dba314840660e'] + +builddependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pysam', '0.16.0.1'), + ('TensorFlow', '2.6.0'), + ('h5py', '3.2.1'), + ('tqdm', '4.61.2', '', {'name': 'GCCcore', 'version': '10.3.0'}), + ('numba', '0.53.1'), + ('ont-fast5-api', '4.0.0'), +] + +preinstall_cmd = "chmod a+x %(namelower)s" + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': ['src'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1ffdbf30d5e3 --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2014 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# $Id$ +# +## +easyblock = 'PythonPackage' + +name = 'DendroPy' +version = '4.5.2' + +homepage = 'https://dendropy.org/' +description = """A Python library for phylogenetics and phylogenetic computing: +reading, writing, simulation, processing and manipulation of phylogenetic trees +(phylogenies) and characters.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3e5d2522170058ebc8d1ee63a7f2d25b915e34957dc02693ebfdc15f347a0101'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/sumlabels.py', 'bin/sumtrees.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["sumtrees.py --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DensPart/DensPart-20220603-intel-2022a.eb b/easybuild/easyconfigs/d/DensPart/DensPart-20220603-intel-2022a.eb new file mode 100644 index 000000000000..d1e388e8183c --- /dev/null +++ b/easybuild/easyconfigs/d/DensPart/DensPart-20220603-intel-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'DensPart' +version = '20220603' +local_commit = '9bfd1e2' + +homepage = 'https://github.com/theochem/denspart' +description = "Atoms-in-molecules density partitioning schemes based on stockholder recipe" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/denspart/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['e2014368da19503aead56c176da0d6ec00ce13ea62d0cefde69cdfd06e1fcccd'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('iodata', '1.0.0a2'), + ('gbasis', '20210904'), + ('grid', '20220610'), + ('ASE', '3.22.1'), # required by denspart-from-gpaw + ('GPAW', '22.8.0'), # required by denspart-from-gpaw + ('PLAMS', '1.5.1'), # provides scm.plams, required by denspart-from-adf +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/denspart%s' % x for x in ['', '-from-adf', '-from-gpaw', '-from-horton3', '-write-extxyz']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "denspart -h", + "denspart-from-adf -h", + "denspart-from-gpaw -h", + "denspart-from-horton3 -h", + "denspart-write-extxyz -h", +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2021a.eb b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2021a.eb new file mode 100644 index 000000000000..37b1d866da53 --- /dev/null +++ b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2021a.eb @@ -0,0 +1,29 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonBundle' + +name = 'Deprecated' +version = '1.2.13' + +homepage = 'https://github.com/tantale/deprecated' +description = "If you need to mark a function or a method as deprecated, you can use the @deprecated decorator." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True + +exts_list = [ + ('wrapt', '1.15.0', { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), + (name, version, { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2022a.eb b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2022a.eb new file mode 100644 index 000000000000..2aebc2250e41 --- /dev/null +++ b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2022a.eb @@ -0,0 +1,29 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonBundle' + +name = 'Deprecated' +version = '1.2.13' + +homepage = 'https://github.com/tantale/deprecated' +description = "If you need to mark a function or a method as deprecated, you can use the @deprecated decorator." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), +] + + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + (name, version, { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DiCE-ML/DiCE-ML-0.9-foss-2022a.eb b/easybuild/easyconfigs/d/DiCE-ML/DiCE-ML-0.9-foss-2022a.eb new file mode 100644 index 000000000000..1103677a97a8 --- /dev/null +++ b/easybuild/easyconfigs/d/DiCE-ML/DiCE-ML-0.9-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'DiCE-ML' +version = '0.9' + +homepage = 'https://interpret.ml/DiCE' +description = "Diverse Counterfactual Explanations (DiCE) for ML" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), +] + +sources = ['dice_ml-%(version)s.tar.gz'] +checksums = ['0c4c2cb57f2218ba324ef2931304ab42f5f685759688a5898b0eb85b7a25b97a'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/Dice/Dice-20221025-foss-2022a.eb b/easybuild/easyconfigs/d/Dice/Dice-20221025-foss-2022a.eb new file mode 100644 index 000000000000..b4315ca4f5fc --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20221025-foss-2022a.eb @@ -0,0 +1,50 @@ +easyblock = 'MakeCp' + +name = 'Dice' +version = '20221025' +_commit = 'f14e4249c69ec30b53491297049546f3ef1d8a55' + +homepage = 'https://github.com/sanshar/Dice' +description = """Dice contains code for performing SHCI, VMC, GFMC, DMC, FCIQMC, stochastic MRCI +and SC-NEVPT2, and AFQMC calculations with a focus on ab initio systems.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++14'} + +github_account = 'sanshar' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = ['Dice-20221025_icpt-mkl-to-flexiblas.patch'] +checksums = [ + {'Dice-20221025.tar.gz': '56da2c0f4bc3e9a786ae8c3193cb06df5cf20a90af29ee95ad39a10e525db315'}, + {'Dice-20221025_icpt-mkl-to-flexiblas.patch': 'a712913e5b372017be0ea7508479094e96f06c0cfd46d0bfe61d85ef42cd1386'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('Boost.MPI', '1.79.0'), + ('HDF5', '1.12.2'), +] + +# Use build environment defined by EB +prebuildopts = "sed -i 's/^FLAGS_BASE =.*/FLAGS_BASE=$(CXXFLAGS) -g -w -I. $(CPPFLAGS)/' Makefile && " +buildopts = 'CXX="$MPICXX" USE_INTEL="no" HAS_AVX2="no" ' # avoid changes to -march +buildopts += 'INCLUDE_MKL="-I${EBROOTOPENBLAS}/include" LIB_MKL="${LIBBLAS}" ' # use OpenBLAS +buildopts += 'GIT_BRANCH="master" GIT_HASH="%s"' % _commit +buildopts += 'BOOST="${EBROOTBOOSTMPI}" ' +buildopts += 'EIGEN="${EBROOTEIGEN}/include" ' +buildopts += 'HDF5="${EBROOTHDF5}" ' + +files_to_copy = ['bin'] + +_binaries = ['Dice', 'DQMC', 'FCIQMC', 'GFMC', 'ICPT', 'VMC', 'ZDice2', 'ZSHCI'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/Dice/Dice-20221025_icpt-mkl-to-flexiblas.patch b/easybuild/easyconfigs/d/Dice/Dice-20221025_icpt-mkl-to-flexiblas.patch new file mode 100644 index 000000000000..8cf99685cd3f --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20221025_icpt-mkl-to-flexiblas.patch @@ -0,0 +1,23 @@ +Replace Intel MKL subroutines with FlexiBLAS wrappers +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/executables/ICPT.cpp 2022-10-26 01:45:54.000000000 +0200 ++++ b/executables/ICPT.cpp 2022-11-26 11:23:28.845637000 +0100 +@@ -7,8 +7,7 @@ + #include "BlockContract.h" + #include "CxDefs.h" + #include "icpt.h" +-#include "mkl.h" +-#include "mkl_cblas.h" ++#include "flexiblas_api.h" + using ct::TArray; + using ct::FMemoryStack; + using boost::format; +@@ -25,7 +24,7 @@ + // - something to split up tensors (H) and combine them (RDM) + // regarding universal indices + +- mkl_set_num_threads(numthrds); ++ flexiblas_set_num_threads(numthrds); + + FJobContext + Job; diff --git a/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230131-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230131-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..22ef8e3e6ba2 --- /dev/null +++ b/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230131-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'DoubletFinder' +local_commit = '67fb8b5' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '2.0.3-20230131' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/chris-mcginnis-ucsf/DoubletFinder' +description = "R package for detecting doublets in single-cell RNA sequencing data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/chris-mcginnis-ucsf/DoubletFinder/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['9f3233a3d3a668baca6e8b2a32e3d13394cdb078b9db95a3a3e044b48240e444'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..35b262f3df87 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +name = 'Doxygen' +version = '1.9.5' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['55b454b35d998229a96f3d5485d57a0a517ce2b78d025efb79d57b5a2e4b2eec'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +configopts = "-DICONV_DIR=$EBROOTLIBICONV -DICONV_IN_GLIBC=OFF" + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb b/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb index 0c573b000c47..2f2505207012 100644 --- a/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb +++ b/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb @@ -17,7 +17,7 @@ checksums = ['c9c5b109a900b6f30257425feee7a4e05ef11cc34cf227b04207a2f8645316af'] dependencies = [('Java', '1.8')] postinstallcmds = [ - 'echo java -cp \$EBROOTDRAKE/drake.jar drake.core \"\$@\" > %(installdir)s/drake', + r'echo java -cp \$EBROOTDRAKE/drake.jar drake.core \"\$@\" > %(installdir)s/drake', 'chmod +x %(installdir)s/drake', ] diff --git a/easybuild/easyconfigs/d/dRep/dRep-3.4.2-foss-2022a.eb b/easybuild/easyconfigs/d/dRep/dRep-3.4.2-foss-2022a.eb new file mode 100644 index 000000000000..4ef780769ef2 --- /dev/null +++ b/easybuild/easyconfigs/d/dRep/dRep-3.4.2-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'dRep' +version = '3.4.2' + +homepage = 'https://drep.readthedocs.io/en/latest/' +description = """dRep is a python program which performs rapid pair-wise comparison of genome sets. +One of it’s major purposes is for genome de-replication, but it can do a lot more.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Seaborn', '0.12.1'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('Mash', '2.3'), + ('MUMmer', '4.0.0rc1'), + ('FastANI', '1.33'), + ('CheckM', '1.2.2'), + ('ANIcalculator', '1.0'), + ('prodigal', '2.6.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/MrOlm/%(namelower)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['9c02114a7df6d2de5810617a6715a770aee70872b293c4bd5c8076735d62e4e0'], + }), +] + +sanity_pip_check = True + +local_binaries = ['dRep', 'parse_stb.py', 'ScaffoldLevel_dRep.py'] + +sanity_check_paths = { + 'files': ['bin/' + x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [ + 'parse_stb.py -h', + 'ScaffoldLevel_dRep.py -h', + 'dRep -h', + # fail in case any dependency reports an ERROR, except for centrifuge + # (which is not used anymore according to the installation documentation) + '! dRep check_dependencies | grep "ERROR" | grep -v "centrifuge"', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dask/dask-2022.10.0-foss-2022a.eb b/easybuild/easyconfigs/d/dask/dask-2022.10.0-foss-2022a.eb new file mode 100644 index 000000000000..ab9413891e94 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2022.10.0-foss-2022a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2022.10.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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2022.05'), + ('bokeh', '2.4.3'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('locket', '1.0.0', { + 'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'], + }), + ('partd', '1.3.0', { + 'checksums': ['ce91abcdc6178d668bcaa431791a5a917d902341cb193f543fe445d494660485'], + }), + ('fsspec', '2021.7.0', { + 'checksums': ['792ebd3b54de0b30f1ce73f0ba0a8bcc864724f2d9f248cb8d0ece47db0cbde8'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '2.2.0', { + 'checksums': ['d7366c2e2293314112dcf2432108428a67b927b00005619feefc310d12d833f3'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + (name, version, { + 'checksums': ['f277a3b300ecc1d0be232a339f346dff686e0becdb0843c0aaf2ae943d5492d3'], + }), + ('distributed', version, { + 'checksums': ['dcfbc9c528bcd9e4f9686e673956a90172826395ac5b258039e580777d50782f'], + }), + ('dask-mpi', '2022.4.0', { + 'checksums': ['0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.8.1', { + 'checksums': ['16fd1b646a073ad3de75dde12a0dfe529b836f21a3bdbcee2a88bef24e9112a7'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dask-%s' % x for x in ['mpi', 'scheduler', 'ssh', 'worker']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dask-scheduler --help"] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..18c6be8c2e6a --- /dev/null +++ b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'dbus-glib' +version = '0.112' + +homepage = 'https://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk to one another.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus-glib'] +sources = [SOURCE_TAR_GZ] +checksums = ['7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), + ('Python', '3.9.6', '-bare'), # Python is needed for building against GLib. +] + +dependencies = [ + ('GLib', '2.69.1'), + ('DBus', '1.13.18'), + ('expat', '2.4.1'), +] + +sanity_check_commands = [ + 'dbus-binding-tool --version', + 'dbus-binding-tool --help', +] + +sanity_check_paths = { + 'files': ['bin/dbus-binding-tool', 'lib/libdbus-glib-1.%s' % SHLIB_EXT, 'lib/libdbus-glib-1.a'], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..68fd32c517be --- /dev/null +++ b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'dbus-glib' +version = '0.112' + +homepage = 'https://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk to one another.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus-glib'] +sources = [SOURCE_TAR_GZ] +checksums = ['7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), # Python is needed for building against GLib. +] + +dependencies = [ + ('GLib', '2.72.1'), + ('DBus', '1.14.0'), + ('expat', '2.4.8'), +] + +sanity_check_commands = [ + 'dbus-binding-tool --version', + 'dbus-binding-tool --help', +] + +sanity_check_paths = { + 'files': ['bin/dbus-binding-tool', 'lib/libdbus-glib-1.%s' % SHLIB_EXT, 'lib/libdbus-glib-1.a'], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dclone/dclone-2.3-0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/d/dclone/dclone-2.3-0-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..7e26f2466170 --- /dev/null +++ b/easybuild/easyconfigs/d/dclone/dclone-2.3-0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'dclone' +version = '2.3-0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/dclone' +description = """Low level functions for implementing maximum likelihood estimating procedures for complex models + using data cloning and Bayesian Markov chain Monte Carlo methods""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['50ff2f3f5b9c72b16a58e61d4f42af4e782ee44da83a5778ce1ada6af5872b70'] + +dependencies = [ + ('R', '4.2.1'), + ('rjags', '4-13', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20220720-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20220720-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0e272245b83d --- /dev/null +++ b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20220720-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'dcm2niix' +version = '1.0.20220720' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rordenlab/dcm2niix/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a095545d6d70c5ce2efd90dcd58aebe536f135410c12165a9f231532ddab8991'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('pigz', '2.7'), + ('OpenJPEG', '2.5.0'), + ('CharLS', '2.4.1'), +] + +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/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb index 72c6da312d2b..c46fc2155b7a 100644 --- a/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb @@ -21,7 +21,7 @@ install_cmd += "mkdir %(installdir)s/bin && cp -a decona/bin/decona %(installdir dependencies = [ ('Python', '3.7.4'), - ('nanofilt', '2.6.0', versionsuffix), + ('NanoFilt', '2.6.0', versionsuffix), ('qcat', '1.1.0', versionsuffix), ('CD-HIT', '4.8.1'), ('minimap2', '2.17'), diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-5.8.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-5.8.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..fffd39905e06 --- /dev/null +++ b/easybuild/easyconfigs/d/deepdiff/deepdiff-5.8.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'deepdiff' +version = '5.8.1' + +homepage = 'https://zepworks.com/deepdiff/current/' +description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsonpickle', '2.2.0', { + 'checksums': ['7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e'], + }), + ('ordered-set', '4.1.0', { + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + (name, version, { + 'checksums': ['8d4eb2c4e6cbc80b811266419cb71dd95a157094a3947ccf937a94d44943c7b8'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dill/dill-0.3.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dill/dill-0.3.6-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..377eb58517a1 --- /dev/null +++ b/easybuild/easyconfigs/d/dill/dill-0.3.6-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'dill' +version = '0.3.6' + +homepage = 'https://pypi.org/project/dill/' +description = """dill extends python's pickle module for serializing and de-serializing python objects to the majority + of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse + of which is converting a byte stream back to on python object hierarchy.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dlb/dlb-3.2-gompi-2022a.eb b/easybuild/easyconfigs/d/dlb/dlb-3.2-gompi-2022a.eb new file mode 100644 index 000000000000..48dba7492e10 --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.2-gompi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.2' + +description = """ +DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., +two levels of parallelism) by improving the load balance of the outer level of +parallelism (e.g., MPI) by dynamically redistributing the computational +resources at the inner level of parallelism (e.g., OpenMP). at run time. +""" +homepage = 'https://pm.bsc.es/dlb/' +docurls = ['https://pm.bsc.es/ftp/dlb/doc/user-guide/'] + +toolchain = {'name': 'gompi', 'version': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['b1c65ce3179b5275cfdf0bf921c0565a4a3ebcfdab72d7cef014957c17136c7e'] + +configopts = '--with-mpi' + +sanity_check_paths = { + 'files': [ + 'bin/dlb', + 'lib/libdlb.a', 'lib/libdlb.%s' % SHLIB_EXT, + 'lib64/libdlb.%s' % SHLIB_EXT + ], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dlb/dlb-3.2-iimpi-2022a.eb b/easybuild/easyconfigs/d/dlb/dlb-3.2-iimpi-2022a.eb new file mode 100644 index 000000000000..523228ad6091 --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.2-iimpi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.2' + +description = """ +DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., +two levels of parallelism) by improving the load balance of the outer level of +parallelism (e.g., MPI) by dynamically redistributing the computational +resources at the inner level of parallelism (e.g., OpenMP). at run time. +""" +homepage = 'https://pm.bsc.es/dlb/' +docurls = ['https://pm.bsc.es/ftp/dlb/doc/user-guide/'] + +toolchain = {'name': 'iimpi', 'version': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['b1c65ce3179b5275cfdf0bf921c0565a4a3ebcfdab72d7cef014957c17136c7e'] + +configopts = '--with-mpi' + +sanity_check_paths = { + 'files': [ + 'bin/dlb', + 'lib/libdlb.a', 'lib/libdlb.%s' % SHLIB_EXT, + 'lib64/libdlb.%s' % SHLIB_EXT + ], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0-foss-2021b.eb b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0-foss-2021b.eb new file mode 100644 index 000000000000..52279474a017 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0-foss-2021b.eb @@ -0,0 +1,41 @@ +name = 'dm-reverb' +version = '0.7.0' + +homepage = 'https://github.com/deepmind/reverb' +description = """ +Reverb is an efficient and easy-to-use data storage and transport system +designed for machine learning research. Reverb is primarily used as an +experience replay system for distributed reinforcement learning algorithms but +the system also supports multiple data structure representations such as FIFO, +LIFO, and priority queues.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/deepmind/reverb/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['dm-reverb-0.7.0_eb-build-environment.patch'] +checksums = [ + '11fd16db4dab60cc3e827fe8311921797c8e0371e55a2e0f2798ae7d9aabe47c', # v0.7.0.tar.gz + 'eb75e3ec778a1cafafd93d5dbd0d7530ea785c0378e0ee1ef2321ce7599aa7f0', # dm-reverb-0.7.0_eb-build-environment.patch +] + +builddependencies = [ + ('Bazel', '3.7.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('TensorFlow', '2.7.1'), + ('Abseil', '20210324.2'), + ('dm-tree', '0.1.6'), + ('gRPC', '1.44.0'), + ('protobuf', '3.17.3'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), +] + +sanity_pip_check = True + +options = {'modulename': 'reverb'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0_eb-build-environment.patch b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0_eb-build-environment.patch new file mode 100644 index 000000000000..a1d6297a79c2 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0_eb-build-environment.patch @@ -0,0 +1,687 @@ +Refactor the build environment to use dependencies from EasyBuild +* fix detection of Python installation +* disable toolchain definitions with gcc-7 +* use C++11 ABI as it is used in protobuf from EB +* define a single local repo using files from EB for the following dependencies: + * local com_google_protobuf replaces protobuf_archive, protobuf_protoc and + external com_google_protobuf + * local zlib replaces zlib_includes and external zlib + * local snappy replaces snappy_includes + * local pybind11 replaces http archive source + * local com_github_grpc_grpc replaces http archive source + * local com_google_absl replaces http archive source +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/WORKSPACE.orig b/WORKSPACE +index 5d47f95..6d587ab 100644 +--- a/WORKSPACE.orig ++++ b/WORKSPACE +@@ -13,8 +13,15 @@ workspace(name = "reverb") + # + # *WARNING* If using the REVERB_PROTOC_VERSION environment variable, sha256 + # checking is disabled. Use at your own risk. +-PROTOC_VERSION = "3.9.0" +-PROTOC_SHA256 = "15e395b648a1a6dda8fd66868824a396e9d3e89bc2c8648e3b9ab9801bea5d55" ++#PROTOC_VERSION = "3.9.0" ++#PROTOC_SHA256 = "15e395b648a1a6dda8fd66868824a396e9d3e89bc2c8648e3b9ab9801bea5d55" ++ ++load( ++ "//reverb/cc/platform/default:repo.bzl", ++ "cc_tf_configure", ++) ++ ++cc_tf_configure() + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +@@ -28,72 +35,6 @@ http_archive( + ], + ) + +-http_archive( +- name = "com_google_absl", +- sha256 = "35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee", # SHARED_ABSL_SHA +- strip_prefix = "abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6", +- urls = [ +- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz", +- "https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz", +- ], +-) +- + # Note that the Python dependencies are not tracked by bazel here, but + # in setup.py. + +-## Begin GRPC related deps +-http_archive( +- name = "com_github_grpc_grpc", +- patch_cmds = [ +- """sed -i.bak 's/"python",/"python3",/g' third_party/py/python_configure.bzl""", +- """sed -i.bak 's/PYTHONHASHSEED=0/PYTHONHASHSEED=0 python3/g' bazel/cython_library.bzl""", +- ], +- sha256 = "39bad059a712c6415b168cb3d922cb0e8c16701b475f047426c81b46577d844b", +- strip_prefix = "grpc-reverb_fix", +- urls = [ +- # Patched version of GRPC / boringSSL to make it compile with old TF GCC compiler +- "https://github.com/qstanczyk/grpc/archive/reverb_fix.tar.gz", +- ], +-) +- +- +-load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps") +- +-grpc_deps() +- +-load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") +- +-grpc_extra_deps() +- +- +-load("@upb//bazel:workspace_deps.bzl", "upb_deps") +- +-upb_deps() +- +-load( +- "@build_bazel_rules_apple//apple:repositories.bzl", +- "apple_rules_dependencies", +-) +- +-apple_rules_dependencies() +- +-load( +- "@build_bazel_apple_support//lib:repositories.bzl", +- "apple_support_dependencies", +-) +- +-apple_support_dependencies() +-## End GRPC related deps +- +-load( +- "//reverb/cc/platform/default:repo.bzl", +- "cc_tf_configure", +- "reverb_protoc_deps", +- "reverb_python_deps", +-) +- +-cc_tf_configure() +- +-reverb_python_deps() +- +-reverb_protoc_deps(version = PROTOC_VERSION, sha256 = PROTOC_SHA256) +diff --git a/reverb/cc/platform/default/BUILD.orig b/reverb/cc/platform/default/BUILD +index 372653e..897c346 100644 +--- a/reverb/cc/platform/default/BUILD.orig ++++ b/reverb/cc/platform/default/BUILD +@@ -18,7 +18,7 @@ reverb_cc_library( + srcs = ["snappy.cc"], + deps = [ + "//reverb/cc/platform:snappy_hdr", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ] + reverb_tf_deps(), + alwayslink = 1, + ) +@@ -30,7 +30,7 @@ reverb_cc_library( + "//reverb/cc/checkpointing:interface", + "//reverb/cc/platform:checkpointing_hdr", + "//reverb/cc/platform:tfrecord_checkpointer", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ], + alwayslink = 1, + ) +@@ -48,7 +48,7 @@ reverb_cc_library( + "//reverb/cc/platform:status_macros", + "//reverb/cc/platform:tfrecord_checkpointer", + "//reverb/cc/support:periodic_closure", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ] + reverb_grpc_deps(), + alwayslink = 1, + ) +@@ -60,7 +60,7 @@ reverb_cc_library( + "status_matchers.h", + ], + deps = [ +- "@com_google_absl//absl/status", ++ "@com_google_absl//:absl", + ], + ) + +@@ -68,7 +68,7 @@ reverb_cc_library( + name = "status_matchers", + hdrs = ["status_matchers.h"], + deps = [ +- "@com_google_absl//absl/status", ++ "@com_google_absl//:absl", + ], + ) + +@@ -77,8 +77,7 @@ reverb_cc_library( + srcs = ["thread.cc"], + deps = [ + "//reverb/cc/platform:thread_hdr", +- "@com_google_absl//absl/memory", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ], + alwayslink = 1, + ) +@@ -101,7 +100,7 @@ reverb_cc_library( + hdrs = ["hash_map.h"], + deps = [ + ":hash", +- "@com_google_absl//absl/container:flat_hash_map", ++ "@com_google_absl//:absl", + ], + ) + +@@ -110,7 +109,7 @@ reverb_cc_library( + hdrs = ["hash_set.h"], + deps = [ + ":hash", +- "@com_google_absl//absl/container:flat_hash_set", ++ "@com_google_absl//:absl", + ], + ) + +diff --git a/reverb/cc/platform/default/repo.bzl.orig b/reverb/cc/platform/default/repo.bzl +index 1daac52..f6d55e3 100644 +--- a/reverb/cc/platform/default/repo.bzl.orig ++++ b/reverb/cc/platform/default/repo.bzl +@@ -91,13 +91,13 @@ def _find_python_solib_path(repo_ctx): + version = exec_result.stdout.splitlines()[-1] + basename = "lib{}.so".format(version) + exec_result = repo_ctx.execute( +- ["{}-config".format(version), "--configdir"], ++ ["{}-config".format(version), "--prefix"], + quiet = True, + ) + if exec_result.return_code != 0: + fail("Could not locate python shared library path:\n{}" + .format(exec_result.stderr)) +- solib_dir = exec_result.stdout.splitlines()[-1] ++ solib_dir = "{}/{}".format(exec_result.stdout.splitlines()[-1], "lib") + full_path = repo_ctx.path("{}/{}".format(solib_dir, basename)) + if not full_path.exists: + fail("Unable to find python shared library file:\n{}/{}" +@@ -125,64 +125,121 @@ cc_library( + ) + + def _nsync_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink(tf_include_path + "/external", "nsync_includes") ++ nsync_root = repo_ctx.os.environ.get("EBROOTNSYNC") ++ repo_ctx.symlink(nsync_root, "nsync") + repo_ctx.file( + "BUILD", + content = """ + cc_library( + name = "includes", +- hdrs = glob(["nsync_includes/nsync/public/*.h"]), +- includes = ["nsync_includes"], ++ hdrs = glob(["nsync/**/*.h"]), ++ includes = ["nsync/include"], + visibility = ["//visibility:public"], + ) + """, + executable = False, + ) + +-def _zlib_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink( +- tf_include_path + "/external/zlib", +- "zlib", +- ) ++def _zlib_repo_impl(repo_ctx): ++ zlib_root = repo_ctx.os.environ.get("EBROOTZLIB") ++ repo_ctx.symlink(zlib_root, "zlib") + repo_ctx.file( + "BUILD", + content = """ + cc_library( ++ name = "libz", ++ srcs = ["zlib/lib/libz.so"], ++ visibility = ["//visibility:public"], ++) ++cc_library( + name = "includes", + hdrs = glob(["zlib/**/*.h"]), +- includes = ["zlib"], ++ includes = ["zlib/include"], + visibility = ["//visibility:public"], + ) + """, + executable = False, + ) + +-def _snappy_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink( +- tf_include_path + "/external/snappy", +- "snappy", +- ) ++def _snappy_repo_impl(repo_ctx): ++ snappy_root = repo_ctx.os.environ.get("EBROOTSNAPPY") ++ repo_ctx.symlink(snappy_root, "snappy") + repo_ctx.file( + "BUILD", + content = """ + cc_library( ++ name = "libsnappy", ++ srcs = ["snappy/lib/libsnappy.so"], ++ visibility = ["//visibility:public"], ++) ++cc_library( + name = "includes", +- hdrs = glob(["snappy/*.h"]), +- includes = ["snappy"], ++ hdrs = glob(["snappy/**/*.h"]), ++ includes = ["snappy/include"], + visibility = ["//visibility:public"], + ) + """, + executable = False, + ) + +-def _protobuf_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink(tf_include_path, "tf_includes") ++def _pybind11_includes_repo_impl(repo_ctx): ++ pybind_root = repo_ctx.os.environ.get("EBROOTPYBIND11") ++ repo_ctx.symlink("{}/include".format(pybind_root), "include") ++ repo_ctx.symlink(Label("//third_party:pybind11.BUILD"), "BUILD") ++ ++def _protobuf_repo_impl(repo_ctx): ++ protobuf_root = repo_ctx.os.environ.get("EBROOTPROTOBUF") ++ repo_ctx.symlink(protobuf_root, "protobuf") + repo_ctx.symlink(Label("//third_party:protobuf.BUILD"), "BUILD") + ++def _absl_repo_impl(repo_ctx): ++ absl_root = repo_ctx.os.environ.get("EBROOTABSEIL") ++ repo_ctx.symlink(absl_root, "absl") ++ repo_ctx.file( ++ "BUILD", ++ content = """ ++cc_library( ++ name = "absl", ++ hdrs = glob(["absl/**/*.h", "absl/**/*.inc"]), ++ srcs = glob(["absl/lib/*.so"]), ++ includes = ["absl/include"], ++ visibility = ["//visibility:public"], ++) ++""", ++ executable = False, ++ ) ++ ++def _grpc_repo_impl(repo_ctx): ++ grpc_root = repo_ctx.os.environ.get("EBROOTGRPC") ++ repo_ctx.symlink(grpc_root, "grpc") ++ repo_ctx.file( ++ "BUILD", ++ content = """ ++cc_library( ++ name = "grpc++", ++ hdrs = glob(["grpc/**/*.h"]), ++ srcs = glob(["grpc/lib/*.so"]), ++ includes = ["grpc/include"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "grpc++_codegen_proto", ++ hdrs = glob([ ++ "grpc/include/*/impl/codegen/*.h", ++ "grpc/include/*/impl/codegen/security/*.h", ++ ]), ++ includes = ["grpc/include"], ++ visibility = ["//visibility:public"], ++) ++filegroup( ++ name = "grpc_cpp_plugin", ++ srcs = ["grpc/bin/grpc_cpp_plugin"], ++ visibility = ["//visibility:public"], ++) ++""", ++ executable = False, ++ ) ++ + def _tensorflow_includes_repo_impl(repo_ctx): + tf_include_path = _find_tf_include_path(repo_ctx) + repo_ctx.symlink(tf_include_path, "tensorflow_includes") +@@ -200,11 +257,11 @@ cc_library( + ), + includes = ["tensorflow_includes"], + deps = [ +- "@com_google_absl//absl/container:flat_hash_map", ++ "@com_google_absl//:absl", + "@eigen_archive//:includes", +- "@protobuf_archive//:includes", +- "@zlib_includes//:includes", +- "@snappy_includes//:includes", ++ "@com_google_protobuf//:includes", ++ "@zlib//:includes", ++ "@snappy//:includes", + ], + visibility = ["//visibility:public"], + ) +@@ -226,7 +283,12 @@ def _tensorflow_solib_repo_impl(repo_ctx): + cc_library( + name = "framework_lib", + srcs = ["tensorflow_solib/libtensorflow_framework.so.2"], +- deps = ["@python_includes", "@python_includes//:numpy_includes"], ++ deps = [ ++ "@python_includes", ++ "@python_includes//:numpy_includes", ++ "@zlib//:libz", ++ "@snappy//:libsnappy", ++ ], + visibility = ["//visibility:public"], + ) + """, +@@ -275,17 +337,29 @@ def cc_tf_configure(): + ) + make_nsync_repo(name = "nsync_includes") + make_zlib_repo = repository_rule( +- implementation = _zlib_includes_repo_impl, ++ implementation = _zlib_repo_impl, + ) +- make_zlib_repo(name = "zlib_includes") ++ make_zlib_repo(name = "zlib") + make_snappy_repo = repository_rule( +- implementation = _snappy_includes_repo_impl, ++ implementation = _snappy_repo_impl, + ) +- make_snappy_repo(name = "snappy_includes") ++ make_snappy_repo(name = "snappy") ++ make_pybind11_repo = repository_rule( ++ implementation = _pybind11_includes_repo_impl, ++ ) ++ make_pybind11_repo(name = "pybind11") + make_protobuf_repo = repository_rule( +- implementation = _protobuf_includes_repo_impl, ++ implementation = _protobuf_repo_impl, ++ ) ++ make_protobuf_repo(name = "com_google_protobuf") ++ make_absl_repo = repository_rule( ++ implementation = _absl_repo_impl, + ) +- make_protobuf_repo(name = "protobuf_archive") ++ make_absl_repo(name = "com_google_absl") ++ make_grpc_repo = repository_rule( ++ implementation = _grpc_repo_impl, ++ ) ++ make_grpc_repo(name = "com_github_grpc_grpc") + make_tfinc_repo = repository_rule( + implementation = _tensorflow_includes_repo_impl, + ) +@@ -298,65 +372,3 @@ def cc_tf_configure(): + implementation = _python_includes_repo_impl, + ) + make_python_inc_repo(name = "python_includes") +- +-def reverb_python_deps(): +- http_archive( +- name = "pybind11", +- urls = [ +- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/pybind/pybind11/archive/v2.4.3.tar.gz", +- "https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz", +- ], +- sha256 = "1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d", +- strip_prefix = "pybind11-2.4.3", +- build_file = clean_dep("//third_party:pybind11.BUILD"), +- ) +- +- http_archive( +- name = "absl_py", +- sha256 = "603febc9b95a8f2979a7bdb77d2f5e4d9b30d4e0d59579f88eba67d4e4cc5462", +- strip_prefix = "abseil-py-pypi-v0.9.0", +- urls = [ +- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-py/archive/pypi-v0.9.0.tar.gz", +- "https://github.com/abseil/abseil-py/archive/pypi-v0.9.0.tar.gz", +- ], +- ) +- +-def _reverb_protoc_archive(ctx): +- version = ctx.attr.version +- sha256 = ctx.attr.sha256 +- +- override_version = ctx.os.environ.get("REVERB_PROTOC_VERSION") +- if override_version: +- sha256 = "" +- version = override_version +- +- urls = [ +- "https://github.com/protocolbuffers/protobuf/releases/download/v%s/protoc-%s-linux-x86_64.zip" % (version, version), +- ] +- ctx.download_and_extract( +- url = urls, +- sha256 = sha256, +- ) +- +- ctx.file( +- "BUILD", +- content = """ +-filegroup( +- name = "protoc_bin", +- srcs = ["bin/protoc"], +- visibility = ["//visibility:public"], +-) +-""", +- executable = False, +- ) +- +-reverb_protoc_archive = repository_rule( +- implementation = _reverb_protoc_archive, +- attrs = { +- "version": attr.string(mandatory = True), +- "sha256": attr.string(mandatory = True), +- }, +-) +- +-def reverb_protoc_deps(version, sha256): +- reverb_protoc_archive(name = "protobuf_protoc", version = version, sha256 = sha256) +diff --git a/reverb/cc/platform/default/build_rules.bzl.orig b/reverb/cc/platform/default/build_rules.bzl +index fa8560f..6bf3694 100644 +--- a/reverb/cc/platform/default/build_rules.bzl.orig ++++ b/reverb/cc/platform/default/build_rules.bzl +@@ -90,12 +90,12 @@ def reverb_cc_proto_library(name, srcs = [], deps = [], **kwargs): + srcs = srcs, + outs = gen_srcs + gen_hdrs, + tools = dep_srcs + [ +- "@protobuf_protoc//:protoc_bin", ++ "@com_google_protobuf//:protoc_bin", + "@tensorflow_includes//:protos", + ], + cmd = """ + OUTDIR=$$(echo $(RULEDIR) | sed -E -e 's#reverb(/.*|$$)##') +- $(location @protobuf_protoc//:protoc_bin) \ ++ $(location @com_google_protobuf//:protoc_bin) \ + --proto_path=external/tensorflow_includes/tensorflow_includes/ \ + --proto_path=. \ + --cpp_out=$$OUTDIR {}""".format( +@@ -165,12 +165,12 @@ def reverb_py_proto_library(name, srcs = [], deps = [], **kwargs): + srcs = srcs, + outs = gen_srcs, + tools = proto_deps + [ +- "@protobuf_protoc//:protoc_bin", ++ "@com_google_protobuf//:protoc_bin", + "@tensorflow_includes//:protos", + ], + cmd = """ + OUTDIR=$$(echo $(RULEDIR) | sed -E -e 's#reverb(/.*|$$)##') +- $(location @protobuf_protoc//:protoc_bin) \ ++ $(location @com_google_protobuf//:protoc_bin) \ + --proto_path=external/tensorflow_includes/tensorflow_includes/ \ + --proto_path=. \ + --python_out=$$OUTDIR {}""".format( +@@ -227,14 +227,14 @@ def reverb_cc_grpc_library( + srcs = srcs, + outs = gen_srcs + gen_hdrs + gen_mocks, + tools = proto_src_deps + [ +- "@protobuf_protoc//:protoc_bin", ++ "@com_google_protobuf//:protoc_bin", + "@tensorflow_includes//:protos", +- "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", ++ "@com_github_grpc_grpc//:grpc_cpp_plugin", + ], + cmd = """ + OUTDIR=$$(echo $(RULEDIR) | sed -e 's#reverb/.*##') +- $(location @protobuf_protoc//:protoc_bin) \ +- --plugin=protoc-gen-grpc=$(location @com_github_grpc_grpc//src/compiler:grpc_cpp_plugin) \ ++ $(location @com_google_protobuf//:protoc_bin) \ ++ --plugin=protoc-gen-grpc=$(location @com_github_grpc_grpc//:grpc_cpp_plugin) \ + --proto_path=external/tensorflow_includes/tensorflow_includes/ \ + --proto_path=. \ + --grpc_out={} {}""".format( +@@ -544,6 +544,8 @@ def reverb_tf_ops_visibility(): + + def reverb_tf_deps(): + return [ ++ "@zlib//:libz", ++ "@snappy//:libsnappy", + "@tensorflow_includes//:includes", + "@tensorflow_solib//:framework_lib", + ] +@@ -552,24 +554,4 @@ def reverb_grpc_deps(): + return ["@com_github_grpc_grpc//:grpc++"] + + def reverb_absl_deps(): +- return [ +- # We purposefully don't include absl::flat_hash_{map,set} so that users +- # are forced to use platform:hash_{map,set}, which uses a safer hasher. +- "@com_google_absl//absl/base", +- "@com_google_absl//absl/base:core_headers", +- "@com_google_absl//absl/functional:bind_front", +- "@com_google_absl//absl/memory", +- "@com_google_absl//absl/numeric:int128", +- "@com_google_absl//absl/random", +- "@com_google_absl//absl/random:distributions", +- "@com_google_absl//absl/status", +- "@com_google_absl//absl/status:statusor", +- "@com_google_absl//absl/strings", +- "@com_google_absl//absl/strings:cord", +- "@com_google_absl//absl/strings:str_format", +- "@com_google_absl//absl/synchronization", +- "@com_google_absl//absl/time", +- "@com_google_absl//absl/types:optional", +- "@com_google_absl//absl/types:span", +- "@com_google_absl//absl/flags:flag", +- ] ++ return ["@com_google_absl//:absl"] +diff --git a/third_party/protobuf.BUILD.orig b/third_party/protobuf.BUILD +index b8e9496..7d601a5 100644 +--- a/third_party/protobuf.BUILD.orig ++++ b/third_party/protobuf.BUILD +@@ -1,10 +1,10 @@ + _CHECK_VERSION = """ +-PROTOC_VERSION=$$($(location @protobuf_protoc//:protoc_bin) --version \ ++PROTOC_VERSION=$$($(location protobuf/bin/protoc) --version \ + | cut -d' ' -f2 | sed -e 's/\\./ /g') + PROTOC_VERSION=$$(printf '%d%03d%03d' $${PROTOC_VERSION}) + TF_PROTO_VERSION=$$(grep '#define PROTOBUF_MIN_PROTOC_VERSION' \ +- $(location tf_includes/google/protobuf/port_def.inc) | cut -d' ' -f3) +-if [ "$${PROTOC_VERSION}" -ne "$${TF_PROTO_VERSION}" ]; then ++ $(location protobuf/include/google/protobuf/port_def.inc) | cut -d' ' -f3) ++if [ "$${PROTOC_VERSION}" -lt "$${TF_PROTO_VERSION}" ]; then + echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1>&2 + echo Your protoc version does not match the tensorflow proto header \ + required version: "$${PROTOC_VERSION}" vs. "$${TF_PROTO_VERSION}" 1>&2 +@@ -20,9 +20,9 @@ genrule( + name = "compare_protobuf_version", + outs = ["versions_compared"], + srcs = [ +- "tf_includes/google/protobuf/port_def.inc", ++ "protobuf/include/google/protobuf/port_def.inc", + ], +- tools = ["@protobuf_protoc//:protoc_bin"], ++ tools = ["protobuf/bin/protoc"], + cmd = _CHECK_VERSION, + ) + +@@ -30,11 +30,45 @@ cc_library( + name = "includes", + data = [":versions_compared"], + hdrs = glob([ +- "tf_includes/google/protobuf/*.h", +- "tf_includes/google/protobuf/*.inc", +- "tf_includes/google/protobuf/**/*.h", +- "tf_includes/google/protobuf/**/*.inc", ++ "protobuf/include/google/protobuf/*.h", ++ "protobuf/include/google/protobuf/*.inc", ++ "protobuf/include/google/protobuf/**/*.h", ++ "protobuf/include/google/protobuf/**/*.inc", + ]), +- includes = ["tf_includes"], ++ includes = ["protobuf/include"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "protobuf_headers", ++ data = [":versions_compared"], ++ hdrs = glob([ ++ "protobuf/include/google/protobuf/*.h", ++ "protobuf/include/google/protobuf/*.inc", ++ "protobuf/include/google/protobuf/**/*.h", ++ "protobuf/include/google/protobuf/**/*.inc", ++ ]), ++ includes = ["protobuf/include"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "protobuf_lite", ++ srcs = ["protobuf/lib/libprotobuf-lite.so"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "protobuf", ++ srcs = ["protobuf/lib/libprotobuf.so"], ++ visibility = ["//visibility:public"], ++ deps = [":protobuf_lite"], ++) ++cc_library( ++ name = "protoc_lib", ++ srcs = ["protobuf/lib/libprotoc.so"], ++ visibility = ["//visibility:public"], ++ deps = [":protobuf"], ++) ++filegroup( ++ name = "protoc_bin", ++ srcs = ["protobuf/bin/protoc"], + visibility = ["//visibility:public"], + ) +diff --git a/reverb/cc/opensource/opensource_only.files.orig b/reverb/cc/opensource/opensource_only.files +index 375df63..d74bec1 100644 +--- a/reverb/cc/opensource/opensource_only.files.orig ++++ b/reverb/cc/opensource/opensource_only.files +@@ -1,8 +1,5 @@ + reverb/third_party/BUILD.oss + reverb/third_party/protobuf.BUILD.oss + reverb/third_party/pybind11.BUILD.oss +-reverb/third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/BUILD.oss +-reverb/third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/cc_toolchain_config.bzl.oss +-reverb/third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/dummy_toolchain.bzl.oss + reverb/platform/default/BUILD.oss + reverb/pip_package/BUILD.oss +diff --git a/third_party/opensource_only.files.orig b/third_party/opensource_only.files +index e1f9e12..f3e999c 100644 +--- a/third_party/opensource_only.files.orig ++++ b/third_party/opensource_only.files +@@ -6,6 +6,3 @@ reverb/pip_package/setup.py: + third_party/BUILD: + third_party/protobuf.BUILD: + third_party/pybind11.BUILD: +-third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/BUILD: +-third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/cc_toolchain_config.bzl: +-third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/dummy_toolchain.bzl: +diff --git a/.bazelrc.orig b/.bazelrc +index f4b08d3..89f82dd 100644 +--- a/.bazelrc.orig ++++ b/.bazelrc +@@ -13,7 +13,7 @@ build:manylinux2010 --crosstool_top=//third_party/toolchains/preconfig/ubuntu16. + + build -c opt + build --cxxopt="-std=c++14" +-build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" ++build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=1" + build --auto_output_filter=subpackages + build --copt="-Wall" --copt="-Wno-sign-compare" + build --linkopt="-lrt -lm" diff --git a/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-11.3.0.eb new file mode 100755 index 000000000000..94b5023db0f2 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'dm-tree' +version = '0.1.8' + +homepage = 'https://github.com/deepmind/tree' +description = """dm-tree provides tree, a library for working with nested data structures. In a way, +tree generalizes the builtin map function which only supports flat sequences, and +allows to apply a function to each "leaf" preserving the overall structure.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'tree'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.1.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.1.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..fd5b9dab93d2 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.1.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.1.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/dorado' +description = """Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/nanoporetech/%(name)s/archive/'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/nanoporetech', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('HDF5', '1.12.2'), + ('zstd', '1.5.2'), + ('HTSlib', '1.15.1'), + ('kineto', '0.4.0'), +] + +# don't link to OpenSSL static libraries +# fix for CMake Error "missing: OPENSSL_CRYPTO_LIBRARY" (if only shared OpenSSL libraries are available) +preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSSL.cmake && " +preconfigopts += "export OPENSSL_ROOT_DIR=$EBROOTOPENSSL && " + +# don't use vendored HTSlib, use provided HTSlib dependency +preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/CMakeLists.txt && " + +configopts = "-DDORADO_INSTALL_PATH=%(installdir)s " +configopts += "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA -DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc " +configopts += "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib -DHTSLIB_LIBRARIES=hts " + +sanity_check_paths = { + 'files': ['bin/dorado'], + 'dirs': [], +} + +sanity_check_commands = ["dorado basecaller --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..d3221353d9fa --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'double-conversion' +version = '3.2.1' + +homepage = 'https://github.com/google/double-conversion' +description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e40d236343cad807e83d192265f139481c51fc83a1c49e406ac6ce0a0ba7cd35'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +separate_build_dir = True + +build_type = 'Release' + +# Build static lib, static lib with -fPIC and shared lib +configopts = [ + '', + '-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_STATIC_LIBRARY_SUFFIX_CXX=_pic.a', + '-DBUILD_SHARED_LIBS=ON' +] + +sanity_check_paths = { + 'files': ['include/double-conversion/%s.h' % h for h in ['bignum', 'cached-powers', 'diy-fp', 'double-conversion', + 'fast-dtoa', 'fixed-dtoa', 'ieee', 'strtod', 'utils']] + + ['lib/libdouble-conversion.%s' % e for e in ['a', SHLIB_EXT]] + ['lib/libdouble-conversion_pic.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.1-foss-2022a.eb b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.1-foss-2022a.eb new file mode 100644 index 000000000000..d20e6c93833b --- /dev/null +++ b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.1-foss-2022a.eb @@ -0,0 +1,88 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'PythonBundle' + +name = 'duplex-tools' +version = '0.3.1' + +homepage = 'https://github.com/nanoporetech/duplex-tools' +description = """ +Duplex Tools contains a set of utilities for dealing with Duplex sequencing data. Tools are provided + to identify and prepare duplex pairs for basecalling by Dorado (recommended) and Guppy, and for + recovering simplex basecalls from incorrectly concatenated pairs. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +_minimap2_ver = '2.24' +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('edlib', '1.3.9'), + ('minimap2', _minimap2_ver), + ('python-parasail', '1.3.3'), + ('Pysam', '0.19.1'), + ('tqdm', '4.64.0'), + ('Arrow', '8.0.0'), + ('h5py', '3.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mappy', _minimap2_ver, { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('lib-pod5', '0.1.5', { + 'source_tmpl': 'lib_pod5-%%(version)s-cp310-cp310-manylinux_2_17_%s.manylinux2014_%s.whl' % (ARCH, ARCH), + 'checksums': [{ + 'lib_pod5-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl': ( + '4e8993327268784bb0e1320595411f545d2019cf4952b04d63be584cf7208480' + ), + 'lib_pod5-%(version)s-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl': ( + '125f19ad83c299d0d6c67d18ce8e43da4e12bf12cf7141ab7d60fba7574239bd' + ), + }], + }), + ('vbz-h5py-plugin', '1.0.1', { + 'source_tmpl': 'vbz_h5py_plugin-%(version)s.tar.gz', + 'checksums': ['c784458bb0aad6303474cb2f10956179116b35555803fd1154eb4ef362519341'], + }), + ('pod5', '0.1.5', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4d66b95035c325a3a0bf6518d3b728f4324ccd6303aa9a00515b73cf1ef2d575'], + }), + ('pyfastx', '0.9.1', { + # PYPI source tarball is incomplete, causes ImportErrors + # see https://github.com/lmdu/pyfastx/issues/60 + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/lmdu/%(name)s/archive'], + 'checksums': ['cd2aaab5ed3cf56b24d45d01f2d76ff314ae381b9bba029ea4f7e3224ce4748a'], + }), + (name, version, { + 'source_tmpl': 'duplex_tools-%(version)s.tar.gz', + 'checksums': ['5cb16aca841873139f2d54da40a0b8db22bbda4a958bf45e679f538a7af9fb0d'], + }), +] + +_bins = ['dorado_stereo.sh', 'duplex_tools', 'minimap2.py', 'natsort', 'pod5', 'pyfastx'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'dorado_stereo.sh -h', + 'duplex_tools --help', + 'pod5 --help', + 'pyfastx --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2-foss-2021b.eb b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2-foss-2021b.eb new file mode 100644 index 000000000000..b721a288373f --- /dev/null +++ b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'EGTtools' +version = '0.1.10.dev2' + +homepage = 'https://github.com/Socrats/EGTTools' +description = """ +EGTtools provides a centralized repository with analytical and numerical +methods to study/model game theoretical problems under the Evolutionary Game +Theory (EGT) framework.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.11.1'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('networkx', '2.6.3'), + ('Seaborn', '0.11.2'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_fix_include.patch'], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': [ + '0ae38d9945ecd5cb49e8bdd0dcedcd938e3380e5db93fdf74c681ac8abd2317e', # egttools-0.1.10.dev2.tar.gz + # EGTtools-0.1.10.dev2_fix_include.patch + '6237d0ad05d8aca7c9eccc6627f6e91a3511d3a4adbb72c6e881553f088f6c9a', + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2_fix_include.patch b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2_fix_include.patch new file mode 100644 index 000000000000..9dd130a6f83c --- /dev/null +++ b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2_fix_include.patch @@ -0,0 +1,13 @@ +Add missing include to avoid build error: "shared_ptr in namespace std does not name a template type" +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur egttools-0.1.10.dev2.orig/include/egttools/finite_populations/behaviors/NFGStrategies.hpp egttools-0.1.10.dev2/include/egttools/finite_populations/behaviors/NFGStrategies.hpp +--- egttools-0.1.10.dev2.orig/include/egttools/finite_populations/behaviors/NFGStrategies.hpp 2022-08-06 16:35:37.000000000 +0200 ++++ egttools-0.1.10.dev2/include/egttools/finite_populations/behaviors/NFGStrategies.hpp 2022-08-12 17:22:35.065010288 +0200 +@@ -25,6 +25,7 @@ + + #include + #include ++#include + #include + #include + diff --git a/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.11-foss-2022a.eb b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.11-foss-2022a.eb new file mode 100644 index 000000000000..b400270aca97 --- /dev/null +++ b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.11-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'EGTtools' +version = '0.1.11' + +homepage = 'https://github.com/Socrats/EGTTools' +description = """ +EGTtools provides a centralized repository with analytical and numerical +methods to study/model game theoretical problems under the Evolutionary Game +Theory (EGT) framework.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.15.0'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('Seaborn', '0.12.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['b736bc00f80e11987ca51eaa11f013a29ccca835a05b6eb91b3850c1e5680e8e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb index 628ef31ea84f..cdb9474496c5 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2015.02.002' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2018a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb index 67678268396d..95da3909964b 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2015.02.002' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'gimkl', 'version': '2017a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb index b6e5f63c3084..cc5de66ed863 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2015.02.002' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb index 6168179ce802..ff851c4baf4d 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2016.05.004' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2016b'} @@ -20,6 +20,7 @@ toolchainopts = {'usempi': True} source_urls = ['http://elpa.mpcdf.mpg.de/html/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] +checksums = [None] builddependencies = [('Autotools', '20150215')] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb index 2ad603f34916..2bf1ad3f5024 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2016.05.004' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2017a'} @@ -20,10 +20,10 @@ toolchainopts = {'usempi': True} source_urls = ['http://elpa.mpcdf.mpg.de/html/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] - patches = [ '%(name)s-%(version)s_install-libelpatest.patch', ] +checksums = [None, '0bf573f56e0ed9cafeb37c71c68969e40ef21f5293031c10916c0c6cc0b3c2e0'] builddependencies = [ ('Autotools', '20150215'), diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb index 47f41ad74c71..e135259e5f1a 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb index ee335129fa63..4c19eb0f0ad4 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb @@ -12,13 +12,13 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2017.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018a'} toolchainopts = {'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb index e17aecf1a26a..c46a082d2fc2 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb index 9dc2f6670539..3b520029727d 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['a76c3402eb9d1c19b183aedabde8c20f4cfa4692e73e529384207926aec04985'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb index 845d6ea97df9..525a6774f966 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['a76c3402eb9d1c19b183aedabde8c20f4cfa4692e73e529384207926aec04985'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb index 423a053421b1..dd6d92196d78 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2018.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['cc27fe8ba46ce6e6faa8aea02c8c9983052f8e73a00cfea38abf7613cb1e1b16'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb index 8e5a91433d96..43bfe0c9eae2 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb index 3870f4f73e23..93429867da44 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2020a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb index a473de68f4f1..03847e7dfb00 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb index e5d77b8a343a..9a20079e79c8 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb index 841fe6563af0..2837953da54e 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'iomkl', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb index d7a0138e2a7f..c1731fb6926c 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2020.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb index 312d380e03f9..73968dfba386 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2020.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['15591f142eeaa98ab3201d27ca9ac328e21beabf0803b011a04183fcaf6efdde'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb index 209492c7de63..36d6628f6c9d 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2020.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['15591f142eeaa98ab3201d27ca9ac328e21beabf0803b011a04183fcaf6efdde'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb index 063922e54e72..9cf93ca54a47 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2021a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb index 0f78bc95c9b1..85dab2c86d8a 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2021b'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb index 3bf4eea1cd42..1a48c031c3ff 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2021a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021b.eb index 38b241fe40c2..e80bf97bb4fe 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021b.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2021b'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb index bd153664f956..03bbb9284464 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb @@ -9,19 +9,19 @@ name = 'ELPA' version = '2021.05.002' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s_bugfix/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s_bugfix/'] sources = ['elpa-%(version)s_bugfix.tar.gz'] patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch'] checksums = [ - 'deabc48de5b9e4b2f073d749d335c8f354a7ce4245b643a23b7951cd6c90224b', # elpa-2021.05.002_bugfix.tar.gz - # ELPA-2021.05.002_fix_hardcoded_perl_path.patch - '69d2a7dcb61a7a699dd469a134a693e74c72b157dc72b3eba7a5dc12eb29893d', + {'elpa-2021.05.002_bugfix.tar.gz': 'deabc48de5b9e4b2f073d749d335c8f354a7ce4245b643a23b7951cd6c90224b'}, + {'ELPA-2021.05.002_fix_hardcoded_perl_path.patch': + '69d2a7dcb61a7a699dd469a134a693e74c72b157dc72b3eba7a5dc12eb29893d'}, ] builddependencies = [ 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 index ed8d5d50027c..1808c948f1bc 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications.""" toolchain = {'name': 'foss', 'version': '2021b'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2022a.eb index 16e1636489b0..2b914ff90d92 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2022a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2022a.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications.""" toolchain = {'name': 'foss', 'version': '2022a'} 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 index 42a4e02fc136..70fed7a024f9 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications.""" toolchain = {'name': 'intel', 'version': '2021b'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022a.eb index 688418e54743..6aff08c337c7 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022a.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications.""" toolchain = {'name': 'intel', 'version': '2022a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..fe138398a7a7 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,48 @@ +## +# 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 = '2022.05.001' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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 = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM) +] + +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-2022.05.001-foss-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a.eb new file mode 100644 index 000000000000..09d5330ca5b0 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a.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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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 = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +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-2022.05.001-foss-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b-CUDA-12.0.0.eb new file mode 100644 index 000000000000..0bf44c8db66a --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b-CUDA-12.0.0.eb @@ -0,0 +1,48 @@ +## +# 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 = '2022.05.001' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +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 = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.0'), +] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM) +] + +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-2022.05.001-foss-2022b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b.eb new file mode 100644 index 000000000000..c9bf9efef08b --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b.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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +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 = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.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-2022.05.001-intel-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022a.eb new file mode 100644 index 000000000000..2da3666b8597 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022a.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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +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 = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +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-2022.05.001-intel-2022b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022b.eb new file mode 100644 index 000000000000..473b2dce0331 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022b.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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +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 = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.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-2022.05.001_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001_fix_hardcoded_perl_path.patch new file mode 100644 index 000000000000..3bc5bbcd3c39 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001_fix_hardcoded_perl_path.patch @@ -0,0 +1,43 @@ +# Perl scripts in elpa hard-code the location of the perl interpreter +# We replace these so that it picks up on the perl interpreter from the PATH +# (i.e. the one provided as a build dependency by EasyBuild) +--- 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/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb index 640410c954f2..80ff5c2bd6a4 100644 --- a/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb +++ b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb @@ -22,7 +22,7 @@ dependencies = [ ('flook', '0.8.1'), ('libfdf', '0.2.2', '-serial'), ('libmbd', '0.10.4'), - ('libpsml', '1.1.10'), + ('libPSML', '1.1.10'), ('libpspio', '0.2.4'), ('libxc', '4.3.4'), ('libGridXC', '0.9.6'), diff --git a/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb index e060b31d21b1..10c5d31e522a 100644 --- a/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb +++ b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb @@ -22,7 +22,7 @@ dependencies = [ ('flook', '0.8.1'), ('libfdf', '0.2.2', '-serial'), ('libmbd', '0.10.4'), - ('libpsml', '1.1.10'), + ('libPSML', '1.1.10'), ('libpspio', '0.2.4'), ('libxc', '4.3.4'), ('libGridXC', '0.9.6'), diff --git a/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..b4cd134d85e0 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'ESM-2' +version = '2.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/facebookresearch/esm' +description = """ESM-2 outperforms all tested single-sequence protein language models + across a range of structure prediction tasks. ESMFold harnesses the ESM-2 language model to generate + accurate structure predictions end to end directly from the sequence of a protein.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +# omegaconf is required for esmfold (in addition to OpenFold-1.0.1) +exts_list = [ + ('antlr4-python3-runtime', '4.9.3', { + 'modulename': 'antlr4', + 'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'], + }), + ('omegaconf', '2.2.3', { + 'checksums': ['59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523'], + }), + ('fair-esm', version, { + 'modulename': 'esm, esm.pretrained', + 'checksums': ['4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a.eb new file mode 100644 index 000000000000..3b6ec3564b0f --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'ESM-2' +version = '2.0.0' + +homepage = 'https://github.com/facebookresearch/esm' +description = """ESM-2 outperforms all tested single-sequence protein language models + across a range of structure prediction tasks. ESMFold harnesses the ESM-2 language model to generate + accurate structure predictions end to end directly from the sequence of a protein.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), +] + +use_pip = True +sanity_pip_check = True + +# omegaconf is required for esmfold (in addition to OpenFold-1.0.1) +exts_list = [ + ('antlr4-python3-runtime', '4.9.3', { + 'modulename': 'antlr4', + 'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'], + }), + ('omegaconf', '2.2.3', { + 'checksums': ['59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523'], + }), + ('fair-esm', version, { + 'modulename': 'esm, esm.pretrained', + 'checksums': ['4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-intel-2022a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-intel-2022a.eb new file mode 100644 index 000000000000..1d6572890e3a --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-intel-2022a.eb @@ -0,0 +1,37 @@ +name = 'ESMF' +version = '8.3.0' + +homepage = 'https://www.earthsystemcog.org/projects/esmf/' +description = """The Earth System Modeling Framework (ESMF) is a suite of software tools for developing + high-performance, multi-component Earth science modeling applications.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'cstd': 'c++11', 'pic': True} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['ESMF-6.1.1_libopts.patch'] +checksums = [ + '0ff43ede83d1ac6beabd3d5e2a646f7574174b28a48d1b9f2c318a054ba268fd', # v8.3.0.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('netCDF-C++4', '4.3.1'), + ('libarchive', '3.6.1'), +] + +# disable errors from GCC 10 on mismatches between actual and dummy argument lists (GCC 9 behaviour) +prebuildopts = 'ESMF_F90COMPILEOPTS="${ESMF_F90COMPILEOPTS} -fallow-argument-mismatch"' + +buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include ' +buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"' + +# too parallel causes the build to become really slow +maxparallel = 8 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021a.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021a.eb new file mode 100644 index 000000000000..05d4d90ee50a --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021a.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': '2021a'} + +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.5'), + ('PyQt5', '5.15.4'), + ('SciPy-bundle', '2021.05'), +] + +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-4.6.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.2.eb new file mode 100644 index 000000000000..6168661c256c --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.2.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.6.2' + +homepage = 'https://easybuilders.github.io/easybuild' +description = """EasyBuild is a software build and installation framework + written in Python that allows you to install software in a structured, + repeatable and robust way.""" + +toolchain = SYSTEM + +source_urls = [ + # easybuild-framework + 'https://files.pythonhosted.org/packages/88/7f/67dd44ae3204cba36c66578b14e284ce5210d8217fb383eb24c1691a1bfd/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/fe/52/2609eb0d2b9e9678670c2faec23b14c9c180b4a1d2494fd91c29df2a9a5e/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/5c/6b/1ead89a64a19717e5b0a0c8453458e7186928a36280e9592092ee6d58273/', + +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '136a49ed40b4d7fed1b3d3d47f0f2804cb7744fd886eb9887672e85f7e820499', # easybuild-framework-4.6.2.tar.gz + 'b88059feeb2a97c944f6a71dc88cec683fef650ac081f8563b3f312cf8fe2794', # easybuild-easyblocks-4.6.2.tar.gz + 'b9a305200c8874852cfa3d07d72ed7295481c1b532f7579dcf1212deebcd393b', # easybuild-easyconfigs-4.6.2.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/EasyBuild/EasyBuild-4.7.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.0.eb new file mode 100644 index 000000000000..b83e8bec9cae --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.0.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.7.0' + +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/09/0d/513a4474666ac06a534d8a972157208d96f691ae9a02d421905673f1a1b4/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/38/d4/b2d82d63ba96c8df407b7e1dcbfd31906d6cc3ecf8d5cd99a407c79be3bb/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/15/96/d0067ed08519b92f34d3e44fa0aff8ed310190d9a95efde123ed6eabdf97/', + +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + 'ea51c3cb88fca27daadd2fb55ee31f5f51fc60c4e3519ee9d275954540312df8', # easybuild-framework-4.7.0.tar.gz + 'c23e81cbaa3e4fa5ab1bb8b2db759332867d61110bf4ec34763ea170780f0655', # easybuild-easyblocks-4.7.0.tar.gz + 'c688f14a3b0dce45c6cc90d746f05127dbf7368bd9b5873ce50757992d8e6261', # easybuild-easyconfigs-4.7.0.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/EasyBuild/EasyBuild-4.7.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.1.eb new file mode 100644 index 000000000000..8d9ac53bb937 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.1.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.7.1' + +homepage = 'https://easybuilders.github.io/easybuild' +description = """EasyBuild is a software build and installation framework + written in Python that allows you to install software in a structured, + repeatable and robust way.""" + +toolchain = SYSTEM + +source_urls = [ + # easybuild-framework + 'https://files.pythonhosted.org/packages/76/4b/b7a88e791cce0d79db9f2319ab07c79584815ca9e497d178c39fa4621b8d/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/10/72/391eb5bde081da67fef0a59625ce7cf4939176416aed299ef55923e422b4/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/32/1a/e7c851db23ffb0fc5c3cc9c255318d533f642c86eff2c3c33e0ab063a449/', + +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.7.1.tar.gz': 'ad3d95c2b11f895666d83cda3422e785261ecb9d14e7c3e0c9cef427b7404d6b'}, + {'easybuild-easyblocks-4.7.1.tar.gz': '8c383dc4d02784e5ab610cec2df58c19ff9c1b7c03bb7585788ced1646e394e8'}, + {'easybuild-easyconfigs-4.7.1.tar.gz': '58c70e7e4a8958f932e4e7abab0194198a8f9baf19915bfa5191b431f3f1a864'}, +] + +# 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/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4195527a89fb --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.39'), # to make CMake compiler health check pass on old systems + ('CMake', '3.24.3'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.3.0.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..ff3739e4809b --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.3.0.eb @@ -0,0 +1,47 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +# also https://github.com/nathanweeks/exonerate +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/%(namelower)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] +dependencies = [ + ('GLib', '2.72.1'), +] + +# parallel build fails +parallel = 1 + +runtest = 'check' + +_bins = ['exonerate', 'fastaclip', 'fastacomposition', 'fastafetch', 'fastaoverlap', 'ipcress'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['share'], +} + +sanity_check_commands = ['%s -h | grep "from exonerate version %%(version)s"' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/eQuilibrator/eQuilibrator-0.4.7-foss-2021a.eb b/easybuild/easyconfigs/e/eQuilibrator/eQuilibrator-0.4.7-foss-2021a.eb new file mode 100644 index 000000000000..90f45d926268 --- /dev/null +++ b/easybuild/easyconfigs/e/eQuilibrator/eQuilibrator-0.4.7-foss-2021a.eb @@ -0,0 +1,110 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'eQuilibrator' +version = '0.4.7' + +homepage = 'https://equilibrator.weizmann.ac.il/' +description = """Calculation of standard thermodynamic potentials of biochemical reactions.""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('path', '15.0.1', { + 'checksums': ['298dca9d8e82a2cf224e302ed1cf48269cbc3d35502b94c335383ca053c1c2fa'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + ('component-contribution', '0.4.4', { + 'modulename': 'component_contribution', + 'checksums': ['1ddf8f10919661c7efb2a6d1086c16fc47ad94779db33a5795a4a11ce3d9f5e4'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.2', { + 'checksums': ['25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.15.0', { + 'checksums': ['18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b'], + }), + ('httpx', '0.23.0', { + 'checksums': ['f28eac771ec9eb4866d3fb4ab65abd42d38c424739e80c08d8d20570de60b0ef'], + }), + ('Pint', '0.20.1', { + 'modulename': 'pint', + 'checksums': ['387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067'], + }), + ('periodictable', '1.6.1', { + 'checksums': ['7c501c9f73d77b1fb28cb51e85b28429c2c44a99ce3d1274894564c72d712603'], + }), + ('SQLAlchemy', '1.3.24', { + 'modulename': 'sqlalchemy', + 'checksums': ['ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519'], + }), + ('python-Levenshtein-wheels', '0.13.2', { + 'modulename': 'Levenshtein', + 'checksums': ['7bd8fc3ceeeaca626848a0d7a01d02f5b93475f2d56eaa37921f1271dec7bfb1'], + }), + ('tenacity', '6.2.0', { + 'checksums': ['29ae90e7faf488a8628432154bb34ace1cca58244c6ea399fd33f066ac71339a'], + }), + ('equilibrator-cache', '0.4.3', { + 'modulename': 'equilibrator_cache', + 'checksums': ['e3f9425285ce4052f98fb0a26eaa8027137eb73897a2e0dec24255a26bb19d8c'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '5.0.2', { + 'modulename': 'slugify', + 'checksums': ['f13383a0b9fcbe649a1892b9c8eb4f8eab1d6d84b84bb7a624317afa98159cab'], + }), + ('pyparsing', '3.0.9', { + 'checksums': ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'], + }), + ('equilibrator-api', version, { + 'modulename': 'equilibrator_api', + 'checksums': ['3fb2e542787bef09f93d4a0fa37b389edd27b81d7a7bb909840a8d0bf7f2547d'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python3 -c 'from equilibrator_api import ComponentContribution;cc = ComponentContribution();" + "rxn = cc.parse_reaction_formula(\"kegg:C00002 + kegg:C00001 = kegg:C00008 + kegg:C00009\");" + "print(f\"delta_G_prime_0 = {cc.standard_dg_prime(rxn)}\")' && " + # Clean downloaded files for tests + "rm -Rf $HOME/.cache/equilibrator/" +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/e/ecBuild/ecBuild-3.7.0.eb b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.7.0.eb new file mode 100644 index 000000000000..8a5bb9a339e2 --- /dev/null +++ b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.7.0.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'ecBuild' +version = '3.7.0' + +homepage = 'https://ecbuild.readthedocs.io/' + +description = """ +A CMake-based build system, consisting of a collection of CMake macros and +functions that ease the managing of software build systems """ + +toolchain = SYSTEM + +github_account = 'ecmwf' +sources = [ + { + 'source_urls': [GITHUB_SOURCE], + 'filename': '%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s --strip-components=1', + }, +] +checksums = ['44ba49b6b628e88bc0145f0cd1fdbdff37fbff2327c581f22a47cd10263a21b6'] + +buildininstalldir = True + +skipsteps = ['install'] + +sanity_check_paths = { + 'files': ['bin/ecbuild', 'cmake/ecbuild-config.cmake'], + 'dirs': ['bin', 'lib', 'share', 'cmake'], +} + +sanity_check_commands = ['ecbuild --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb new file mode 100644 index 000000000000..1f313a6f013a --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.27.0' + +homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home' +description = """ecCodes is a package developed by ECMWF which provides an application programming interface and + a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, + WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': False} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['ede5b3ffd503967a5eac89100e8ead5e16a881b7585d02f033584ed0c4269c99'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('netCDF', '4.9.0'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('libaec', '1.0.6'), +] + +# Python bindings are provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.3.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.3.0.eb new file mode 100644 index 000000000000..3133e7e2d0eb --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'edlib' +version = '1.3.9' + +homepage = 'https://martinsos.github.io/edlib' +description = "Lightweight, super fast library for sequence alignment using edit (Levenshtein) distance." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766'] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.10-foss-2020b.eb b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.10-foss-2020b.eb new file mode 100644 index 000000000000..8ebfa692352d --- /dev/null +++ b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.10-foss-2020b.eb @@ -0,0 +1,56 @@ +# Eggnog DB installation instructions: +# 1. 'export EGGNOG_DATA_DIR=//eggnog-mapper-data' +# 2. run 'download_eggnog_data.py' +# 3. Check the expected DB version with 'emapper.py --version' + +easyblock = 'PythonPackage' + +name = 'eggnog-mapper' +version = '2.1.10' + +homepage = 'https://github.com/eggnogdb/eggnog-mapper' +description = """EggNOG-mapper is a tool for fast functional annotation of novel +sequences. It uses precomputed orthologous groups and phylogenies from the +eggNOG database (http://eggnog5.embl.de) to transfer functional information from +fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation +of novel genomes, transcriptomes or even metagenomic gene catalogs.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'eggnogdb' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e905b99ae81991aea696ba45587ae81c2dce5f03fe51d9c2a580cc2987976c8e'] + +dependencies = [ + ('Python', '3.8.6'), + ('Biopython', '1.78'), + ('HMMER', '3.3.2'), + ('DIAMOND', '2.0.7'), + ('prodigal', '2.6.3'), + ('wget', '1.20.3'), + ('MMseqs2', '13-45111'), + ('XlsxWriter', '1.4.0'), +] + +# strip out (too) strict version requirements for dependencies +preinstallopts = "sed -i 's/==[0-9.]*//g' setup.cfg && " + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/create_dbs.py', 'bin/download_eggnog_data.py', 'bin/emapper.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'download_eggnog_data.py --help', + 'create_dbs.py --help', + 'emapper.py --version | grep %(version)s', +] + +options = {'modulename': 'eggnogmapper'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..e31c2fbbbba2 --- /dev/null +++ b/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'einops' +version = '0.4.1' + +homepage = 'https://einops.rocks/' +description = """ +Flexible and powerful tensor operations for readable and reliable code. +Supports numpy, pytorch, tensorflow, jax, and others.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['65ede824fa54ce99ba969c61152f9948eb8cad08d5f0ca97c95e3804bafcce48'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6a873567a867 --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.189' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), + ('libarchive', '3.6.1'), + ('XZ', '5.2.7'), + ('zstd', '1.5.2'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0377d8077725 --- /dev/null +++ b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,51 @@ +# Updated from enchant-1.6.1-intel-2017a.eb +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'enchant-2' +version = '2.3.3' + +homepage = 'https://github.com/AbiWord/enchant' +description = """Enchant aims to provide a simple but comprehensive abstraction for dealing +with different spell checking libraries in a consistent way. A client, such +as a text editor or word processor, need not know anything about a specific +spell-checker, and since all back-ends are plugins, new spell-checkers can +be added without needing any change to the program using Enchant.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/AbiWord/enchant/releases/download/v%(version)s'] +sources = ['enchant-%(version)s.tar.gz'] +checksums = [ + '3da12103f11cf49c3cf2fd2ce3017575c5321a489e5b9bfa81dd91ec413f3891' +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -vfi && " + +dependencies = [ + ('hunspell', '1.7.1'), + ('GLib', '2.72.1'), +] + +buildopts = "LIBTOOL='libtool --tag=CC'" + +sanity_check_commands = [ + 'enchant-2 -v', + 'enchant-lsmod-2 -v', +] + +sanity_check_paths = { + 'files': ['bin/enchant-2', 'bin/enchant-lsmod-2', + 'lib/libenchant-2.a', 'lib/libenchant-2.%s' % SHLIB_EXT], + 'dirs': ['include/enchant-2', 'lib/enchant-2'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2022a.eb b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2022a.eb new file mode 100644 index 000000000000..c990d84ebe5c --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2022a.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'epiScanpy' +version = '0.4.0' + +homepage = 'https://github.com/colomemaria/episcanpy' +description = """EpiScanpy is a toolkit to analyse single-cell open chromatin +(scATAC-seq) and single-cell DNA methylation (for example scBS-seq) +data. EpiScanpy is the epigenomic extension of the very popular scRNA-seq +analysis tool Scanpy (Genome Biology, 2018) [Wolf18].""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Seaborn', '0.12.1'), + ('scanpy', '1.9.1'), # includes anndata + ('Pysam', '0.19.1'), + ('scikit-learn', '1.1.2'), + ('statsmodels', '0.13.1'), + ('numba', '0.56.4'), + ('python-igraph', '0.10.3'), + ('tbb', '2021.5.0'), +] + +# avoid hatchling requirement to install kneed +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts_kneed = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts_kneed += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts_kneed += """-e 's/^license-files = .*//g' """ +local_preinstallopts_kneed += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('pyliftover', '0.4', { + 'checksums': ['72bcfb7de907569b0eb75e86c817840365297d63ba43a961da394187e399da41'], + }), + ('bamnostic', '1.1.8', { + 'checksums': ['b36b1f9239c1d2d614d2e449efe9a0705efe59ebec099f79ac9464f3b1ff5732'], + }), + ('python-louvain', '0.16', { + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + 'modulename': 'community.community_louvain', + }), + ('get_version', '3.5.4', { + 'checksums': ['5901c846518d55d52c1f6f037f5d2433952b46bbf36e38c52f064ae836556343'], + }), + ('dunamai', '1.16.0', { + 'checksums': ['bfe8e23cc5a1ceed1c7f791674ea24cf832a53a5da73f046eeb43367ccfc3f77'], + }), + ('legacy-api-wrap', '1.2', { + 'checksums': ['034a44612da7e9943d3964363a98937ab54d55e3301075374abe0d521eb8101b'], + }), + ('kneed', '0.8.2', { + 'checksums': ['cbbd34e284f049cafa63f803cd3af0aff113d5347fb398942a74bff07ce6cc62'], + 'preinstallopts': local_preinstallopts_kneed, + }), + ('episcanpy', version, { + 'patches': ['epiScanpy-0.4.0_fix-import.patch'], + 'checksums': [ + {'episcanpy-0.4.0.tar.gz': '95739149db60521b0a14e4579f8ba87d410126ffb7b916abbc2d1aff3df40ce3'}, + {'epiScanpy-0.4.0_fix-import.patch': '593f8763a00159f3dae2aa42099a617e97b999c59cfa0452e013b7c820de4585'}, + ], + # strip out tbb as required dependency, to ensure that 'pip check' passes; + # note that the tbb Python bindings are actually provided by the tbb dependency, + # but pip doesn't know about them due to the way in which they were installed... + 'preinstallopts': "sed -i 's/tbb//' requirements.txt && ", + 'modulename': 'episcanpy.api', + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0_fix-import.patch b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0_fix-import.patch new file mode 100644 index 000000000000..08fa968b04af --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0_fix-import.patch @@ -0,0 +1,15 @@ +see https://github.com/colomemaria/epiScanpy/issues/130 + https://github.com/colomemaria/epiScanpy/pull/131 + +--- episcanpy-0.4.0/episcanpy/api/pl.py.orig 2023-03-13 15:00:13.363245608 +0100 ++++ episcanpy-0.4.0/episcanpy/api/pl.py 2023-03-13 15:01:02.729453156 +0100 +@@ -16,8 +16,8 @@ + from scanpy.plotting import umap, pca, diffmap, tsne, draw_graph + + from ..preprocessing._quality_control import cal_var, variability_features +-from ..preprocessing._tss_enrichment import tss_enrichment_plot as tss_enrichment +-from ..preprocessing._tss_enrichment import tss_enrichment_score_plot as tss_enrichment_socre ++from ..preprocessing._tss_enrichment import tss_enrichment_plot ++from ..preprocessing._tss_enrichment import tss_enrichment + + + diff --git a/easybuild/easyconfigs/e/exiv2/exiv2-0.27.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/exiv2/exiv2-0.27.5-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..4af59f56c339 --- /dev/null +++ b/easybuild/easyconfigs/e/exiv2/exiv2-0.27.5-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'exiv2' +version = '0.27.5' + +homepage = 'https://exiv2.org' +description = "Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'Exiv2' +source_urls = [GITHUB_RELEASE] +sources = ['%(name)s-%(version)s-Source.tar.gz'] +checksums = ['35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('expat', '2.4.1'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/exiv2', 'lib/libexiv2.%s' % SHLIB_EXT, 'lib/libexiv2-xmp.a', 'lib/pkgconfig/exiv2.pc'], + 'dirs': ['include/exiv2', 'lib/cmake'], +} + +sanity_check_commands = ["exiv2 --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.4.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/expat/expat-2.4.9-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2adfd581f7c8 --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.4.9-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.4.9' + +homepage = 'https://libexpat.github.io' + +description = """Expat is an XML parser library written in C. It is a stream-oriented parser +in which an application registers handlers for things the parser might find +in the XML document (like start tags).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['7f44d1469b110773a94b0d5abeeeffaef79f8bd6406b07e52394bcf48126437a'] + +builddependencies = [('binutils', '2.39')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-11.2.0.eb new file mode 100644 index 000000000000..ddc7db52078b --- /dev/null +++ b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'FASTA' +version = '36.3.8i' +local_version_date = '14-Nov-2020' + +homepage = 'http://fasta.bioch.virginia.edu' +description = """The FASTA programs find regions of local or global (new) similarity between +protein or DNA sequences, either by searching Protein or DNA databases, or by identifying +local duplications within a sequence.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/wrpearson/fasta36/archive/'] +sources = ['v%%(version)s_%s.tar.gz' % local_version_date] +checksums = ['b4b1c3c9be6beebcbaf4215368e159d69255e34c0bdbc84affa10cdb473ce008'] + +buildopts = '-C ./src -f ../make/Makefile.linux_sse2 all' + +files_to_copy = ['bin', 'conf', 'data', 'doc', 'FASTA_LIST', 'misc', 'README', 'seq', 'sql', 'test'] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s fasta%(version_major)s fasta"] + +sanity_check_paths = { + 'files': ['FASTA_LIST', 'README'] + ['bin/fasta', 'bin/map_db'] + + ['bin/%s%%(version_major)s' % x for x in ['fasta', 'fastm', 'fastx', 'ggsearch', 'lalign', 'tfastf', + 'tfasts', 'tfasty', 'fastf', 'fasts', 'fasty', 'glsearch', + 'ssearch', 'tfastm', 'tfastx']], + 'dirs': ['conf', 'data', 'doc', 'misc', 'seq', 'sql', 'test'] +} + +sanity_check_commands = ["fasta --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.3.0.eb new file mode 100644 index 000000000000..8589f7ecedc9 --- /dev/null +++ b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.3.0.eb @@ -0,0 +1,95 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Cedric Laczny , Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'Bundle' + +name = 'FASTX-Toolkit' +version = '0.0.14' + +homepage = 'http://hannonlab.cshl.edu/fastx_toolkit/' +description = """The FASTX-Toolkit is a collection of command line tools for + Short-Reads FASTA/FASTQ files preprocessing.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +default_easyblock = 'ConfigureMake' + +dependencies = [ + ('GDGraph', '1.56'), + ('Perl', '5.34.1'), +] + +components = [ + ('libgtextutils', '0.7', { + 'source_urls': ['https://github.com/agordon/libgtextutils/releases/download/%(version)s/'], + 'sources': [SOURCE_TAR_GZ], + 'patches': ['libgtextutils-%(version)s_fix-bool.patch'], + 'checksums': [ + '792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a', # libgtextutils-0.7.tar.gz + 'bb16a4fd86c2eb12215d8780b09f0898771a73e53889a015e2351f2d737c9a00', # libgtextutils-0.7_fix-bool.patch + ], + 'start_dir': 'libgtextutils-%(version)s', + }), + (name, version, { + 'source_urls': ['https://github.com/agordon/fastx_toolkit/releases/download/%(version)s'], + 'sources': ['fastx_toolkit-%(version)s.tar.bz2'], + 'checksums': ['9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806'], + 'start_dir': 'fastx_toolkit-%(version)s', + 'preconfigopts': "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ", + 'configopts': 'CXXFLAGS="$CXXFLAGS -Wno-implicit-fallthrough"', + }), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('PerlIO::gzip', '0.20', { + 'source_tmpl': 'PerlIO-gzip-0.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/'], + 'checksums': ['4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5'], + }), +] + +fix_perl_shebang_for = ['bin/*.pl'] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/' +} + +sanity_check_paths = { + 'files': + ['bin/fastx_%s' % x for x in + ['clipper', 'trimmer', 'quality_stats', 'artifacts_filter', 'reverse_complement', + 'collapser', 'uncollapser', 'renamer', 'barcode_splitter.pl', 'nucleotide_distribution_graph.sh', + 'nucleotide_distribution_line_graph.sh']] + + ['bin/fasta_%s' % x for x in + ['clipping_histogram.pl', 'formatter', 'nucleotide_changer']] + + ['bin/fastq_%s' % x for x in + ['quality_boxplot_graph.sh', 'quality_converter', 'to_fasta', 'quality_filter', + 'quality_trimmer', 'masker']] + + ['lib/libgtextutils.%s' % SHLIB_EXT, 'lib/libgtextutils.a'], + 'dirs': [] +} + +sanity_check_commands = [ + 'fasta_clipping_histogram.pl', + 'fasta_formatter -h', + 'fastq_masker -h | grep "FASTX Toolkit %(version)s"', + 'fastq_quality_boxplot_graph.sh', + 'fastx_barcode_splitter.pl --help | grep "Barcode Splitter, by Assaf Gordon (gordon@cshl.edu), 11sep2008"', + 'fastx_clipper -h | grep "FASTX Toolkit %(version)s"', + 'fastx_nucleotide_distribution_graph.sh', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.10.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.10.eb new file mode 100644 index 000000000000..dacac34b6e31 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.10.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022.10'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb new file mode 100644 index 000000000000..a8c00b01432e --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2022.07.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2022.07.eb new file mode 100644 index 000000000000..48501672627c --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2022.07.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'nvompi', 'version': '2022.07'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb new file mode 100644 index 000000000000..90dce63b19c3 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 000000000000..9a75ff49951c --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,20 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +# Does not work with nvc +with_quad_prec = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iomkl-2020b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iomkl-2020b.eb new file mode 100644 index 000000000000..a3012e1e59ce --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iomkl-2020b.eb @@ -0,0 +1,28 @@ +name = 'FFTW' +version = '3.3.8' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'iomkl', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +patches = ['FFTW-%(version)s_fix-icc-no-gcc.patch'] +checksums = [ + '6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303', # fftw-3.3.8.tar.gz + '1b3319b98a2ca4ead68290b3229385c0573e22749a5a2ffb49486a0bbb37dc1e', # FFTW-3.3.8_fix-icc-no-gcc.patch +] +# no quad precision, requires GCC v4.6 or higher +# see also +# http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# compilation fails when configuring with --enable-avx-128-fma, Intel compilers do not support FMA4 instructions +use_fma4 = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb index 49875a9e83d5..35d6aae750c4 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb @@ -17,7 +17,8 @@ checksums = ['ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a'] builddependencies = [ ('binutils', '2.36.1'), - ('pkg-config', '0.29.2') + ('pkg-config', '0.29.2'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support ] dependencies = [ diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb index ea81a575cad5..9b441413d60b 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb @@ -14,7 +14,8 @@ checksums = ['ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a'] builddependencies = [ ('binutils', '2.37'), - ('pkg-config', '0.29.2') + ('pkg-config', '0.29.2'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support ] dependencies = [ diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb index 4cf10c89fd86..481c69c9923e 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb @@ -14,7 +14,8 @@ checksums = ['f98a482520c47507521a907914daa9efbc1384e0591b5afc3da18aa897de2948'] builddependencies = [ ('binutils', '2.38'), - ('pkgconf', '1.8.0') + ('pkgconf', '1.8.0'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support ] dependencies = [ diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb index 8bb0209eb4e3..5f6462eec211 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb @@ -15,6 +15,7 @@ checksums = ['28df33d400a1c1c1b20d07a99197809a3b88ef765f5f07dc1ff067fac64c59d6'] builddependencies = [ ('binutils', '2.38'), ('pkgconf', '1.8.0'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support ] dependencies = [ ('NASM', '2.15.05'), @@ -27,14 +28,15 @@ dependencies = [ ('freetype', '2.12.1'), ('fontconfig', '2.14.0'), ('FriBidi', '1.0.12'), + ('SDL2', '2.0.22'), ] configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' -configopts += '--enable-libfribidi' +configopts += '--enable-libfribidi --enable-sdl2' sanity_check_paths = { - 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe']] + + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], 'dirs': ['include'] diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b06aee269539 --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '5.1.2' + +homepage = 'https://www.ffmpeg.org/' +description = "A complete, cross-platform solution to record, convert and stream audio and video." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://%(namelower)s.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['39a0bcc8d98549f16c570624678246a6ac736c066cebdb409f9502e915b22f2b'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support +] +dependencies = [ + ('NASM', '2.15.05'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('x264', '20230226'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20221110'), + ('freetype', '2.12.1'), + ('fontconfig', '2.14.1'), + ('FriBidi', '1.0.12'), + ('SDL2', '2.26.3'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi --enable-sdl2' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FHI-aims/FHI-aims-221103-intel-2022a.eb b/easybuild/easyconfigs/f/FHI-aims/FHI-aims-221103-intel-2022a.eb new file mode 100644 index 000000000000..7e9bb34bb356 --- /dev/null +++ b/easybuild/easyconfigs/f/FHI-aims/FHI-aims-221103-intel-2022a.eb @@ -0,0 +1,57 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Dugan Witherick (University of Warwick) +# Updated to 210716_3 +# J. Sassmannshausen (Imperial College London/UK) +## +easyblock = 'CMakeMake' + +name = 'FHI-aims' +version = '221103' + +homepage = 'https://fhi-aims.org/' +description = """FHI-aims is an efficient, accurate all-electron, +full-potential electronic structure code package for computational molecular +and materials science (non-periodic and periodic systems). The code supports +DFT (semilocal and hybrid) and many-body perturbation theory. FHI-aims is +particularly efficient for molecular systems and nanostructures, while +maintaining high numerical accuracy for all production tasks. Production +calculations handle up to several thousand atoms and can efficiently use (ten) +thousands of cores. +""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'opt': True, 'precise': True} + +download_instructions = """ +The source code must be downloaded manually from the FHI-aims club +(https://fhi-aims.org/get-the-code-menu/login). +Access to the FHI-aims club requires a valid license and registration. +Details on available license options and how to register to access +FHI-aims club may be found at: +https://fhi-aims.org/get-the-code-menu/get-the-code """ + +sources = ['%(namelower)s.%(version)s.tgz'] +checksums = ['1905147a15968b6b719a4f5d9495a958df648d3ccee58f5012734be5d6727749'] + +builddependencies = [('CMake', '3.24.3')] + +configopts = ' -DCMAKE_Fortran_COMPILER="$MPIF90" ' +configopts += ' -DLIBS="mkl_scalapack_lp64 mkl_blacs_intelmpi_lp64 mkl_intel_lp64 mkl_sequential mkl_core" ' +configopts += ' -DLIB_PATHS="$CMAKE_LIBRARY_PATH" ' +configopts += ' -DCMAKE_C_FLAGS="$CFLAGS -ip" ' +configopts += ' -DCMAKE_Fortran_FLAGS="$FFLAGS -ip" ' +configopts += ' -DFortran_MIN_FLAGS="-O0 -fp-model precise" ' +configopts += ' -DTARGET_NAME="aims.x" ' + +postinstallcmds = ["cp -ar %(builddir)s/%(namelower)s.%(version)s/{CHANGELOG.md,doc,external} %(installdir)s/", + "cp -ar %(builddir)s/%(namelower)s.%(version)s/{regression_tests,species_defaults} %(installdir)s/", + "cp -ar %(builddir)s/%(namelower)s.%(version)s/{testcases,utilities} %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/aims.x'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..27ae550b7740 --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.4.2' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-foss-2020a-Python-3.8.2.eb new file mode 100644 index 000000000000..34f5aaf3db5f --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,42 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'FLANN' +version = '1.8.4' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/mariusmuja/flann/' +description = "FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces." + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'openmp': True} +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['FLANN-%(version)s_fix-cmake.patch'] + +checksums = [ + 'ed5843113150b3d6bc4c325fecb51337838a9fc09ad64bdb6aea79d6e610ee13', # flann-1.8.4.tar.gz + '179699d853440c9d4446b8f338a1fde64c3e712dd4bc305790a2d5790fb25ed6', # FLANN-1.8.4_fix-cmake.patch +] + +builddependencies = [('CMake', '3.16.4')] +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', '-Python-3.8.2'), +] + +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" + +modextrapaths = {'PYTHONPATH': ['share/flann/python']} + +sanity_check_paths = { + 'files': ['lib/libflann_cpp_s.a', 'lib/libflann_s.a', + 'lib/libflann_cpp.%s' % SHLIB_EXT, 'lib/libflann.%s' % SHLIB_EXT], + 'dirs': ['include/flann', 'lib/pkgconfig', 'share/doc/flann', 'share/flann/python'], +} +sanity_check_commands = ["python -c 'import pyflann'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4_fix-cmake.patch b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4_fix-cmake.patch new file mode 100644 index 000000000000..a1932dfb5737 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4_fix-cmake.patch @@ -0,0 +1,30 @@ +# Flann fails to build with newer versions of CMake, see: +# https://stackoverflow.com/questions/50763621/building-flann-with-cmake-fails +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index 49c53f0..0976e41 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -29,7 +29,7 @@ if (BUILD_CUDA_LIB) + endif() + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann_cpp SHARED "") ++ add_library(flann_cpp SHARED empty.cpp) + set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) + +@@ -83,7 +83,7 @@ if (BUILD_C_BINDINGS) + set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann SHARED "") ++ add_library(flann SHARED empty.cpp) + set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) + else() +diff --git a/src/cpp/empty.cpp b/src/cpp/empty.cpp +new file mode 100644 +index 0000000..e69de29 diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.9.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 000000000000..5321fb0cc982 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,42 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'FLANN' +version = '1.9.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/mariusmuja/flann/' +description = "FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces." + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['FLANN-1.8.4_fix-cmake.patch'] +checksums = [ + 'b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3', # flann-1.9.1.tar.gz + '179699d853440c9d4446b8f338a1fde64c3e712dd4bc305790a2d5790fb25ed6', # FLANN-1.8.4_fix-cmake.patch +] + +builddependencies = [('CMake', '3.16.4')] +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', '-Python-3.8.2'), +] + +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" + +modextrapaths = {'PYTHONPATH': ['share/flann/python']} + +sanity_check_paths = { + 'files': ['lib/libflann_cpp_s.a', 'lib/libflann_s.a', + 'lib/libflann_cpp.%s' % SHLIB_EXT, 'lib/libflann.%s' % SHLIB_EXT], + 'dirs': ['include/flann', 'lib/pkgconfig', 'share/flann/python'], +} +sanity_check_commands = ["python -c 'import pyflann'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..90131d5e4c4d --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-GCC-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '2.9.0' + +homepage = 'https://www.flintlib.org/' + +description = """FLINT (Fast Library for Number Theory) is a C library in support of computations + in number theory. Operations that can be performed include conversions, arithmetic, computing GCDs, + factoring, solving linear systems, and evaluating special functions. In addition, FLINT provides + various low-level routines for fast arithmetic. FLINT is extensively documented and tested.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.flintlib.org'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2fc090d51033c93208e6c10d406397a53c983ae5343b958eb25f72a57a4ce76a'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), +] + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FMS/FMS-2022.02-gompi-2022a.eb b/easybuild/easyconfigs/f/FMS/FMS-2022.02-gompi-2022a.eb new file mode 100644 index 000000000000..bb40ce9b7d38 --- /dev/null +++ b/easybuild/easyconfigs/f/FMS/FMS-2022.02-gompi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'FMS' +version = '2022.02' + +homepage = 'https://github.com/NOAA-GFDL/FMS' +description = """The Flexible Modeling System (FMS) is a software framework for + supporting the efficient development, construction, execution, and scientific + interpretation of atmospheric, oceanic, and climate system models.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/NOAA-GFDL/FMS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ad4978302b219e11b883b2f52519e1ee455137ad947474abb316c8654f72c874'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), +] + +separate_build_dir = True + +configopts = "-D64BIT=ON -DOPENMP=ON -DFPIC=ON" + +sanity_check_paths = { + 'files': ['lib/libfms_%s.a' % (x) for x in ['r4', 'r8']], + 'dirs': ['include_r4', 'include_r8', 'lib/cmake'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/f/FMS/FMS-2022.02-iimpi-2022a.eb b/easybuild/easyconfigs/f/FMS/FMS-2022.02-iimpi-2022a.eb new file mode 100644 index 000000000000..a121a552ee3d --- /dev/null +++ b/easybuild/easyconfigs/f/FMS/FMS-2022.02-iimpi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'FMS' +version = '2022.02' + +homepage = 'https://github.com/NOAA-GFDL/FMS' +description = """The Flexible Modeling System (FMS) is a software framework for + supporting the efficient development, construction, execution, and scientific + interpretation of atmospheric, oceanic, and climate system models.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/NOAA-GFDL/FMS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ad4978302b219e11b883b2f52519e1ee455137ad947474abb316c8654f72c874'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), +] + +separate_build_dir = True + +configopts = "-D64BIT=ON -DOPENMP=ON -DFPIC=ON" + +sanity_check_paths = { + 'files': ['lib/libfms_%s.a' % (x) for x in ['r4', 'r8']], + 'dirs': ['include_r4', 'include_r8', 'lib/cmake'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/f/FTGL/FTGL-2.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FTGL/FTGL-2.4.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..87757d797fb7 --- /dev/null +++ b/easybuild/easyconfigs/f/FTGL/FTGL-2.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'FTGL' +version = '2.4.0' + +homepage = 'https://github.com/frankheckenbach/ftgl' +description = """ FTGL is a free open source library to enable developers to use arbitrary +fonts in their OpenGL (www.opengl.org) applications. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'frankheckenbach' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['aa97da1c3442a8fd3941037655df18016d70b5266381c81d81e8b5335f196ea8'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('freetype', '2.12.1'), + ('libGLU', '9.0.2'), + ('Mesa', '22.0.3'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['lib/pkgconfig/ftgl.pc', 'lib/libftgl.a', 'lib/libftgl.la', 'lib/libftgl.%s' % SHLIB_EXT], + 'dirs': ['include/FTGL', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FabIO/FabIO-0.14.0-foss-2021b.eb b/easybuild/easyconfigs/f/FabIO/FabIO-0.14.0-foss-2021b.eb new file mode 100644 index 000000000000..289ac781efe2 --- /dev/null +++ b/easybuild/easyconfigs/f/FabIO/FabIO-0.14.0-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'FabIO' +version = '0.14.0' + +homepage = 'http://www.silx.org' +description = """FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. +FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, ...), +for a total of 20 different file formats (like CBF, EDF, TIFF, ...) and offers an unified interface to their headers +(as a python dictionary) and datasets (as a numpy ndarray of integers or floats).""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['72ab0cb7247ec97dc552447112a54cd77b5fbe6f5ede8fc9b070e4e1c13cf01e'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.3.0.eb new file mode 100644 index 000000000000..67c94db4722e --- /dev/null +++ b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'ConfigureMake' + +name = 'FastANI' +version = '1.33' + +homepage = "https://github.com/ParBLiSS/FastANI" +description = """FastANI is developed for fast alignment-free computation of + whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean + nucleotide identity of orthologous gene pairs shared between two microbial + genomes. FastANI supports pairwise comparison of both complete and draft + genome assemblies.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/ParBLiSS/FastANI/archive'] +sources = ['v%(version)s.zip'] +patches = ['FastANI-1.2-memcpy.patch'] +checksums = [ + 'fb392ffa3c7942091a06de05c56c8e250523723c39da65ae8f245e65e440a74b', # v1.33.zip + 'eebcf0b64c31ee360ca79136f644157064ac69747ed13cff70f5c9932c6bb0d5', # FastANI-1.2-memcpy.patch +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.12'), +] + +preconfigopts = 'autoconf && ' + +sanity_check_paths = { + 'files': ['bin/fastANI'], + 'dirs': [] +} + +sanity_check_commands = ["fastANI --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastQ_Screen/FastQ_Screen-0.14.0-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FastQ_Screen/FastQ_Screen-0.14.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..ace0d3db7256 --- /dev/null +++ b/easybuild/easyconfigs/f/FastQ_Screen/FastQ_Screen-0.14.0-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'FastQ_Screen' +version = '0.14.0' + +homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s/' +description = """FastQ Screen allows you to screen a library of sequences in FastQ + format against a set of sequence databases so you can see if the composition of the + library matches with what you expect.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.tar.gz'] +checksums = ['5ee9c02617201e908e1693eebc356bed9d7693c915a83dda0d33a37cc34af654'] + +dependencies = [ + ('Perl', '5.34.1'), + ('GDGraph', '1.56'), + ('BWA', '0.7.17'), + ('Bowtie', '1.3.1'), + ('Bowtie2', '2.4.5'), +] + +fix_perl_shebang_for = ['fastq_screen'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['fastq_screen'], + 'dirs': [], +} + +sanity_check_commands = ["fastq_screen -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a79c7a054dab --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CmdCp' + +name = 'FastTree' +version = '2.1.11' + +homepage = 'http://www.microbesonline.org/fasttree/' +description = """FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide + or protein sequences. FastTree can handle alignments with up to a million of sequences in a reasonable amount of + time and memory. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +# HTTPS cert error: +# hostname 'www.microbesonline.org' doesn't match either of 'genomics.lbl.gov', 'mojave.qb3.berkeley.edu', ... +source_urls = ['http://www.microbesonline.org/fasttree/'] +sources = [{'filename': '%(name)s-%(version)s.c', 'extract_cmd': 'cp %s FastTree.c'}] +checksums = ['9026ae550307374be92913d3098f8d44187d30bea07902b9dcbfb123eaa2050f'] + +builddependencies = [('binutils', '2.38')] + +cmds_map = [('%(name)s-%(version)s.c', '$CC -DOPENMP $CFLAGS $LIBS %%(source)s -o %(name)s')] + +files_to_copy = [(['FastTree'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/FastTree'], + 'dirs': [], +} + +sanity_check_commands = ['FastTree 2>&1 | grep "FastTree Version %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-1.8.eb b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-1.8.eb new file mode 100644 index 000000000000..c655cd165402 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-1.8.eb @@ -0,0 +1,49 @@ +easyblock = 'PackedBinary' + +name = 'Fiji' +version = '2.9.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://fiji.sc' +description = """Fiji is an image processing package—a 'batteries-included' distribution of + ImageJ, bundling a lot of plugins which facilitate scientific image analysis. +This release is based on ImageJ-2.1.0 and Fiji-2.1.1""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.imagej.net/fiji/releases/%(version)s/'] +sources = ['fiji-%(version)s-nojre.zip'] +checksums = ['970fb80cf2a4fe8bfcecc2cc9a8617b9ab28f19fbe229ea6ae2f7f42674c8a42'] + +dependencies = [('Java', '1.8', '', SYSTEM)] + +postinstallcmds = [ + # Remove binaries for other platforms + 'rm %(installdir)s/{ImageJ-win32.exe,ImageJ-win64.exe}', + # Enable any update site (edit existing site with same parameters to enable it) + # Full list at https://imagej.github.io/list-of-update-sites/ + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ImageScience"' + ' https://sites.imagej.net/ImageScience/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "3D ImageJ Suite"' + ' https://sites.imagej.net/Tboudier/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ilastik"' + ' https://sites.imagej.net/Ilastik/', + # Add a new update site + # '%(installdir)s/ImageJ-linux64 --headless --update add-update-site "New Name"' + # ' https://site.url/NewName/', + # Update the installation + '%(installdir)s/ImageJ-linux64 --headless --update update', +] + +sanity_check_paths = { + 'files': ['ImageJ-linux64'], + 'dirs': [], +} + +modloadmsg = """ +Additional plugins can be installed in your $HOME/.plugins folder or requested to user support +Use ImageJ/Fiji in headless mode in your scripts with the command `ImageJ-linux64 --headless` +More information at https://imagej.net/Headless +""" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-8.eb b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-8.eb new file mode 100644 index 000000000000..a02535237205 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-8.eb @@ -0,0 +1,49 @@ +easyblock = 'PackedBinary' + +name = 'Fiji' +version = '2.9.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://fiji.sc' +description = """Fiji is an image processing package—a 'batteries-included' distribution of + ImageJ, bundling a lot of plugins which facilitate scientific image analysis. +This release is based on ImageJ-2.1.0 and Fiji-2.1.1""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.imagej.net/fiji/releases/%(version)s/'] +sources = ['fiji-%(version)s-nojre.zip'] +checksums = ['970fb80cf2a4fe8bfcecc2cc9a8617b9ab28f19fbe229ea6ae2f7f42674c8a42'] + +dependencies = [('Java', '8', '', SYSTEM)] + +postinstallcmds = [ + # Remove binaries for other platforms + 'rm %(installdir)s/{ImageJ-win32.exe,ImageJ-win64.exe}', + # Enable any update site (edit existing site with same parameters to enable it) + # Full list at https://imagej.github.io/list-of-update-sites/ + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ImageScience"' + ' https://sites.imagej.net/ImageScience/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "3D ImageJ Suite"' + ' https://sites.imagej.net/Tboudier/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ilastik"' + ' https://sites.imagej.net/Ilastik/', + # Add a new update site + # '%(installdir)s/ImageJ-linux64 --headless --update add-update-site "New Name"' + # ' https://site.url/NewName/', + # Update the installation + '%(installdir)s/ImageJ-linux64 --headless --update update', +] + +sanity_check_paths = { + 'files': ['ImageJ-linux64'], + 'dirs': [], +} + +modloadmsg = """ +Additional plugins can be installed in your $HOME/.plugins folder or requested to user support +Use ImageJ/Fiji in headless mode in your scripts with the command `ImageJ-linux64 --headless` +More information at https://imagej.net/Headless +""" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-10.3.0.eb b/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-10.3.0.eb new file mode 100644 index 000000000000..8ed16b2cc4c2 --- /dev/null +++ b/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'MakeCp' + +name = 'Filtlong' +version = '0.2.1' + +homepage = 'https://github.com/rrwick/Filtlong' +description = """Filtlong is a tool for filtering long reads by quality. It can take a set + of long reads and produce a smaller, better subset. It uses both read length (longer is better) + and read identity (higher is better) when choosing which reads pass the filter""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/rrwick/Filtlong/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e6f47675e87f98cf2481a60bef5cad38396f1e4db653a5c1673139f37770273a'] + +unpack_options = '--strip-components=1' + +parallel = 1 + +dependencies = [ + ('zlib', '1.2.11'), +] + +files_to_copy = ["*"] + +sanity_check_paths = { + 'files': ['bin/filtlong'], + 'dirs': [] +} + +sanity_check_commands = ["filtlong --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2022a.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2022a.eb new file mode 100644 index 000000000000..a1a8ffdd7e09 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.8.21' + +homepage = 'https://github.com/Toblerity/Fiona' +description = """Fiona is designed to be simple and dependable. It focuses on reading and writing data +in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, +mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using +multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS +packages such as pyproj, Rtree, and Shapely.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('GDAL', '3.5.0'), + ('Shapely', '1.8.2'), # optional for 'calc' extras +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'checksums': ['3a0edca2a7a070db405d71187214a43d2333a57b4097544a3fcc282066a58bfc'], + 'use_pip_extras': 'calc', + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["fio --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/Fiona/Fiona-1.9.2-foss-2022b.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.9.2-foss-2022b.eb new file mode 100644 index 000000000000..024b51efc9f7 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.9.2-foss-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.9.2' + +homepage = 'https://github.com/Toblerity/Fiona' +description = """Fiona is designed to be simple and dependable. It focuses on reading and writing data +in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, +mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using +multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS +packages such as pyproj, Rtree, and Shapely.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('GDAL', '3.6.2'), + ('Shapely', '2.0.1'), # optional for 'calc' extras +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'use_pip_extras': 'calc', + 'checksums': ['f9263c5f97206bf2eb2c010d52e8ffc54e96886b0e698badde25ff109b32952a'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["fio --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/Flask/Flask-2.2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/Flask/Flask-2.2.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..26e22ef4b44a --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-2.2.3-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '2.2.3' + +homepage = 'https://www.palletsprojects.com/p/flask/' +description = """ +Flask is a lightweight WSGI web application framework. It is designed to make +getting started quick and easy, with the ability to scale up to complex +applications. +This module includes the Flask extensions: Flask-Cors""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +dependencies = [ + ('Python', '3.10.8'), +] + +builddependencies = [('binutils', '2.39')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('Werkzeug', version, { + 'checksums': ['2e1ccc9417d4da358b9de6f174e3ac094391ea1d4fbef2d667865d819dfd0afe'], + }), + ('asgiref', '3.6.0', { + 'checksums': ['9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506'], + }), + (name, version, { + 'checksums': ['7eb373984bf1c770023fce9db164ed0c3353cd0b53f130f4693da0ca756a2e6d'], + }), + ('Flask-Cors', '3.0.10', { + 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], + }), + ('cachelib', '0.10.2', { + 'checksums': ['593faeee62a7c037d50fc835617a01b887503f972fb52b188ae7e50e9cb69740'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), +] + +sanity_check_paths = { + 'files': ['bin/flask'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['flask --version'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-imkl.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-imkl.patch new file mode 100644 index 000000000000..65afad7a02a9 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-imkl.patch @@ -0,0 +1,24 @@ +CMake-related fixes to use correct backend for MKL + +Author: Bart Oldeman +diff -ur flexiblas-3.0.4/src/CMakeLists.txt flexiblas-3.0.4.new/src/CMakeLists.txt +--- flexiblas-3.0.4/src/CMakeLists.txt 2020-10-22 09:07:49.000000000 +0000 ++++ flexiblas-3.0.4.new/src/CMakeLists.txt 2021-09-28 17:28:59.862127651 +0000 +@@ -331,7 +331,7 @@ + INCLUDE(CheckFunctionExists) + + # SET(BLA_STATIC TRUE) +-MACRO(BuildBackendBlas VENDOR BACKEND_CODE) ++MACRO(BuildBackendBlas VENDOR BACKEND_CODE_PARAM) + MESSAGE(STATUS "Build additional BLAS interface: ${VENDOR}") + MESSAGE(STATUS "-- Libs: ${${VENDOR}_LIBRARY}") + MESSAGE(STATUS "-- Linker Flags: ${${VENDOR}_LINKER_FLAGS}") +@@ -356,6 +356,8 @@ + # Use the MKL Backend Code if it is MKL + IF(_MKL_VERSION) + SET(BACKEND_CODE backends/intel_mkl/backend.c) ++ ELSE() ++ SET(BACKEND_CODE ${BACKEND_CODE_PARAM}) + ENDIF() + + SET(CMAKE_REQUIRED_LIBRARIES ${__CMAKE_REQUIRED_LIBRARIES}) diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch new file mode 100644 index 000000000000..ce6b2d8b3ab8 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch @@ -0,0 +1,6750 @@ +Sync intel with gnu wrapper. The only difference should be in [cz]dot[uc]; without +these wrapper_blas_intel.c won't compile. + +Bart Oldeman +diff -ur flexiblas-3.0.4/src/wrapper_blas_intel.c flexiblas-3.0.4.new/src/wrapper_blas_intel.c +--- flexiblas-3.0.4/src/wrapper_blas_intel.c 2020-10-22 09:07:55.000000000 +0000 ++++ flexiblas-3.0.4.new/src/wrapper_blas_intel.c 2021-10-03 22:52:02.359617295 +0000 +@@ -235,6 +235,8 @@ + return 0; + } + ++static TLS_STORE uint8_t hook_pos_caxpy = 0; ++ + void FC_GLOBAL(caxpy,CAXPY)(blasint* n, float complex* ca, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* ca, void* cx, void* incx, void* cy, void* incy); +@@ -261,6 +263,40 @@ + + + ++void flexiblas_real_caxpy_(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cy, void* incy); ++ ++ fn = current_backend->blas.caxpy.f77_blas_function; ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_caxpy(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_caxpy_"))); ++ ++ ++void flexiblas_chain_caxpy_(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cy, void* incy); ++ ++ ++ ++ hook_pos_caxpy++; ++ if ( hook_pos_caxpy < __flexiblas_hooks->caxpy.nhook ) { ++ fn = __flexiblas_hooks->caxpy.f77_hook_function[hook_pos_caxpy]; ++ } else { ++ hook_pos_caxpy = 0; ++ fn = current_backend->blas.caxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_caxpy(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_caxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ccopy = 0; ++ + void FC_GLOBAL(ccopy,CCOPY)(blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -287,6 +323,40 @@ + + + ++void flexiblas_real_ccopy_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ fn = current_backend->blas.ccopy.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_ccopy(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_ccopy_"))); ++ ++ ++void flexiblas_chain_ccopy_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ ++ ++ hook_pos_ccopy++; ++ if ( hook_pos_ccopy < __flexiblas_hooks->ccopy.nhook ) { ++ fn = __flexiblas_hooks->ccopy.f77_hook_function[hook_pos_ccopy]; ++ } else { ++ hook_pos_ccopy = 0; ++ fn = current_backend->blas.ccopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_ccopy(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_ccopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cdotc = 0; ++ + void FC_GLOBAL(cdotc,CDOTC)( float complex* returnvalue, blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -327,6 +397,56 @@ + + + ++void flexiblas_real_cdotc_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ fn = current_backend->blas.cdotc.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_cdotc( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_cdotc_"))); ++ ++ ++void flexiblas_chain_cdotc_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ ++ ++ hook_pos_cdotc++; ++ if ( hook_pos_cdotc < __flexiblas_hooks->cdotc.nhook ) { ++ fn = __flexiblas_hooks->cdotc.f77_hook_function[hook_pos_cdotc]; ++ } else { ++ hook_pos_cdotc = 0; ++ fn = current_backend->blas.cdotc.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_cdotc( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_cdotc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cdotu = 0; ++ + void FC_GLOBAL(cdotu,CDOTU)( float complex* returnvalue, blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -367,6 +487,56 @@ + + + ++void flexiblas_real_cdotu_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ fn = current_backend->blas.cdotu.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_cdotu( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_cdotu_"))); ++ ++ ++void flexiblas_chain_cdotu_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ ++ ++ hook_pos_cdotu++; ++ if ( hook_pos_cdotu < __flexiblas_hooks->cdotu.nhook ) { ++ fn = __flexiblas_hooks->cdotu.f77_hook_function[hook_pos_cdotu]; ++ } else { ++ hook_pos_cdotu = 0; ++ fn = current_backend->blas.cdotu.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_cdotu( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_cdotu_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgbmv = 0; ++ + void FC_GLOBAL(cgbmv,CGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -393,6 +563,40 @@ + + + ++void flexiblas_real_cgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.cgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_cgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_cgbmv_"))); ++ ++ ++void flexiblas_chain_cgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_cgbmv++; ++ if ( hook_pos_cgbmv < __flexiblas_hooks->cgbmv.nhook ) { ++ fn = __flexiblas_hooks->cgbmv.f77_hook_function[hook_pos_cgbmv]; ++ } else { ++ hook_pos_cgbmv = 0; ++ fn = current_backend->blas.cgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_cgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_cgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgemm = 0; ++ + void FC_GLOBAL(cgemm,CGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -419,6 +623,40 @@ + + + ++void flexiblas_real_cgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.cgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_cgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_cgemm_"))); ++ ++ ++void flexiblas_chain_cgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_cgemm++; ++ if ( hook_pos_cgemm < __flexiblas_hooks->cgemm.nhook ) { ++ fn = __flexiblas_hooks->cgemm.f77_hook_function[hook_pos_cgemm]; ++ } else { ++ hook_pos_cgemm = 0; ++ fn = current_backend->blas.cgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_cgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_cgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgemv = 0; ++ + void FC_GLOBAL(cgemv,CGEMV)(char* trans, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -445,6 +683,40 @@ + + + ++void flexiblas_real_cgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.cgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_cgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_cgemv_"))); ++ ++ ++void flexiblas_chain_cgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_cgemv++; ++ if ( hook_pos_cgemv < __flexiblas_hooks->cgemv.nhook ) { ++ fn = __flexiblas_hooks->cgemv.f77_hook_function[hook_pos_cgemv]; ++ } else { ++ hook_pos_cgemv = 0; ++ fn = current_backend->blas.cgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_cgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_cgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgerc = 0; ++ + void FC_GLOBAL(cgerc,CGERC)(blasint* m, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -471,6 +743,40 @@ + + + ++void flexiblas_real_cgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.cgerc.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_cgerc_"))); ++ ++ ++void flexiblas_chain_cgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_cgerc++; ++ if ( hook_pos_cgerc < __flexiblas_hooks->cgerc.nhook ) { ++ fn = __flexiblas_hooks->cgerc.f77_hook_function[hook_pos_cgerc]; ++ } else { ++ hook_pos_cgerc = 0; ++ fn = current_backend->blas.cgerc.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_cgerc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgeru = 0; ++ + void FC_GLOBAL(cgeru,CGERU)(blasint* m, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -497,6 +803,40 @@ + + + ++void flexiblas_real_cgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.cgeru.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_cgeru_"))); ++ ++ ++void flexiblas_chain_cgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_cgeru++; ++ if ( hook_pos_cgeru < __flexiblas_hooks->cgeru.nhook ) { ++ fn = __flexiblas_hooks->cgeru.f77_hook_function[hook_pos_cgeru]; ++ } else { ++ hook_pos_cgeru = 0; ++ fn = current_backend->blas.cgeru.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_cgeru_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chbmv = 0; ++ + void FC_GLOBAL(chbmv,CHBMV)(char* uplo, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -523,6 +863,40 @@ + + + ++void flexiblas_real_chbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.chbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_chbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_chbmv_"))); ++ ++ ++void flexiblas_chain_chbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_chbmv++; ++ if ( hook_pos_chbmv < __flexiblas_hooks->chbmv.nhook ) { ++ fn = __flexiblas_hooks->chbmv.f77_hook_function[hook_pos_chbmv]; ++ } else { ++ hook_pos_chbmv = 0; ++ fn = current_backend->blas.chbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_chbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_chbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chemm = 0; ++ + void FC_GLOBAL(chemm,CHEMM)(char* side, char* uplo, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -549,6 +923,40 @@ + + + ++void flexiblas_real_chemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.chemm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_chemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_chemm_"))); ++ ++ ++void flexiblas_chain_chemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_chemm++; ++ if ( hook_pos_chemm < __flexiblas_hooks->chemm.nhook ) { ++ fn = __flexiblas_hooks->chemm.f77_hook_function[hook_pos_chemm]; ++ } else { ++ hook_pos_chemm = 0; ++ fn = current_backend->blas.chemm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_chemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_chemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chemv = 0; ++ + void FC_GLOBAL(chemv,CHEMV)(char* uplo, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -575,6 +983,40 @@ + + + ++void flexiblas_real_chemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.chemv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_chemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_chemv_"))); ++ ++ ++void flexiblas_chain_chemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_chemv++; ++ if ( hook_pos_chemv < __flexiblas_hooks->chemv.nhook ) { ++ fn = __flexiblas_hooks->chemv.f77_hook_function[hook_pos_chemv]; ++ } else { ++ hook_pos_chemv = 0; ++ fn = current_backend->blas.chemv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_chemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_chemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cher = 0; ++ + void FC_GLOBAL(cher,CHER)(char* uplo, blasint* n, float* alpha, float complex* x, blasint* incx, float complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -601,6 +1043,40 @@ + + + ++void flexiblas_real_cher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.cher.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_cher_"))); ++ ++ ++void flexiblas_chain_cher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_cher++; ++ if ( hook_pos_cher < __flexiblas_hooks->cher.nhook ) { ++ fn = __flexiblas_hooks->cher.f77_hook_function[hook_pos_cher]; ++ } else { ++ hook_pos_cher = 0; ++ fn = current_backend->blas.cher.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_cher_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cher2 = 0; ++ + void FC_GLOBAL(cher2,CHER2)(char* uplo, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -627,6 +1103,40 @@ + + + ++void flexiblas_real_cher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.cher2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_cher2_"))); ++ ++ ++void flexiblas_chain_cher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_cher2++; ++ if ( hook_pos_cher2 < __flexiblas_hooks->cher2.nhook ) { ++ fn = __flexiblas_hooks->cher2.f77_hook_function[hook_pos_cher2]; ++ } else { ++ hook_pos_cher2 = 0; ++ fn = current_backend->blas.cher2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_cher2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cher2k = 0; ++ + void FC_GLOBAL(cher2k,CHER2K)(char* uplo, char* trans, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -653,6 +1163,40 @@ + + + ++void flexiblas_real_cher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.cher2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_cher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_cher2k_"))); ++ ++ ++void flexiblas_chain_cher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_cher2k++; ++ if ( hook_pos_cher2k < __flexiblas_hooks->cher2k.nhook ) { ++ fn = __flexiblas_hooks->cher2k.f77_hook_function[hook_pos_cher2k]; ++ } else { ++ hook_pos_cher2k = 0; ++ fn = current_backend->blas.cher2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_cher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_cher2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cherk = 0; ++ + void FC_GLOBAL(cherk,CHERK)(char* uplo, char* trans, blasint* n, blasint* k, float* alpha, float complex* a, blasint* lda, float* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -679,6 +1223,40 @@ + + + ++void flexiblas_real_cherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.cherk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_cherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_cherk_"))); ++ ++ ++void flexiblas_chain_cherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_cherk++; ++ if ( hook_pos_cherk < __flexiblas_hooks->cherk.nhook ) { ++ fn = __flexiblas_hooks->cherk.f77_hook_function[hook_pos_cherk]; ++ } else { ++ hook_pos_cherk = 0; ++ fn = current_backend->blas.cherk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_cherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_cherk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chpmv = 0; ++ + void FC_GLOBAL(chpmv,CHPMV)(char* uplo, blasint* n, float complex* alpha, float complex* ap, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -705,6 +1283,40 @@ + + + ++void flexiblas_real_chpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.chpmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_chpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_chpmv_"))); ++ ++ ++void flexiblas_chain_chpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_chpmv++; ++ if ( hook_pos_chpmv < __flexiblas_hooks->chpmv.nhook ) { ++ fn = __flexiblas_hooks->chpmv.f77_hook_function[hook_pos_chpmv]; ++ } else { ++ hook_pos_chpmv = 0; ++ fn = current_backend->blas.chpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_chpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_chpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chpr = 0; ++ + void FC_GLOBAL(chpr,CHPR)(char* uplo, blasint* n, float* alpha, float complex* x, blasint* incx, float complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -731,6 +1343,40 @@ + + + ++void flexiblas_real_chpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.chpr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_chpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_chpr_"))); ++ ++ ++void flexiblas_chain_chpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_chpr++; ++ if ( hook_pos_chpr < __flexiblas_hooks->chpr.nhook ) { ++ fn = __flexiblas_hooks->chpr.f77_hook_function[hook_pos_chpr]; ++ } else { ++ hook_pos_chpr = 0; ++ fn = current_backend->blas.chpr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_chpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_chpr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chpr2 = 0; ++ + void FC_GLOBAL(chpr2,CHPR2)(char* uplo, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -757,6 +1403,40 @@ + + + ++void flexiblas_real_chpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.chpr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_chpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_chpr2_"))); ++ ++ ++void flexiblas_chain_chpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_chpr2++; ++ if ( hook_pos_chpr2 < __flexiblas_hooks->chpr2.nhook ) { ++ fn = __flexiblas_hooks->chpr2.f77_hook_function[hook_pos_chpr2]; ++ } else { ++ hook_pos_chpr2 = 0; ++ fn = current_backend->blas.chpr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_chpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_chpr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_crotg = 0; ++ + void FC_GLOBAL(crotg,CROTG)(float complex* ca, float complex* cb, float* c, float complex* s) + { + void (*fn) (void* ca, void* cb, void* c, void* s); +@@ -783,6 +1463,40 @@ + + + ++void flexiblas_real_crotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ fn = current_backend->blas.crotg.f77_blas_function; ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_crotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_real_crotg_"))); ++ ++ ++void flexiblas_chain_crotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ ++ ++ hook_pos_crotg++; ++ if ( hook_pos_crotg < __flexiblas_hooks->crotg.nhook ) { ++ fn = __flexiblas_hooks->crotg.f77_hook_function[hook_pos_crotg]; ++ } else { ++ hook_pos_crotg = 0; ++ fn = current_backend->blas.crotg.f77_blas_function; ++ } ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_crotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_chain_crotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cscal = 0; ++ + void FC_GLOBAL(cscal,CSCAL)(blasint* n, float complex* ca, float complex* cx, blasint* incx) + { + void (*fn) (void* n, void* ca, void* cx, void* incx); +@@ -809,6 +1523,40 @@ + + + ++void flexiblas_real_cscal_(void* n, void* ca, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx); ++ ++ fn = current_backend->blas.cscal.f77_blas_function; ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_cscal(void* n, void* ca, void* cx, void* incx) __attribute__((alias("flexiblas_real_cscal_"))); ++ ++ ++void flexiblas_chain_cscal_(void* n, void* ca, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx); ++ ++ ++ ++ hook_pos_cscal++; ++ if ( hook_pos_cscal < __flexiblas_hooks->cscal.nhook ) { ++ fn = __flexiblas_hooks->cscal.f77_hook_function[hook_pos_cscal]; ++ } else { ++ hook_pos_cscal = 0; ++ fn = current_backend->blas.cscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_cscal(void* n, void* ca, void* cx, void* incx) __attribute__((alias("flexiblas_chain_cscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csrot = 0; ++ + void FC_GLOBAL(csrot,CSROT)(blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy, float* c, float* s) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); +@@ -835,6 +1583,40 @@ + + + ++void flexiblas_real_csrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.csrot.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_csrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_csrot_"))); ++ ++ ++void flexiblas_chain_csrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_csrot++; ++ if ( hook_pos_csrot < __flexiblas_hooks->csrot.nhook ) { ++ fn = __flexiblas_hooks->csrot.f77_hook_function[hook_pos_csrot]; ++ } else { ++ hook_pos_csrot = 0; ++ fn = current_backend->blas.csrot.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_csrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_csrot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csscal = 0; ++ + void FC_GLOBAL(csscal,CSSCAL)(blasint* n, float* sa, float complex* cx, blasint* incx) + { + void (*fn) (void* n, void* sa, void* cx, void* incx); +@@ -861,6 +1643,40 @@ + + + ++void flexiblas_real_csscal_(void* n, void* sa, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* cx, void* incx); ++ ++ fn = current_backend->blas.csscal.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_csscal(void* n, void* sa, void* cx, void* incx) __attribute__((alias("flexiblas_real_csscal_"))); ++ ++ ++void flexiblas_chain_csscal_(void* n, void* sa, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* cx, void* incx); ++ ++ ++ ++ hook_pos_csscal++; ++ if ( hook_pos_csscal < __flexiblas_hooks->csscal.nhook ) { ++ fn = __flexiblas_hooks->csscal.f77_hook_function[hook_pos_csscal]; ++ } else { ++ hook_pos_csscal = 0; ++ fn = current_backend->blas.csscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_csscal(void* n, void* sa, void* cx, void* incx) __attribute__((alias("flexiblas_chain_csscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cswap = 0; ++ + void FC_GLOBAL(cswap,CSWAP)(blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -887,6 +1703,40 @@ + + + ++void flexiblas_real_cswap_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ fn = current_backend->blas.cswap.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_cswap(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_cswap_"))); ++ ++ ++void flexiblas_chain_cswap_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ ++ ++ hook_pos_cswap++; ++ if ( hook_pos_cswap < __flexiblas_hooks->cswap.nhook ) { ++ fn = __flexiblas_hooks->cswap.f77_hook_function[hook_pos_cswap]; ++ } else { ++ hook_pos_cswap = 0; ++ fn = current_backend->blas.cswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_cswap(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_cswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csymm = 0; ++ + void FC_GLOBAL(csymm,CSYMM)(char* side, char* uplo, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -913,6 +1763,40 @@ + + + ++void flexiblas_real_csymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.csymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_csymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_csymm_"))); ++ ++ ++void flexiblas_chain_csymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_csymm++; ++ if ( hook_pos_csymm < __flexiblas_hooks->csymm.nhook ) { ++ fn = __flexiblas_hooks->csymm.f77_hook_function[hook_pos_csymm]; ++ } else { ++ hook_pos_csymm = 0; ++ fn = current_backend->blas.csymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_csymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_csymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csyr2k = 0; ++ + void FC_GLOBAL(csyr2k,CSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -939,6 +1823,40 @@ + + + ++void flexiblas_real_csyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.csyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_csyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_csyr2k_"))); ++ ++ ++void flexiblas_chain_csyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_csyr2k++; ++ if ( hook_pos_csyr2k < __flexiblas_hooks->csyr2k.nhook ) { ++ fn = __flexiblas_hooks->csyr2k.f77_hook_function[hook_pos_csyr2k]; ++ } else { ++ hook_pos_csyr2k = 0; ++ fn = current_backend->blas.csyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_csyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_csyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csyrk = 0; ++ + void FC_GLOBAL(csyrk,CSYRK)(char* uplo, char* trans, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -965,6 +1883,40 @@ + + + ++void flexiblas_real_csyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.csyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_csyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_csyrk_"))); ++ ++ ++void flexiblas_chain_csyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_csyrk++; ++ if ( hook_pos_csyrk < __flexiblas_hooks->csyrk.nhook ) { ++ fn = __flexiblas_hooks->csyrk.f77_hook_function[hook_pos_csyrk]; ++ } else { ++ hook_pos_csyrk = 0; ++ fn = current_backend->blas.csyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_csyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_csyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctbmv = 0; ++ + void FC_GLOBAL(ctbmv,CTBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -991,6 +1943,40 @@ + + + ++void flexiblas_real_ctbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctbmv_"))); ++ ++ ++void flexiblas_chain_ctbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctbmv++; ++ if ( hook_pos_ctbmv < __flexiblas_hooks->ctbmv.nhook ) { ++ fn = __flexiblas_hooks->ctbmv.f77_hook_function[hook_pos_ctbmv]; ++ } else { ++ hook_pos_ctbmv = 0; ++ fn = current_backend->blas.ctbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctbsv = 0; ++ + void FC_GLOBAL(ctbsv,CTBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -1017,6 +2003,40 @@ + + + ++void flexiblas_real_ctbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctbsv_"))); ++ ++ ++void flexiblas_chain_ctbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctbsv++; ++ if ( hook_pos_ctbsv < __flexiblas_hooks->ctbsv.nhook ) { ++ fn = __flexiblas_hooks->ctbsv.f77_hook_function[hook_pos_ctbsv]; ++ } else { ++ hook_pos_ctbsv = 0; ++ fn = current_backend->blas.ctbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctpmv = 0; ++ + void FC_GLOBAL(ctpmv,CTPMV)(char* uplo, char* trans, char* diag, blasint* n, float complex* ap, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1043,6 +2063,40 @@ + + + ++void flexiblas_real_ctpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ctpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ctpmv_"))); ++ ++ ++void flexiblas_chain_ctpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctpmv++; ++ if ( hook_pos_ctpmv < __flexiblas_hooks->ctpmv.nhook ) { ++ fn = __flexiblas_hooks->ctpmv.f77_hook_function[hook_pos_ctpmv]; ++ } else { ++ hook_pos_ctpmv = 0; ++ fn = current_backend->blas.ctpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctpsv = 0; ++ + void FC_GLOBAL(ctpsv,CTPSV)(char* uplo, char* trans, char* diag, blasint* n, float complex* ap, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1069,6 +2123,40 @@ + + + ++void flexiblas_real_ctpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ctpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ctpsv_"))); ++ ++ ++void flexiblas_chain_ctpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctpsv++; ++ if ( hook_pos_ctpsv < __flexiblas_hooks->ctpsv.nhook ) { ++ fn = __flexiblas_hooks->ctpsv.f77_hook_function[hook_pos_ctpsv]; ++ } else { ++ hook_pos_ctpsv = 0; ++ fn = current_backend->blas.ctpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrmm = 0; ++ + void FC_GLOBAL(ctrmm,CTRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -1095,6 +2183,40 @@ + + + ++void flexiblas_real_ctrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ctrmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ctrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ctrmm_"))); ++ ++ ++void flexiblas_chain_ctrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ctrmm++; ++ if ( hook_pos_ctrmm < __flexiblas_hooks->ctrmm.nhook ) { ++ fn = __flexiblas_hooks->ctrmm.f77_hook_function[hook_pos_ctrmm]; ++ } else { ++ hook_pos_ctrmm = 0; ++ fn = current_backend->blas.ctrmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ctrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ctrmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrmv = 0; ++ + void FC_GLOBAL(ctrmv,CTRMV)(char* uplo, char* trans, char* diag, blasint* n, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -1121,6 +2243,40 @@ + + + ++void flexiblas_real_ctrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctrmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctrmv_"))); ++ ++ ++void flexiblas_chain_ctrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctrmv++; ++ if ( hook_pos_ctrmv < __flexiblas_hooks->ctrmv.nhook ) { ++ fn = __flexiblas_hooks->ctrmv.f77_hook_function[hook_pos_ctrmv]; ++ } else { ++ hook_pos_ctrmv = 0; ++ fn = current_backend->blas.ctrmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctrmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrsm = 0; ++ + void FC_GLOBAL(ctrsm,CTRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -1147,6 +2303,40 @@ + + + ++void flexiblas_real_ctrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ctrsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ctrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ctrsm_"))); ++ ++ ++void flexiblas_chain_ctrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ctrsm++; ++ if ( hook_pos_ctrsm < __flexiblas_hooks->ctrsm.nhook ) { ++ fn = __flexiblas_hooks->ctrsm.f77_hook_function[hook_pos_ctrsm]; ++ } else { ++ hook_pos_ctrsm = 0; ++ fn = current_backend->blas.ctrsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ctrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ctrsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrsv = 0; ++ + void FC_GLOBAL(ctrsv,CTRSV)(char* uplo, char* trans, char* diag, blasint* n, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -1173,6 +2363,40 @@ + + + ++void flexiblas_real_ctrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctrsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctrsv_"))); ++ ++ ++void flexiblas_chain_ctrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctrsv++; ++ if ( hook_pos_ctrsv < __flexiblas_hooks->ctrsv.nhook ) { ++ fn = __flexiblas_hooks->ctrsv.f77_hook_function[hook_pos_ctrsv]; ++ } else { ++ hook_pos_ctrsv = 0; ++ fn = current_backend->blas.ctrsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctrsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dasum = 0; ++ + double FC_GLOBAL(dasum,DASUM)(blasint* n, double* dx, blasint* incx) + { + double (*fn) (void* n, void* dx, void* incx); +@@ -1200,6 +2424,42 @@ + + + ++double flexiblas_real_dasum_(void* n, void* dx, void* incx) ++{ ++ double (*fn) (void* n, void* dx, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dasum.f77_blas_function; ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dasum(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_real_dasum_"))); ++ ++ ++double flexiblas_chain_dasum_(void* n, void* dx, void* incx) ++{ ++ double (*fn) (void* n, void* dx, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dasum++; ++ if ( hook_pos_dasum < __flexiblas_hooks->dasum.nhook ) { ++ fn = __flexiblas_hooks->dasum.f77_hook_function[hook_pos_dasum]; ++ } else { ++ hook_pos_dasum = 0; ++ fn = current_backend->blas.dasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dasum(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_chain_dasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_daxpy = 0; ++ + void FC_GLOBAL(daxpy,DAXPY)(blasint* n, double* da, double* dx, blasint* incx, double* dy, blasint* incy) + { + void (*fn) (void* n, void* da, void* dx, void* incx, void* dy, void* incy); +@@ -1226,6 +2486,40 @@ + + + ++void flexiblas_real_daxpy_(void* n, void* da, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* dy, void* incy); ++ ++ fn = current_backend->blas.daxpy.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_daxpy(void* n, void* da, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_daxpy_"))); ++ ++ ++void flexiblas_chain_daxpy_(void* n, void* da, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* dy, void* incy); ++ ++ ++ ++ hook_pos_daxpy++; ++ if ( hook_pos_daxpy < __flexiblas_hooks->daxpy.nhook ) { ++ fn = __flexiblas_hooks->daxpy.f77_hook_function[hook_pos_daxpy]; ++ } else { ++ hook_pos_daxpy = 0; ++ fn = current_backend->blas.daxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_daxpy(void* n, void* da, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_daxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dcopy = 0; ++ + void FC_GLOBAL(dcopy,DCOPY)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); +@@ -1252,6 +2546,40 @@ + + + ++void flexiblas_real_dcopy_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ fn = current_backend->blas.dcopy.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dcopy(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_dcopy_"))); ++ ++ ++void flexiblas_chain_dcopy_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ ++ ++ hook_pos_dcopy++; ++ if ( hook_pos_dcopy < __flexiblas_hooks->dcopy.nhook ) { ++ fn = __flexiblas_hooks->dcopy.f77_hook_function[hook_pos_dcopy]; ++ } else { ++ hook_pos_dcopy = 0; ++ fn = current_backend->blas.dcopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dcopy(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_dcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ddot = 0; ++ + double FC_GLOBAL(ddot,DDOT)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy) + { + double (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); +@@ -1279,6 +2607,42 @@ + + + ++double flexiblas_real_ddot_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ double (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ double ret; ++ ++ fn = current_backend->blas.ddot.f77_blas_function; ++ ret = fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_real_ddot(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_ddot_"))); ++ ++ ++double flexiblas_chain_ddot_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ double (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ double ret; ++ ++ ++ ++ hook_pos_ddot++; ++ if ( hook_pos_ddot < __flexiblas_hooks->ddot.nhook ) { ++ fn = __flexiblas_hooks->ddot.f77_hook_function[hook_pos_ddot]; ++ } else { ++ hook_pos_ddot = 0; ++ fn = current_backend->blas.ddot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_chain_ddot(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_ddot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgbmv = 0; ++ + void FC_GLOBAL(dgbmv,DGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1305,6 +2669,40 @@ + + + ++void flexiblas_real_dgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dgbmv_"))); ++ ++ ++void flexiblas_chain_dgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dgbmv++; ++ if ( hook_pos_dgbmv < __flexiblas_hooks->dgbmv.nhook ) { ++ fn = __flexiblas_hooks->dgbmv.f77_hook_function[hook_pos_dgbmv]; ++ } else { ++ hook_pos_dgbmv = 0; ++ fn = current_backend->blas.dgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgemm = 0; ++ + void FC_GLOBAL(dgemm,DGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* b, blasint* ldb, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -1331,6 +2729,40 @@ + + + ++void flexiblas_real_dgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dgemm_"))); ++ ++ ++void flexiblas_chain_dgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dgemm++; ++ if ( hook_pos_dgemm < __flexiblas_hooks->dgemm.nhook ) { ++ fn = __flexiblas_hooks->dgemm.f77_hook_function[hook_pos_dgemm]; ++ } else { ++ hook_pos_dgemm = 0; ++ fn = current_backend->blas.dgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgemv = 0; ++ + void FC_GLOBAL(dgemv,DGEMV)(char* trans, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1357,6 +2789,40 @@ + + + ++void flexiblas_real_dgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dgemv_"))); ++ ++ ++void flexiblas_chain_dgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dgemv++; ++ if ( hook_pos_dgemv < __flexiblas_hooks->dgemv.nhook ) { ++ fn = __flexiblas_hooks->dgemv.f77_hook_function[hook_pos_dgemv]; ++ } else { ++ hook_pos_dgemv = 0; ++ fn = current_backend->blas.dgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dger = 0; ++ + void FC_GLOBAL(dger,DGER)(blasint* m, blasint* n, double* alpha, double* x, blasint* incx, double* y, blasint* incy, double* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -1383,6 +2849,40 @@ + + + ++void flexiblas_real_dger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.dger.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_dger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_dger_"))); ++ ++ ++void flexiblas_chain_dger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_dger++; ++ if ( hook_pos_dger < __flexiblas_hooks->dger.nhook ) { ++ fn = __flexiblas_hooks->dger.f77_hook_function[hook_pos_dger]; ++ } else { ++ hook_pos_dger = 0; ++ fn = current_backend->blas.dger.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_dger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_dger_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dnrm2 = 0; ++ + double FC_GLOBAL(dnrm2,DNRM2)(blasint* n, double* x, blasint* incx) + { + double (*fn) (void* n, void* x, void* incx); +@@ -1410,6 +2910,42 @@ + + + ++double flexiblas_real_dnrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dnrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_dnrm2_"))); ++ ++ ++double flexiblas_chain_dnrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dnrm2++; ++ if ( hook_pos_dnrm2 < __flexiblas_hooks->dnrm2.nhook ) { ++ fn = __flexiblas_hooks->dnrm2.f77_hook_function[hook_pos_dnrm2]; ++ } else { ++ hook_pos_dnrm2 = 0; ++ fn = current_backend->blas.dnrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_dnrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drot = 0; ++ + void FC_GLOBAL(drot,DROT)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy, double* c, double* s) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s); +@@ -1436,6 +2972,40 @@ + + + ++void flexiblas_real_drot_(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.drot.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_drot(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_drot_"))); ++ ++ ++void flexiblas_chain_drot_(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_drot++; ++ if ( hook_pos_drot < __flexiblas_hooks->drot.nhook ) { ++ fn = __flexiblas_hooks->drot.f77_hook_function[hook_pos_drot]; ++ } else { ++ hook_pos_drot = 0; ++ fn = current_backend->blas.drot.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_drot(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_drot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drotg = 0; ++ + void FC_GLOBAL(drotg,DROTG)(double* da, double* db, double* c, double* s) + { + void (*fn) (void* da, void* db, void* c, void* s); +@@ -1462,6 +3032,40 @@ + + + ++void flexiblas_real_drotg_(void* da, void* db, void* c, void* s) ++{ ++ void (*fn) (void* da, void* db, void* c, void* s); ++ ++ fn = current_backend->blas.drotg.f77_blas_function; ++ fn((void*) da, (void*) db, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_drotg(void* da, void* db, void* c, void* s) __attribute__((alias("flexiblas_real_drotg_"))); ++ ++ ++void flexiblas_chain_drotg_(void* da, void* db, void* c, void* s) ++{ ++ void (*fn) (void* da, void* db, void* c, void* s); ++ ++ ++ ++ hook_pos_drotg++; ++ if ( hook_pos_drotg < __flexiblas_hooks->drotg.nhook ) { ++ fn = __flexiblas_hooks->drotg.f77_hook_function[hook_pos_drotg]; ++ } else { ++ hook_pos_drotg = 0; ++ fn = current_backend->blas.drotg.f77_blas_function; ++ } ++ fn((void*) da, (void*) db, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_drotg(void* da, void* db, void* c, void* s) __attribute__((alias("flexiblas_chain_drotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drotm = 0; ++ + void FC_GLOBAL(drotm,DROTM)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy, double* dparam) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* dparam); +@@ -1488,6 +3092,40 @@ + + + ++void flexiblas_real_drotm_(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* dparam); ++ ++ fn = current_backend->blas.drotm.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) dparam); ++ ++ return; ++} ++void flexiblas_real_drotm(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) __attribute__((alias("flexiblas_real_drotm_"))); ++ ++ ++void flexiblas_chain_drotm_(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* dparam); ++ ++ ++ ++ hook_pos_drotm++; ++ if ( hook_pos_drotm < __flexiblas_hooks->drotm.nhook ) { ++ fn = __flexiblas_hooks->drotm.f77_hook_function[hook_pos_drotm]; ++ } else { ++ hook_pos_drotm = 0; ++ fn = current_backend->blas.drotm.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) dparam); ++ ++ return; ++} ++void flexiblas_chain_drotm(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) __attribute__((alias("flexiblas_chain_drotm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drotmg = 0; ++ + void FC_GLOBAL(drotmg,DROTMG)(double* dd1, double* dd2, double* dx1, double* dy1, double* dparam) + { + void (*fn) (void* dd1, void* dd2, void* dx1, void* dy1, void* dparam); +@@ -1514,6 +3152,40 @@ + + + ++void flexiblas_real_drotmg_(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) ++{ ++ void (*fn) (void* dd1, void* dd2, void* dx1, void* dy1, void* dparam); ++ ++ fn = current_backend->blas.drotmg.f77_blas_function; ++ fn((void*) dd1, (void*) dd2, (void*) dx1, (void*) dy1, (void*) dparam); ++ ++ return; ++} ++void flexiblas_real_drotmg(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) __attribute__((alias("flexiblas_real_drotmg_"))); ++ ++ ++void flexiblas_chain_drotmg_(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) ++{ ++ void (*fn) (void* dd1, void* dd2, void* dx1, void* dy1, void* dparam); ++ ++ ++ ++ hook_pos_drotmg++; ++ if ( hook_pos_drotmg < __flexiblas_hooks->drotmg.nhook ) { ++ fn = __flexiblas_hooks->drotmg.f77_hook_function[hook_pos_drotmg]; ++ } else { ++ hook_pos_drotmg = 0; ++ fn = current_backend->blas.drotmg.f77_blas_function; ++ } ++ fn((void*) dd1, (void*) dd2, (void*) dx1, (void*) dy1, (void*) dparam); ++ ++ return; ++} ++void flexiblas_chain_drotmg(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) __attribute__((alias("flexiblas_chain_drotmg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsbmv = 0; ++ + void FC_GLOBAL(dsbmv,DSBMV)(char* uplo, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1540,6 +3212,40 @@ + + + ++void flexiblas_real_dsbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dsbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dsbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dsbmv_"))); ++ ++ ++void flexiblas_chain_dsbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dsbmv++; ++ if ( hook_pos_dsbmv < __flexiblas_hooks->dsbmv.nhook ) { ++ fn = __flexiblas_hooks->dsbmv.f77_hook_function[hook_pos_dsbmv]; ++ } else { ++ hook_pos_dsbmv = 0; ++ fn = current_backend->blas.dsbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dsbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dsbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dscal = 0; ++ + void FC_GLOBAL(dscal,DSCAL)(blasint* n, double* da, double* dx, blasint* incx) + { + void (*fn) (void* n, void* da, void* dx, void* incx); +@@ -1566,6 +3272,40 @@ + + + ++void flexiblas_real_dscal_(void* n, void* da, void* dx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx); ++ ++ fn = current_backend->blas.dscal.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dscal(void* n, void* da, void* dx, void* incx) __attribute__((alias("flexiblas_real_dscal_"))); ++ ++ ++void flexiblas_chain_dscal_(void* n, void* da, void* dx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx); ++ ++ ++ ++ hook_pos_dscal++; ++ if ( hook_pos_dscal < __flexiblas_hooks->dscal.nhook ) { ++ fn = __flexiblas_hooks->dscal.f77_hook_function[hook_pos_dscal]; ++ } else { ++ hook_pos_dscal = 0; ++ fn = current_backend->blas.dscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dscal(void* n, void* da, void* dx, void* incx) __attribute__((alias("flexiblas_chain_dscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsdot = 0; ++ + double FC_GLOBAL(dsdot,DSDOT)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + double (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -1593,6 +3333,42 @@ + + + ++double flexiblas_real_dsdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ double (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ double ret; ++ ++ fn = current_backend->blas.dsdot.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_real_dsdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_dsdot_"))); ++ ++ ++double flexiblas_chain_dsdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ double (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ double ret; ++ ++ ++ ++ hook_pos_dsdot++; ++ if ( hook_pos_dsdot < __flexiblas_hooks->dsdot.nhook ) { ++ fn = __flexiblas_hooks->dsdot.f77_hook_function[hook_pos_dsdot]; ++ } else { ++ hook_pos_dsdot = 0; ++ fn = current_backend->blas.dsdot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_chain_dsdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_dsdot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dspmv = 0; ++ + void FC_GLOBAL(dspmv,DSPMV)(char* uplo, blasint* n, double* alpha, double* ap, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1619,6 +3395,40 @@ + + + ++void flexiblas_real_dspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dspmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dspmv_"))); ++ ++ ++void flexiblas_chain_dspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dspmv++; ++ if ( hook_pos_dspmv < __flexiblas_hooks->dspmv.nhook ) { ++ fn = __flexiblas_hooks->dspmv.f77_hook_function[hook_pos_dspmv]; ++ } else { ++ hook_pos_dspmv = 0; ++ fn = current_backend->blas.dspmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dspmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dspr = 0; ++ + void FC_GLOBAL(dspr,DSPR)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -1645,6 +3455,40 @@ + + + ++void flexiblas_real_dspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.dspr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_dspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_dspr_"))); ++ ++ ++void flexiblas_chain_dspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_dspr++; ++ if ( hook_pos_dspr < __flexiblas_hooks->dspr.nhook ) { ++ fn = __flexiblas_hooks->dspr.f77_hook_function[hook_pos_dspr]; ++ } else { ++ hook_pos_dspr = 0; ++ fn = current_backend->blas.dspr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_dspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_dspr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dspr2 = 0; ++ + void FC_GLOBAL(dspr2,DSPR2)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* y, blasint* incy, double* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -1671,6 +3515,40 @@ + + + ++void flexiblas_real_dspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.dspr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_dspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_dspr2_"))); ++ ++ ++void flexiblas_chain_dspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_dspr2++; ++ if ( hook_pos_dspr2 < __flexiblas_hooks->dspr2.nhook ) { ++ fn = __flexiblas_hooks->dspr2.f77_hook_function[hook_pos_dspr2]; ++ } else { ++ hook_pos_dspr2 = 0; ++ fn = current_backend->blas.dspr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_dspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_dspr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dswap = 0; ++ + void FC_GLOBAL(dswap,DSWAP)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); +@@ -1697,6 +3575,40 @@ + + + ++void flexiblas_real_dswap_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ fn = current_backend->blas.dswap.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dswap(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_dswap_"))); ++ ++ ++void flexiblas_chain_dswap_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ ++ ++ hook_pos_dswap++; ++ if ( hook_pos_dswap < __flexiblas_hooks->dswap.nhook ) { ++ fn = __flexiblas_hooks->dswap.f77_hook_function[hook_pos_dswap]; ++ } else { ++ hook_pos_dswap = 0; ++ fn = current_backend->blas.dswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dswap(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_dswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsymm = 0; ++ + void FC_GLOBAL(dsymm,DSYMM)(char* side, char* uplo, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* b, blasint* ldb, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -1723,6 +3635,40 @@ + + + ++void flexiblas_real_dsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dsymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dsymm_"))); ++ ++ ++void flexiblas_chain_dsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dsymm++; ++ if ( hook_pos_dsymm < __flexiblas_hooks->dsymm.nhook ) { ++ fn = __flexiblas_hooks->dsymm.f77_hook_function[hook_pos_dsymm]; ++ } else { ++ hook_pos_dsymm = 0; ++ fn = current_backend->blas.dsymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dsymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsymv = 0; ++ + void FC_GLOBAL(dsymv,DSYMV)(char* uplo, blasint* n, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1749,6 +3695,40 @@ + + + ++void flexiblas_real_dsymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dsymv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dsymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dsymv_"))); ++ ++ ++void flexiblas_chain_dsymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dsymv++; ++ if ( hook_pos_dsymv < __flexiblas_hooks->dsymv.nhook ) { ++ fn = __flexiblas_hooks->dsymv.f77_hook_function[hook_pos_dsymv]; ++ } else { ++ hook_pos_dsymv = 0; ++ fn = current_backend->blas.dsymv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dsymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dsymv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyr = 0; ++ + void FC_GLOBAL(dsyr,DSYR)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -1775,6 +3755,40 @@ + + + ++void flexiblas_real_dsyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.dsyr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_dsyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_dsyr_"))); ++ ++ ++void flexiblas_chain_dsyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_dsyr++; ++ if ( hook_pos_dsyr < __flexiblas_hooks->dsyr.nhook ) { ++ fn = __flexiblas_hooks->dsyr.f77_hook_function[hook_pos_dsyr]; ++ } else { ++ hook_pos_dsyr = 0; ++ fn = current_backend->blas.dsyr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_dsyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_dsyr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyr2 = 0; ++ + void FC_GLOBAL(dsyr2,DSYR2)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* y, blasint* incy, double* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -1801,6 +3815,40 @@ + + + ++void flexiblas_real_dsyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.dsyr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_dsyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_dsyr2_"))); ++ ++ ++void flexiblas_chain_dsyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_dsyr2++; ++ if ( hook_pos_dsyr2 < __flexiblas_hooks->dsyr2.nhook ) { ++ fn = __flexiblas_hooks->dsyr2.f77_hook_function[hook_pos_dsyr2]; ++ } else { ++ hook_pos_dsyr2 = 0; ++ fn = current_backend->blas.dsyr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_dsyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_dsyr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyr2k = 0; ++ + void FC_GLOBAL(dsyr2k,DSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* b, blasint* ldb, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -1827,6 +3875,40 @@ + + + ++void flexiblas_real_dsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dsyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dsyr2k_"))); ++ ++ ++void flexiblas_chain_dsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dsyr2k++; ++ if ( hook_pos_dsyr2k < __flexiblas_hooks->dsyr2k.nhook ) { ++ fn = __flexiblas_hooks->dsyr2k.f77_hook_function[hook_pos_dsyr2k]; ++ } else { ++ hook_pos_dsyr2k = 0; ++ fn = current_backend->blas.dsyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dsyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyrk = 0; ++ + void FC_GLOBAL(dsyrk,DSYRK)(char* uplo, char* trans, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -1853,6 +3935,40 @@ + + + ++void flexiblas_real_dsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dsyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dsyrk_"))); ++ ++ ++void flexiblas_chain_dsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dsyrk++; ++ if ( hook_pos_dsyrk < __flexiblas_hooks->dsyrk.nhook ) { ++ fn = __flexiblas_hooks->dsyrk.f77_hook_function[hook_pos_dsyrk]; ++ } else { ++ hook_pos_dsyrk = 0; ++ fn = current_backend->blas.dsyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dsyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtbmv = 0; ++ + void FC_GLOBAL(dtbmv,DTBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -1879,6 +3995,40 @@ + + + ++void flexiblas_real_dtbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtbmv_"))); ++ ++ ++void flexiblas_chain_dtbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtbmv++; ++ if ( hook_pos_dtbmv < __flexiblas_hooks->dtbmv.nhook ) { ++ fn = __flexiblas_hooks->dtbmv.f77_hook_function[hook_pos_dtbmv]; ++ } else { ++ hook_pos_dtbmv = 0; ++ fn = current_backend->blas.dtbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtbsv = 0; ++ + void FC_GLOBAL(dtbsv,DTBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -1905,6 +4055,40 @@ + + + ++void flexiblas_real_dtbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtbsv_"))); ++ ++ ++void flexiblas_chain_dtbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtbsv++; ++ if ( hook_pos_dtbsv < __flexiblas_hooks->dtbsv.nhook ) { ++ fn = __flexiblas_hooks->dtbsv.f77_hook_function[hook_pos_dtbsv]; ++ } else { ++ hook_pos_dtbsv = 0; ++ fn = current_backend->blas.dtbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtpmv = 0; ++ + void FC_GLOBAL(dtpmv,DTPMV)(char* uplo, char* trans, char* diag, blasint* n, double* ap, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1931,6 +4115,40 @@ + + + ++void flexiblas_real_dtpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.dtpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_dtpmv_"))); ++ ++ ++void flexiblas_chain_dtpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtpmv++; ++ if ( hook_pos_dtpmv < __flexiblas_hooks->dtpmv.nhook ) { ++ fn = __flexiblas_hooks->dtpmv.f77_hook_function[hook_pos_dtpmv]; ++ } else { ++ hook_pos_dtpmv = 0; ++ fn = current_backend->blas.dtpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtpsv = 0; ++ + void FC_GLOBAL(dtpsv,DTPSV)(char* uplo, char* trans, char* diag, blasint* n, double* ap, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1957,6 +4175,40 @@ + + + ++void flexiblas_real_dtpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.dtpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_dtpsv_"))); ++ ++ ++void flexiblas_chain_dtpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtpsv++; ++ if ( hook_pos_dtpsv < __flexiblas_hooks->dtpsv.nhook ) { ++ fn = __flexiblas_hooks->dtpsv.f77_hook_function[hook_pos_dtpsv]; ++ } else { ++ hook_pos_dtpsv = 0; ++ fn = current_backend->blas.dtpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrmm = 0; ++ + void FC_GLOBAL(dtrmm,DTRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -1983,6 +4235,40 @@ + + + ++void flexiblas_real_dtrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.dtrmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dtrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_dtrmm_"))); ++ ++ ++void flexiblas_chain_dtrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_dtrmm++; ++ if ( hook_pos_dtrmm < __flexiblas_hooks->dtrmm.nhook ) { ++ fn = __flexiblas_hooks->dtrmm.f77_hook_function[hook_pos_dtrmm]; ++ } else { ++ hook_pos_dtrmm = 0; ++ fn = current_backend->blas.dtrmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dtrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_dtrmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrmv = 0; ++ + void FC_GLOBAL(dtrmv,DTRMV)(char* uplo, char* trans, char* diag, blasint* n, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -2009,6 +4295,40 @@ + + + ++void flexiblas_real_dtrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtrmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtrmv_"))); ++ ++ ++void flexiblas_chain_dtrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtrmv++; ++ if ( hook_pos_dtrmv < __flexiblas_hooks->dtrmv.nhook ) { ++ fn = __flexiblas_hooks->dtrmv.f77_hook_function[hook_pos_dtrmv]; ++ } else { ++ hook_pos_dtrmv = 0; ++ fn = current_backend->blas.dtrmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtrmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrsm = 0; ++ + void FC_GLOBAL(dtrsm,DTRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -2035,6 +4355,40 @@ + + + ++void flexiblas_real_dtrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.dtrsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dtrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_dtrsm_"))); ++ ++ ++void flexiblas_chain_dtrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_dtrsm++; ++ if ( hook_pos_dtrsm < __flexiblas_hooks->dtrsm.nhook ) { ++ fn = __flexiblas_hooks->dtrsm.f77_hook_function[hook_pos_dtrsm]; ++ } else { ++ hook_pos_dtrsm = 0; ++ fn = current_backend->blas.dtrsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dtrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_dtrsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrsv = 0; ++ + void FC_GLOBAL(dtrsv,DTRSV)(char* uplo, char* trans, char* diag, blasint* n, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -2061,6 +4415,40 @@ + + + ++void flexiblas_real_dtrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtrsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtrsv_"))); ++ ++ ++void flexiblas_chain_dtrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtrsv++; ++ if ( hook_pos_dtrsv < __flexiblas_hooks->dtrsv.nhook ) { ++ fn = __flexiblas_hooks->dtrsv.f77_hook_function[hook_pos_dtrsv]; ++ } else { ++ hook_pos_dtrsv = 0; ++ fn = current_backend->blas.dtrsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtrsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dzasum = 0; ++ + double FC_GLOBAL(dzasum,DZASUM)(blasint* n, double complex* zx, blasint* incx) + { + double (*fn) (void* n, void* zx, void* incx); +@@ -2088,6 +4476,42 @@ + + + ++double flexiblas_real_dzasum_(void* n, void* zx, void* incx) ++{ ++ double (*fn) (void* n, void* zx, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dzasum.f77_blas_function; ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dzasum(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_real_dzasum_"))); ++ ++ ++double flexiblas_chain_dzasum_(void* n, void* zx, void* incx) ++{ ++ double (*fn) (void* n, void* zx, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dzasum++; ++ if ( hook_pos_dzasum < __flexiblas_hooks->dzasum.nhook ) { ++ fn = __flexiblas_hooks->dzasum.f77_hook_function[hook_pos_dzasum]; ++ } else { ++ hook_pos_dzasum = 0; ++ fn = current_backend->blas.dzasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dzasum(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_chain_dzasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dznrm2 = 0; ++ + double FC_GLOBAL(dznrm2,DZNRM2)(blasint* n, double complex* x, blasint* incx) + { + double (*fn) (void* n, void* x, void* incx); +@@ -2115,6 +4539,42 @@ + + + ++double flexiblas_real_dznrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dznrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dznrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_dznrm2_"))); ++ ++ ++double flexiblas_chain_dznrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dznrm2++; ++ if ( hook_pos_dznrm2 < __flexiblas_hooks->dznrm2.nhook ) { ++ fn = __flexiblas_hooks->dznrm2.f77_hook_function[hook_pos_dznrm2]; ++ } else { ++ hook_pos_dznrm2 = 0; ++ fn = current_backend->blas.dznrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dznrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_dznrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_icamax = 0; ++ + int FC_GLOBAL(icamax,ICAMAX)(blasint* n, float complex* cx, blasint* incx) + { + blasint (*fn) (void* n, void* cx, void* incx); +@@ -2142,6 +4602,42 @@ + + + ++blasint flexiblas_real_icamax_(void* n, void* cx, void* incx) ++{ ++ blasint (*fn) (void* n, void* cx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.icamax.f77_blas_function; ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_icamax(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_real_icamax_"))); ++ ++ ++blasint flexiblas_chain_icamax_(void* n, void* cx, void* incx) ++{ ++ blasint (*fn) (void* n, void* cx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_icamax++; ++ if ( hook_pos_icamax < __flexiblas_hooks->icamax.nhook ) { ++ fn = __flexiblas_hooks->icamax.f77_hook_function[hook_pos_icamax]; ++ } else { ++ hook_pos_icamax = 0; ++ fn = current_backend->blas.icamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_icamax(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_chain_icamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_idamax = 0; ++ + int FC_GLOBAL(idamax,IDAMAX)(blasint* n, double* dx, blasint* incx) + { + blasint (*fn) (void* n, void* dx, void* incx); +@@ -2169,6 +4665,42 @@ + + + ++blasint flexiblas_real_idamax_(void* n, void* dx, void* incx) ++{ ++ blasint (*fn) (void* n, void* dx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.idamax.f77_blas_function; ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_idamax(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_real_idamax_"))); ++ ++ ++blasint flexiblas_chain_idamax_(void* n, void* dx, void* incx) ++{ ++ blasint (*fn) (void* n, void* dx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_idamax++; ++ if ( hook_pos_idamax < __flexiblas_hooks->idamax.nhook ) { ++ fn = __flexiblas_hooks->idamax.f77_hook_function[hook_pos_idamax]; ++ } else { ++ hook_pos_idamax = 0; ++ fn = current_backend->blas.idamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_idamax(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_chain_idamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_isamax = 0; ++ + int FC_GLOBAL(isamax,ISAMAX)(blasint* n, float* sx, blasint* incx) + { + blasint (*fn) (void* n, void* sx, void* incx); +@@ -2196,6 +4728,42 @@ + + + ++blasint flexiblas_real_isamax_(void* n, void* sx, void* incx) ++{ ++ blasint (*fn) (void* n, void* sx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.isamax.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_isamax(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_real_isamax_"))); ++ ++ ++blasint flexiblas_chain_isamax_(void* n, void* sx, void* incx) ++{ ++ blasint (*fn) (void* n, void* sx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_isamax++; ++ if ( hook_pos_isamax < __flexiblas_hooks->isamax.nhook ) { ++ fn = __flexiblas_hooks->isamax.f77_hook_function[hook_pos_isamax]; ++ } else { ++ hook_pos_isamax = 0; ++ fn = current_backend->blas.isamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_isamax(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_chain_isamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_izamax = 0; ++ + int FC_GLOBAL(izamax,IZAMAX)(blasint* n, double complex* zx, blasint* incx) + { + blasint (*fn) (void* n, void* zx, void* incx); +@@ -2223,6 +4791,42 @@ + + + ++blasint flexiblas_real_izamax_(void* n, void* zx, void* incx) ++{ ++ blasint (*fn) (void* n, void* zx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.izamax.f77_blas_function; ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_izamax(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_real_izamax_"))); ++ ++ ++blasint flexiblas_chain_izamax_(void* n, void* zx, void* incx) ++{ ++ blasint (*fn) (void* n, void* zx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_izamax++; ++ if ( hook_pos_izamax < __flexiblas_hooks->izamax.nhook ) { ++ fn = __flexiblas_hooks->izamax.f77_hook_function[hook_pos_izamax]; ++ } else { ++ hook_pos_izamax = 0; ++ fn = current_backend->blas.izamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_izamax(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_chain_izamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sasum = 0; ++ + float FC_GLOBAL(sasum,SASUM)(blasint* n, float* sx, blasint* incx) + { + float (*fn) (void* n, void* sx, void* incx); +@@ -2250,6 +4854,42 @@ + + + ++float flexiblas_real_sasum_(void* n, void* sx, void* incx) ++{ ++ float (*fn) (void* n, void* sx, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.sasum.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_sasum(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_real_sasum_"))); ++ ++ ++float flexiblas_chain_sasum_(void* n, void* sx, void* incx) ++{ ++ float (*fn) (void* n, void* sx, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_sasum++; ++ if ( hook_pos_sasum < __flexiblas_hooks->sasum.nhook ) { ++ fn = __flexiblas_hooks->sasum.f77_hook_function[hook_pos_sasum]; ++ } else { ++ hook_pos_sasum = 0; ++ fn = current_backend->blas.sasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_sasum(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_chain_sasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_saxpy = 0; ++ + void FC_GLOBAL(saxpy,SAXPY)(blasint* n, float* sa, float* sx, blasint* incx, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sa, void* sx, void* incx, void* sy, void* incy); +@@ -2276,6 +4916,40 @@ + + + ++void flexiblas_real_saxpy_(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sy, void* incy); ++ ++ fn = current_backend->blas.saxpy.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_saxpy(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_saxpy_"))); ++ ++ ++void flexiblas_chain_saxpy_(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sy, void* incy); ++ ++ ++ ++ hook_pos_saxpy++; ++ if ( hook_pos_saxpy < __flexiblas_hooks->saxpy.nhook ) { ++ fn = __flexiblas_hooks->saxpy.f77_hook_function[hook_pos_saxpy]; ++ } else { ++ hook_pos_saxpy = 0; ++ fn = current_backend->blas.saxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_saxpy(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_saxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_scasum = 0; ++ + float FC_GLOBAL(scasum,SCASUM)(blasint* n, float complex* cx, blasint* incx) + { + float (*fn) (void* n, void* cx, void* incx); +@@ -2303,6 +4977,42 @@ + + + ++float flexiblas_real_scasum_(void* n, void* cx, void* incx) ++{ ++ float (*fn) (void* n, void* cx, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.scasum.f77_blas_function; ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_scasum(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_real_scasum_"))); ++ ++ ++float flexiblas_chain_scasum_(void* n, void* cx, void* incx) ++{ ++ float (*fn) (void* n, void* cx, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_scasum++; ++ if ( hook_pos_scasum < __flexiblas_hooks->scasum.nhook ) { ++ fn = __flexiblas_hooks->scasum.f77_hook_function[hook_pos_scasum]; ++ } else { ++ hook_pos_scasum = 0; ++ fn = current_backend->blas.scasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_scasum(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_chain_scasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_scnrm2 = 0; ++ + float FC_GLOBAL(scnrm2,SCNRM2)(blasint* n, float complex* x, blasint* incx) + { + float (*fn) (void* n, void* x, void* incx); +@@ -2330,6 +5040,42 @@ + + + ++float flexiblas_real_scnrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.scnrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_scnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_scnrm2_"))); ++ ++ ++float flexiblas_chain_scnrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_scnrm2++; ++ if ( hook_pos_scnrm2 < __flexiblas_hooks->scnrm2.nhook ) { ++ fn = __flexiblas_hooks->scnrm2.f77_hook_function[hook_pos_scnrm2]; ++ } else { ++ hook_pos_scnrm2 = 0; ++ fn = current_backend->blas.scnrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_scnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_scnrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_scopy = 0; ++ + void FC_GLOBAL(scopy,SCOPY)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -2356,6 +5102,40 @@ + + + ++void flexiblas_real_scopy_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ fn = current_backend->blas.scopy.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_scopy(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_scopy_"))); ++ ++ ++void flexiblas_chain_scopy_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ ++ ++ hook_pos_scopy++; ++ if ( hook_pos_scopy < __flexiblas_hooks->scopy.nhook ) { ++ fn = __flexiblas_hooks->scopy.f77_hook_function[hook_pos_scopy]; ++ } else { ++ hook_pos_scopy = 0; ++ fn = current_backend->blas.scopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_scopy(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_scopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sdot = 0; ++ + float FC_GLOBAL(sdot,SDOT)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + float (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -2383,6 +5163,42 @@ + + + ++float flexiblas_real_sdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ fn = current_backend->blas.sdot.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_real_sdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_sdot_"))); ++ ++ ++float flexiblas_chain_sdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ ++ ++ hook_pos_sdot++; ++ if ( hook_pos_sdot < __flexiblas_hooks->sdot.nhook ) { ++ fn = __flexiblas_hooks->sdot.f77_hook_function[hook_pos_sdot]; ++ } else { ++ hook_pos_sdot = 0; ++ fn = current_backend->blas.sdot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_chain_sdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_sdot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sdsdot = 0; ++ + float FC_GLOBAL(sdsdot,SDSDOT)(blasint* n, float* sb, float* sx, blasint* incx, float* sy, blasint* incy) + { + float (*fn) (void* n, void* sb, void* sx, void* incx, void* sy, void* incy); +@@ -2410,6 +5226,42 @@ + + + ++float flexiblas_real_sdsdot_(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sb, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ fn = current_backend->blas.sdsdot.f77_blas_function; ++ ret = fn((void*) n, (void*) sb, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_real_sdsdot(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_sdsdot_"))); ++ ++ ++float flexiblas_chain_sdsdot_(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sb, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ ++ ++ hook_pos_sdsdot++; ++ if ( hook_pos_sdsdot < __flexiblas_hooks->sdsdot.nhook ) { ++ fn = __flexiblas_hooks->sdsdot.f77_hook_function[hook_pos_sdsdot]; ++ } else { ++ hook_pos_sdsdot = 0; ++ fn = current_backend->blas.sdsdot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sb, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_chain_sdsdot(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_sdsdot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgbmv = 0; ++ + void FC_GLOBAL(sgbmv,SGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2436,6 +5288,40 @@ + + + ++void flexiblas_real_sgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.sgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_sgbmv_"))); ++ ++ ++void flexiblas_chain_sgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_sgbmv++; ++ if ( hook_pos_sgbmv < __flexiblas_hooks->sgbmv.nhook ) { ++ fn = __flexiblas_hooks->sgbmv.f77_hook_function[hook_pos_sgbmv]; ++ } else { ++ hook_pos_sgbmv = 0; ++ fn = current_backend->blas.sgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_sgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgemm = 0; ++ + void FC_GLOBAL(sgemm,SGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* b, blasint* ldb, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -2462,6 +5348,40 @@ + + + ++void flexiblas_real_sgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.sgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_sgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_sgemm_"))); ++ ++ ++void flexiblas_chain_sgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_sgemm++; ++ if ( hook_pos_sgemm < __flexiblas_hooks->sgemm.nhook ) { ++ fn = __flexiblas_hooks->sgemm.f77_hook_function[hook_pos_sgemm]; ++ } else { ++ hook_pos_sgemm = 0; ++ fn = current_backend->blas.sgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_sgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_sgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgemv = 0; ++ + void FC_GLOBAL(sgemv,SGEMV)(char* trans, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2488,6 +5408,40 @@ + + + ++void flexiblas_real_sgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.sgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_sgemv_"))); ++ ++ ++void flexiblas_chain_sgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_sgemv++; ++ if ( hook_pos_sgemv < __flexiblas_hooks->sgemv.nhook ) { ++ fn = __flexiblas_hooks->sgemv.f77_hook_function[hook_pos_sgemv]; ++ } else { ++ hook_pos_sgemv = 0; ++ fn = current_backend->blas.sgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_sgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sger = 0; ++ + void FC_GLOBAL(sger,SGER)(blasint* m, blasint* n, float* alpha, float* x, blasint* incx, float* y, blasint* incy, float* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -2514,6 +5468,40 @@ + + + ++void flexiblas_real_sger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.sger.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_sger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_sger_"))); ++ ++ ++void flexiblas_chain_sger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_sger++; ++ if ( hook_pos_sger < __flexiblas_hooks->sger.nhook ) { ++ fn = __flexiblas_hooks->sger.f77_hook_function[hook_pos_sger]; ++ } else { ++ hook_pos_sger = 0; ++ fn = current_backend->blas.sger.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_sger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_sger_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_snrm2 = 0; ++ + float FC_GLOBAL(snrm2,SNRM2)(blasint* n, float* x, blasint* incx) + { + float (*fn) (void* n, void* x, void* incx); +@@ -2541,6 +5529,42 @@ + + + ++float flexiblas_real_snrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.snrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_snrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_snrm2_"))); ++ ++ ++float flexiblas_chain_snrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_snrm2++; ++ if ( hook_pos_snrm2 < __flexiblas_hooks->snrm2.nhook ) { ++ fn = __flexiblas_hooks->snrm2.f77_hook_function[hook_pos_snrm2]; ++ } else { ++ hook_pos_snrm2 = 0; ++ fn = current_backend->blas.snrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_snrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_snrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srot = 0; ++ + void FC_GLOBAL(srot,SROT)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy, float* c, float* s) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s); +@@ -2567,6 +5591,40 @@ + + + ++void flexiblas_real_srot_(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.srot.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_srot(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_srot_"))); ++ ++ ++void flexiblas_chain_srot_(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_srot++; ++ if ( hook_pos_srot < __flexiblas_hooks->srot.nhook ) { ++ fn = __flexiblas_hooks->srot.f77_hook_function[hook_pos_srot]; ++ } else { ++ hook_pos_srot = 0; ++ fn = current_backend->blas.srot.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_srot(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_srot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srotg = 0; ++ + void FC_GLOBAL(srotg,SROTG)(float* sa, float* sb, float* c, float* s) + { + void (*fn) (void* sa, void* sb, void* c, void* s); +@@ -2593,6 +5651,40 @@ + + + ++void flexiblas_real_srotg_(void* sa, void* sb, void* c, void* s) ++{ ++ void (*fn) (void* sa, void* sb, void* c, void* s); ++ ++ fn = current_backend->blas.srotg.f77_blas_function; ++ fn((void*) sa, (void*) sb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_srotg(void* sa, void* sb, void* c, void* s) __attribute__((alias("flexiblas_real_srotg_"))); ++ ++ ++void flexiblas_chain_srotg_(void* sa, void* sb, void* c, void* s) ++{ ++ void (*fn) (void* sa, void* sb, void* c, void* s); ++ ++ ++ ++ hook_pos_srotg++; ++ if ( hook_pos_srotg < __flexiblas_hooks->srotg.nhook ) { ++ fn = __flexiblas_hooks->srotg.f77_hook_function[hook_pos_srotg]; ++ } else { ++ hook_pos_srotg = 0; ++ fn = current_backend->blas.srotg.f77_blas_function; ++ } ++ fn((void*) sa, (void*) sb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_srotg(void* sa, void* sb, void* c, void* s) __attribute__((alias("flexiblas_chain_srotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srotm = 0; ++ + void FC_GLOBAL(srotm,SROTM)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy, float* sparam) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* sparam); +@@ -2619,6 +5711,40 @@ + + + ++void flexiblas_real_srotm_(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* sparam); ++ ++ fn = current_backend->blas.srotm.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) sparam); ++ ++ return; ++} ++void flexiblas_real_srotm(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) __attribute__((alias("flexiblas_real_srotm_"))); ++ ++ ++void flexiblas_chain_srotm_(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* sparam); ++ ++ ++ ++ hook_pos_srotm++; ++ if ( hook_pos_srotm < __flexiblas_hooks->srotm.nhook ) { ++ fn = __flexiblas_hooks->srotm.f77_hook_function[hook_pos_srotm]; ++ } else { ++ hook_pos_srotm = 0; ++ fn = current_backend->blas.srotm.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) sparam); ++ ++ return; ++} ++void flexiblas_chain_srotm(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) __attribute__((alias("flexiblas_chain_srotm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srotmg = 0; ++ + void FC_GLOBAL(srotmg,SROTMG)(float* sd1, float* sd2, float* sx1, float* sy1, float* sparam) + { + void (*fn) (void* sd1, void* sd2, void* sx1, void* sy1, void* sparam); +@@ -2645,6 +5771,40 @@ + + + ++void flexiblas_real_srotmg_(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) ++{ ++ void (*fn) (void* sd1, void* sd2, void* sx1, void* sy1, void* sparam); ++ ++ fn = current_backend->blas.srotmg.f77_blas_function; ++ fn((void*) sd1, (void*) sd2, (void*) sx1, (void*) sy1, (void*) sparam); ++ ++ return; ++} ++void flexiblas_real_srotmg(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) __attribute__((alias("flexiblas_real_srotmg_"))); ++ ++ ++void flexiblas_chain_srotmg_(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) ++{ ++ void (*fn) (void* sd1, void* sd2, void* sx1, void* sy1, void* sparam); ++ ++ ++ ++ hook_pos_srotmg++; ++ if ( hook_pos_srotmg < __flexiblas_hooks->srotmg.nhook ) { ++ fn = __flexiblas_hooks->srotmg.f77_hook_function[hook_pos_srotmg]; ++ } else { ++ hook_pos_srotmg = 0; ++ fn = current_backend->blas.srotmg.f77_blas_function; ++ } ++ fn((void*) sd1, (void*) sd2, (void*) sx1, (void*) sy1, (void*) sparam); ++ ++ return; ++} ++void flexiblas_chain_srotmg(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) __attribute__((alias("flexiblas_chain_srotmg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssbmv = 0; ++ + void FC_GLOBAL(ssbmv,SSBMV)(char* uplo, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2671,6 +5831,40 @@ + + + ++void flexiblas_real_ssbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.ssbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_ssbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_ssbmv_"))); ++ ++ ++void flexiblas_chain_ssbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_ssbmv++; ++ if ( hook_pos_ssbmv < __flexiblas_hooks->ssbmv.nhook ) { ++ fn = __flexiblas_hooks->ssbmv.f77_hook_function[hook_pos_ssbmv]; ++ } else { ++ hook_pos_ssbmv = 0; ++ fn = current_backend->blas.ssbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_ssbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_ssbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sscal = 0; ++ + void FC_GLOBAL(sscal,SSCAL)(blasint* n, float* sa, float* sx, blasint* incx) + { + void (*fn) (void* n, void* sa, void* sx, void* incx); +@@ -2697,6 +5891,40 @@ + + + ++void flexiblas_real_sscal_(void* n, void* sa, void* sx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx); ++ ++ fn = current_backend->blas.sscal.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_sscal(void* n, void* sa, void* sx, void* incx) __attribute__((alias("flexiblas_real_sscal_"))); ++ ++ ++void flexiblas_chain_sscal_(void* n, void* sa, void* sx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx); ++ ++ ++ ++ hook_pos_sscal++; ++ if ( hook_pos_sscal < __flexiblas_hooks->sscal.nhook ) { ++ fn = __flexiblas_hooks->sscal.f77_hook_function[hook_pos_sscal]; ++ } else { ++ hook_pos_sscal = 0; ++ fn = current_backend->blas.sscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_sscal(void* n, void* sa, void* sx, void* incx) __attribute__((alias("flexiblas_chain_sscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sspmv = 0; ++ + void FC_GLOBAL(sspmv,SSPMV)(char* uplo, blasint* n, float* alpha, float* ap, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2723,6 +5951,40 @@ + + + ++void flexiblas_real_sspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.sspmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_sspmv_"))); ++ ++ ++void flexiblas_chain_sspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_sspmv++; ++ if ( hook_pos_sspmv < __flexiblas_hooks->sspmv.nhook ) { ++ fn = __flexiblas_hooks->sspmv.f77_hook_function[hook_pos_sspmv]; ++ } else { ++ hook_pos_sspmv = 0; ++ fn = current_backend->blas.sspmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_sspmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sspr = 0; ++ + void FC_GLOBAL(sspr,SSPR)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -2749,6 +6011,40 @@ + + + ++void flexiblas_real_sspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.sspr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_sspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_sspr_"))); ++ ++ ++void flexiblas_chain_sspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_sspr++; ++ if ( hook_pos_sspr < __flexiblas_hooks->sspr.nhook ) { ++ fn = __flexiblas_hooks->sspr.f77_hook_function[hook_pos_sspr]; ++ } else { ++ hook_pos_sspr = 0; ++ fn = current_backend->blas.sspr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_sspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_sspr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sspr2 = 0; ++ + void FC_GLOBAL(sspr2,SSPR2)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* y, blasint* incy, float* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -2775,6 +6071,40 @@ + + + ++void flexiblas_real_sspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.sspr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_sspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_sspr2_"))); ++ ++ ++void flexiblas_chain_sspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_sspr2++; ++ if ( hook_pos_sspr2 < __flexiblas_hooks->sspr2.nhook ) { ++ fn = __flexiblas_hooks->sspr2.f77_hook_function[hook_pos_sspr2]; ++ } else { ++ hook_pos_sspr2 = 0; ++ fn = current_backend->blas.sspr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_sspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_sspr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sswap = 0; ++ + void FC_GLOBAL(sswap,SSWAP)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -2801,6 +6131,40 @@ + + + ++void flexiblas_real_sswap_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ fn = current_backend->blas.sswap.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sswap(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_sswap_"))); ++ ++ ++void flexiblas_chain_sswap_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ ++ ++ hook_pos_sswap++; ++ if ( hook_pos_sswap < __flexiblas_hooks->sswap.nhook ) { ++ fn = __flexiblas_hooks->sswap.f77_hook_function[hook_pos_sswap]; ++ } else { ++ hook_pos_sswap = 0; ++ fn = current_backend->blas.sswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sswap(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_sswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssymm = 0; ++ + void FC_GLOBAL(ssymm,SSYMM)(char* side, char* uplo, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* b, blasint* ldb, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -2827,6 +6191,40 @@ + + + ++void flexiblas_real_ssymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.ssymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_ssymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_ssymm_"))); ++ ++ ++void flexiblas_chain_ssymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_ssymm++; ++ if ( hook_pos_ssymm < __flexiblas_hooks->ssymm.nhook ) { ++ fn = __flexiblas_hooks->ssymm.f77_hook_function[hook_pos_ssymm]; ++ } else { ++ hook_pos_ssymm = 0; ++ fn = current_backend->blas.ssymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_ssymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_ssymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssymv = 0; ++ + void FC_GLOBAL(ssymv,SSYMV)(char* uplo, blasint* n, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2853,6 +6251,40 @@ + + + ++void flexiblas_real_ssymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.ssymv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_ssymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_ssymv_"))); ++ ++ ++void flexiblas_chain_ssymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_ssymv++; ++ if ( hook_pos_ssymv < __flexiblas_hooks->ssymv.nhook ) { ++ fn = __flexiblas_hooks->ssymv.f77_hook_function[hook_pos_ssymv]; ++ } else { ++ hook_pos_ssymv = 0; ++ fn = current_backend->blas.ssymv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_ssymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_ssymv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyr = 0; ++ + void FC_GLOBAL(ssyr,SSYR)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -2879,6 +6311,40 @@ + + + ++void flexiblas_real_ssyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.ssyr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_ssyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_ssyr_"))); ++ ++ ++void flexiblas_chain_ssyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_ssyr++; ++ if ( hook_pos_ssyr < __flexiblas_hooks->ssyr.nhook ) { ++ fn = __flexiblas_hooks->ssyr.f77_hook_function[hook_pos_ssyr]; ++ } else { ++ hook_pos_ssyr = 0; ++ fn = current_backend->blas.ssyr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_ssyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_ssyr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyr2 = 0; ++ + void FC_GLOBAL(ssyr2,SSYR2)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* y, blasint* incy, float* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -2905,6 +6371,40 @@ + + + ++void flexiblas_real_ssyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.ssyr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_ssyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_ssyr2_"))); ++ ++ ++void flexiblas_chain_ssyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_ssyr2++; ++ if ( hook_pos_ssyr2 < __flexiblas_hooks->ssyr2.nhook ) { ++ fn = __flexiblas_hooks->ssyr2.f77_hook_function[hook_pos_ssyr2]; ++ } else { ++ hook_pos_ssyr2 = 0; ++ fn = current_backend->blas.ssyr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_ssyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_ssyr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyr2k = 0; ++ + void FC_GLOBAL(ssyr2k,SSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* b, blasint* ldb, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -2931,6 +6431,40 @@ + + + ++void flexiblas_real_ssyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.ssyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_ssyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_ssyr2k_"))); ++ ++ ++void flexiblas_chain_ssyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_ssyr2k++; ++ if ( hook_pos_ssyr2k < __flexiblas_hooks->ssyr2k.nhook ) { ++ fn = __flexiblas_hooks->ssyr2k.f77_hook_function[hook_pos_ssyr2k]; ++ } else { ++ hook_pos_ssyr2k = 0; ++ fn = current_backend->blas.ssyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_ssyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_ssyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyrk = 0; ++ + void FC_GLOBAL(ssyrk,SSYRK)(char* uplo, char* trans, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -2957,6 +6491,40 @@ + + + ++void flexiblas_real_ssyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.ssyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_ssyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_ssyrk_"))); ++ ++ ++void flexiblas_chain_ssyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_ssyrk++; ++ if ( hook_pos_ssyrk < __flexiblas_hooks->ssyrk.nhook ) { ++ fn = __flexiblas_hooks->ssyrk.f77_hook_function[hook_pos_ssyrk]; ++ } else { ++ hook_pos_ssyrk = 0; ++ fn = current_backend->blas.ssyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_ssyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_ssyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stbmv = 0; ++ + void FC_GLOBAL(stbmv,STBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -2983,6 +6551,40 @@ + + + ++void flexiblas_real_stbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.stbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_stbmv_"))); ++ ++ ++void flexiblas_chain_stbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_stbmv++; ++ if ( hook_pos_stbmv < __flexiblas_hooks->stbmv.nhook ) { ++ fn = __flexiblas_hooks->stbmv.f77_hook_function[hook_pos_stbmv]; ++ } else { ++ hook_pos_stbmv = 0; ++ fn = current_backend->blas.stbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_stbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stbsv = 0; ++ + void FC_GLOBAL(stbsv,STBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -3009,6 +6611,40 @@ + + + ++void flexiblas_real_stbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.stbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_stbsv_"))); ++ ++ ++void flexiblas_chain_stbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_stbsv++; ++ if ( hook_pos_stbsv < __flexiblas_hooks->stbsv.nhook ) { ++ fn = __flexiblas_hooks->stbsv.f77_hook_function[hook_pos_stbsv]; ++ } else { ++ hook_pos_stbsv = 0; ++ fn = current_backend->blas.stbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_stbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stpmv = 0; ++ + void FC_GLOBAL(stpmv,STPMV)(char* uplo, char* trans, char* diag, blasint* n, float* ap, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3035,6 +6671,40 @@ + + + ++void flexiblas_real_stpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.stpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_stpmv_"))); ++ ++ ++void flexiblas_chain_stpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_stpmv++; ++ if ( hook_pos_stpmv < __flexiblas_hooks->stpmv.nhook ) { ++ fn = __flexiblas_hooks->stpmv.f77_hook_function[hook_pos_stpmv]; ++ } else { ++ hook_pos_stpmv = 0; ++ fn = current_backend->blas.stpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_stpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stpsv = 0; ++ + void FC_GLOBAL(stpsv,STPSV)(char* uplo, char* trans, char* diag, blasint* n, float* ap, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3061,6 +6731,40 @@ + + + ++void flexiblas_real_stpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.stpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_stpsv_"))); ++ ++ ++void flexiblas_chain_stpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_stpsv++; ++ if ( hook_pos_stpsv < __flexiblas_hooks->stpsv.nhook ) { ++ fn = __flexiblas_hooks->stpsv.f77_hook_function[hook_pos_stpsv]; ++ } else { ++ hook_pos_stpsv = 0; ++ fn = current_backend->blas.stpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_stpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strmm = 0; ++ + void FC_GLOBAL(strmm,STRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -3087,6 +6791,40 @@ + + + ++void flexiblas_real_strmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.strmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_strmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_strmm_"))); ++ ++ ++void flexiblas_chain_strmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_strmm++; ++ if ( hook_pos_strmm < __flexiblas_hooks->strmm.nhook ) { ++ fn = __flexiblas_hooks->strmm.f77_hook_function[hook_pos_strmm]; ++ } else { ++ hook_pos_strmm = 0; ++ fn = current_backend->blas.strmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_strmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_strmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strmv = 0; ++ + void FC_GLOBAL(strmv,STRMV)(char* uplo, char* trans, char* diag, blasint* n, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -3113,6 +6851,40 @@ + + + ++void flexiblas_real_strmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.strmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_strmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_strmv_"))); ++ ++ ++void flexiblas_chain_strmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_strmv++; ++ if ( hook_pos_strmv < __flexiblas_hooks->strmv.nhook ) { ++ fn = __flexiblas_hooks->strmv.f77_hook_function[hook_pos_strmv]; ++ } else { ++ hook_pos_strmv = 0; ++ fn = current_backend->blas.strmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_strmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_strmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strsm = 0; ++ + void FC_GLOBAL(strsm,STRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -3139,6 +6911,40 @@ + + + ++void flexiblas_real_strsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.strsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_strsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_strsm_"))); ++ ++ ++void flexiblas_chain_strsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_strsm++; ++ if ( hook_pos_strsm < __flexiblas_hooks->strsm.nhook ) { ++ fn = __flexiblas_hooks->strsm.f77_hook_function[hook_pos_strsm]; ++ } else { ++ hook_pos_strsm = 0; ++ fn = current_backend->blas.strsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_strsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_strsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strsv = 0; ++ + void FC_GLOBAL(strsv,STRSV)(char* uplo, char* trans, char* diag, blasint* n, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -3165,6 +6971,40 @@ + + + ++void flexiblas_real_strsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.strsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_strsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_strsv_"))); ++ ++ ++void flexiblas_chain_strsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_strsv++; ++ if ( hook_pos_strsv < __flexiblas_hooks->strsv.nhook ) { ++ fn = __flexiblas_hooks->strsv.f77_hook_function[hook_pos_strsv]; ++ } else { ++ hook_pos_strsv = 0; ++ fn = current_backend->blas.strsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_strsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_strsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zaxpy = 0; ++ + void FC_GLOBAL(zaxpy,ZAXPY)(blasint* n, double complex* za, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* za, void* zx, void* incx, void* zy, void* incy); +@@ -3191,6 +7031,40 @@ + + + ++void flexiblas_real_zaxpy_(void* n, void* za, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zy, void* incy); ++ ++ fn = current_backend->blas.zaxpy.f77_blas_function; ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zaxpy(void* n, void* za, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zaxpy_"))); ++ ++ ++void flexiblas_chain_zaxpy_(void* n, void* za, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zaxpy++; ++ if ( hook_pos_zaxpy < __flexiblas_hooks->zaxpy.nhook ) { ++ fn = __flexiblas_hooks->zaxpy.f77_hook_function[hook_pos_zaxpy]; ++ } else { ++ hook_pos_zaxpy = 0; ++ fn = current_backend->blas.zaxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zaxpy(void* n, void* za, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zaxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zcopy = 0; ++ + void FC_GLOBAL(zcopy,ZCOPY)(blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3217,6 +7091,40 @@ + + + ++void flexiblas_real_zcopy_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ fn = current_backend->blas.zcopy.f77_blas_function; ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zcopy(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zcopy_"))); ++ ++ ++void flexiblas_chain_zcopy_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zcopy++; ++ if ( hook_pos_zcopy < __flexiblas_hooks->zcopy.nhook ) { ++ fn = __flexiblas_hooks->zcopy.f77_hook_function[hook_pos_zcopy]; ++ } else { ++ hook_pos_zcopy = 0; ++ fn = current_backend->blas.zcopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zcopy(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdotc = 0; ++ + void FC_GLOBAL(zdotc,ZDOTC)( double complex* returnvalue, blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3257,6 +7165,56 @@ + + + ++void flexiblas_real_zdotc_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ fn = current_backend->blas.zdotc.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_zdotc( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zdotc_"))); ++ ++ ++void flexiblas_chain_zdotc_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ ++ ++ hook_pos_zdotc++; ++ if ( hook_pos_zdotc < __flexiblas_hooks->zdotc.nhook ) { ++ fn = __flexiblas_hooks->zdotc.f77_hook_function[hook_pos_zdotc]; ++ } else { ++ hook_pos_zdotc = 0; ++ fn = current_backend->blas.zdotc.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_zdotc( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zdotc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdotu = 0; ++ + void FC_GLOBAL(zdotu,ZDOTU)( double complex* returnvalue, blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3297,6 +7255,56 @@ + + + ++void flexiblas_real_zdotu_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ fn = current_backend->blas.zdotu.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_zdotu( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zdotu_"))); ++ ++ ++void flexiblas_chain_zdotu_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ ++ ++ hook_pos_zdotu++; ++ if ( hook_pos_zdotu < __flexiblas_hooks->zdotu.nhook ) { ++ fn = __flexiblas_hooks->zdotu.f77_hook_function[hook_pos_zdotu]; ++ } else { ++ hook_pos_zdotu = 0; ++ fn = current_backend->blas.zdotu.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_zdotu( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zdotu_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdrot = 0; ++ + void FC_GLOBAL(zdrot,ZDROT)(blasint* n, double complex* cx, blasint* incx, double complex* cy, blasint* incy, double* c, double* s) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); +@@ -3323,6 +7331,40 @@ + + + ++void flexiblas_real_zdrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.zdrot.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_zdrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_zdrot_"))); ++ ++ ++void flexiblas_chain_zdrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_zdrot++; ++ if ( hook_pos_zdrot < __flexiblas_hooks->zdrot.nhook ) { ++ fn = __flexiblas_hooks->zdrot.f77_hook_function[hook_pos_zdrot]; ++ } else { ++ hook_pos_zdrot = 0; ++ fn = current_backend->blas.zdrot.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_zdrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_zdrot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdscal = 0; ++ + void FC_GLOBAL(zdscal,ZDSCAL)(blasint* n, double* da, double complex* zx, blasint* incx) + { + void (*fn) (void* n, void* da, void* zx, void* incx); +@@ -3349,6 +7391,40 @@ + + + ++void flexiblas_real_zdscal_(void* n, void* da, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* zx, void* incx); ++ ++ fn = current_backend->blas.zdscal.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_zdscal(void* n, void* da, void* zx, void* incx) __attribute__((alias("flexiblas_real_zdscal_"))); ++ ++ ++void flexiblas_chain_zdscal_(void* n, void* da, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* zx, void* incx); ++ ++ ++ ++ hook_pos_zdscal++; ++ if ( hook_pos_zdscal < __flexiblas_hooks->zdscal.nhook ) { ++ fn = __flexiblas_hooks->zdscal.f77_hook_function[hook_pos_zdscal]; ++ } else { ++ hook_pos_zdscal = 0; ++ fn = current_backend->blas.zdscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_zdscal(void* n, void* da, void* zx, void* incx) __attribute__((alias("flexiblas_chain_zdscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgbmv = 0; ++ + void FC_GLOBAL(zgbmv,ZGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3375,6 +7451,40 @@ + + + ++void flexiblas_real_zgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zgbmv_"))); ++ ++ ++void flexiblas_chain_zgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zgbmv++; ++ if ( hook_pos_zgbmv < __flexiblas_hooks->zgbmv.nhook ) { ++ fn = __flexiblas_hooks->zgbmv.f77_hook_function[hook_pos_zgbmv]; ++ } else { ++ hook_pos_zgbmv = 0; ++ fn = current_backend->blas.zgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgemm = 0; ++ + void FC_GLOBAL(zgemm,ZGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3401,6 +7511,40 @@ + + + ++void flexiblas_real_zgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zgemm_"))); ++ ++ ++void flexiblas_chain_zgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zgemm++; ++ if ( hook_pos_zgemm < __flexiblas_hooks->zgemm.nhook ) { ++ fn = __flexiblas_hooks->zgemm.f77_hook_function[hook_pos_zgemm]; ++ } else { ++ hook_pos_zgemm = 0; ++ fn = current_backend->blas.zgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgemv = 0; ++ + void FC_GLOBAL(zgemv,ZGEMV)(char* trans, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3427,6 +7571,40 @@ + + + ++void flexiblas_real_zgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zgemv_"))); ++ ++ ++void flexiblas_chain_zgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zgemv++; ++ if ( hook_pos_zgemv < __flexiblas_hooks->zgemv.nhook ) { ++ fn = __flexiblas_hooks->zgemv.f77_hook_function[hook_pos_zgemv]; ++ } else { ++ hook_pos_zgemv = 0; ++ fn = current_backend->blas.zgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgerc = 0; ++ + void FC_GLOBAL(zgerc,ZGERC)(blasint* m, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -3453,6 +7631,40 @@ + + + ++void flexiblas_real_zgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.zgerc.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_zgerc_"))); ++ ++ ++void flexiblas_chain_zgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_zgerc++; ++ if ( hook_pos_zgerc < __flexiblas_hooks->zgerc.nhook ) { ++ fn = __flexiblas_hooks->zgerc.f77_hook_function[hook_pos_zgerc]; ++ } else { ++ hook_pos_zgerc = 0; ++ fn = current_backend->blas.zgerc.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_zgerc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgeru = 0; ++ + void FC_GLOBAL(zgeru,ZGERU)(blasint* m, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -3479,6 +7691,40 @@ + + + ++void flexiblas_real_zgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.zgeru.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_zgeru_"))); ++ ++ ++void flexiblas_chain_zgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_zgeru++; ++ if ( hook_pos_zgeru < __flexiblas_hooks->zgeru.nhook ) { ++ fn = __flexiblas_hooks->zgeru.f77_hook_function[hook_pos_zgeru]; ++ } else { ++ hook_pos_zgeru = 0; ++ fn = current_backend->blas.zgeru.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_zgeru_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhbmv = 0; ++ + void FC_GLOBAL(zhbmv,ZHBMV)(char* uplo, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3505,6 +7751,40 @@ + + + ++void flexiblas_real_zhbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zhbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zhbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zhbmv_"))); ++ ++ ++void flexiblas_chain_zhbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zhbmv++; ++ if ( hook_pos_zhbmv < __flexiblas_hooks->zhbmv.nhook ) { ++ fn = __flexiblas_hooks->zhbmv.f77_hook_function[hook_pos_zhbmv]; ++ } else { ++ hook_pos_zhbmv = 0; ++ fn = current_backend->blas.zhbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zhbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zhbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhemm = 0; ++ + void FC_GLOBAL(zhemm,ZHEMM)(char* side, char* uplo, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3531,6 +7811,40 @@ + + + ++void flexiblas_real_zhemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zhemm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zhemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zhemm_"))); ++ ++ ++void flexiblas_chain_zhemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zhemm++; ++ if ( hook_pos_zhemm < __flexiblas_hooks->zhemm.nhook ) { ++ fn = __flexiblas_hooks->zhemm.f77_hook_function[hook_pos_zhemm]; ++ } else { ++ hook_pos_zhemm = 0; ++ fn = current_backend->blas.zhemm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zhemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zhemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhemv = 0; ++ + void FC_GLOBAL(zhemv,ZHEMV)(char* uplo, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3557,6 +7871,40 @@ + + + ++void flexiblas_real_zhemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zhemv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zhemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zhemv_"))); ++ ++ ++void flexiblas_chain_zhemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zhemv++; ++ if ( hook_pos_zhemv < __flexiblas_hooks->zhemv.nhook ) { ++ fn = __flexiblas_hooks->zhemv.f77_hook_function[hook_pos_zhemv]; ++ } else { ++ hook_pos_zhemv = 0; ++ fn = current_backend->blas.zhemv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zhemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zhemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zher = 0; ++ + void FC_GLOBAL(zher,ZHER)(char* uplo, blasint* n, double* alpha, double complex* x, blasint* incx, double complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -3583,6 +7931,40 @@ + + + ++void flexiblas_real_zher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.zher.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_zher_"))); ++ ++ ++void flexiblas_chain_zher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_zher++; ++ if ( hook_pos_zher < __flexiblas_hooks->zher.nhook ) { ++ fn = __flexiblas_hooks->zher.f77_hook_function[hook_pos_zher]; ++ } else { ++ hook_pos_zher = 0; ++ fn = current_backend->blas.zher.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_zher_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zher2 = 0; ++ + void FC_GLOBAL(zher2,ZHER2)(char* uplo, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -3609,6 +7991,40 @@ + + + ++void flexiblas_real_zher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.zher2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_zher2_"))); ++ ++ ++void flexiblas_chain_zher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_zher2++; ++ if ( hook_pos_zher2 < __flexiblas_hooks->zher2.nhook ) { ++ fn = __flexiblas_hooks->zher2.f77_hook_function[hook_pos_zher2]; ++ } else { ++ hook_pos_zher2 = 0; ++ fn = current_backend->blas.zher2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_zher2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zher2k = 0; ++ + void FC_GLOBAL(zher2k,ZHER2K)(char* uplo, char* trans, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3635,6 +8051,40 @@ + + + ++void flexiblas_real_zher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zher2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zher2k_"))); ++ ++ ++void flexiblas_chain_zher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zher2k++; ++ if ( hook_pos_zher2k < __flexiblas_hooks->zher2k.nhook ) { ++ fn = __flexiblas_hooks->zher2k.f77_hook_function[hook_pos_zher2k]; ++ } else { ++ hook_pos_zher2k = 0; ++ fn = current_backend->blas.zher2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zher2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zherk = 0; ++ + void FC_GLOBAL(zherk,ZHERK)(char* uplo, char* trans, blasint* n, blasint* k, double* alpha, double complex* a, blasint* lda, double* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -3661,6 +8111,40 @@ + + + ++void flexiblas_real_zherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zherk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zherk_"))); ++ ++ ++void flexiblas_chain_zherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zherk++; ++ if ( hook_pos_zherk < __flexiblas_hooks->zherk.nhook ) { ++ fn = __flexiblas_hooks->zherk.f77_hook_function[hook_pos_zherk]; ++ } else { ++ hook_pos_zherk = 0; ++ fn = current_backend->blas.zherk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zherk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhpmv = 0; ++ + void FC_GLOBAL(zhpmv,ZHPMV)(char* uplo, blasint* n, double complex* alpha, double complex* ap, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3687,6 +8171,40 @@ + + + ++void flexiblas_real_zhpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zhpmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zhpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zhpmv_"))); ++ ++ ++void flexiblas_chain_zhpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zhpmv++; ++ if ( hook_pos_zhpmv < __flexiblas_hooks->zhpmv.nhook ) { ++ fn = __flexiblas_hooks->zhpmv.f77_hook_function[hook_pos_zhpmv]; ++ } else { ++ hook_pos_zhpmv = 0; ++ fn = current_backend->blas.zhpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zhpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zhpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhpr = 0; ++ + void FC_GLOBAL(zhpr,ZHPR)(char* uplo, blasint* n, double* alpha, double complex* x, blasint* incx, double complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -3713,6 +8231,40 @@ + + + ++void flexiblas_real_zhpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.zhpr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_zhpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_zhpr_"))); ++ ++ ++void flexiblas_chain_zhpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_zhpr++; ++ if ( hook_pos_zhpr < __flexiblas_hooks->zhpr.nhook ) { ++ fn = __flexiblas_hooks->zhpr.f77_hook_function[hook_pos_zhpr]; ++ } else { ++ hook_pos_zhpr = 0; ++ fn = current_backend->blas.zhpr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_zhpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_zhpr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhpr2 = 0; ++ + void FC_GLOBAL(zhpr2,ZHPR2)(char* uplo, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -3739,6 +8291,40 @@ + + + ++void flexiblas_real_zhpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.zhpr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_zhpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_zhpr2_"))); ++ ++ ++void flexiblas_chain_zhpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_zhpr2++; ++ if ( hook_pos_zhpr2 < __flexiblas_hooks->zhpr2.nhook ) { ++ fn = __flexiblas_hooks->zhpr2.f77_hook_function[hook_pos_zhpr2]; ++ } else { ++ hook_pos_zhpr2 = 0; ++ fn = current_backend->blas.zhpr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_zhpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_zhpr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zrotg = 0; ++ + void FC_GLOBAL(zrotg,ZROTG)(double complex* ca, double complex* cb, double* c, double complex* s) + { + void (*fn) (void* ca, void* cb, void* c, void* s); +@@ -3765,6 +8351,40 @@ + + + ++void flexiblas_real_zrotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ fn = current_backend->blas.zrotg.f77_blas_function; ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_zrotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_real_zrotg_"))); ++ ++ ++void flexiblas_chain_zrotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ ++ ++ hook_pos_zrotg++; ++ if ( hook_pos_zrotg < __flexiblas_hooks->zrotg.nhook ) { ++ fn = __flexiblas_hooks->zrotg.f77_hook_function[hook_pos_zrotg]; ++ } else { ++ hook_pos_zrotg = 0; ++ fn = current_backend->blas.zrotg.f77_blas_function; ++ } ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_zrotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_chain_zrotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zscal = 0; ++ + void FC_GLOBAL(zscal,ZSCAL)(blasint* n, double complex* za, double complex* zx, blasint* incx) + { + void (*fn) (void* n, void* za, void* zx, void* incx); +@@ -3791,6 +8411,40 @@ + + + ++void flexiblas_real_zscal_(void* n, void* za, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx); ++ ++ fn = current_backend->blas.zscal.f77_blas_function; ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_zscal(void* n, void* za, void* zx, void* incx) __attribute__((alias("flexiblas_real_zscal_"))); ++ ++ ++void flexiblas_chain_zscal_(void* n, void* za, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx); ++ ++ ++ ++ hook_pos_zscal++; ++ if ( hook_pos_zscal < __flexiblas_hooks->zscal.nhook ) { ++ fn = __flexiblas_hooks->zscal.f77_hook_function[hook_pos_zscal]; ++ } else { ++ hook_pos_zscal = 0; ++ fn = current_backend->blas.zscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_zscal(void* n, void* za, void* zx, void* incx) __attribute__((alias("flexiblas_chain_zscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zswap = 0; ++ + void FC_GLOBAL(zswap,ZSWAP)(blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3817,6 +8471,40 @@ + + + ++void flexiblas_real_zswap_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ fn = current_backend->blas.zswap.f77_blas_function; ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zswap(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zswap_"))); ++ ++ ++void flexiblas_chain_zswap_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zswap++; ++ if ( hook_pos_zswap < __flexiblas_hooks->zswap.nhook ) { ++ fn = __flexiblas_hooks->zswap.f77_hook_function[hook_pos_zswap]; ++ } else { ++ hook_pos_zswap = 0; ++ fn = current_backend->blas.zswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zswap(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zsymm = 0; ++ + void FC_GLOBAL(zsymm,ZSYMM)(char* side, char* uplo, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3843,6 +8531,40 @@ + + + ++void flexiblas_real_zsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zsymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zsymm_"))); ++ ++ ++void flexiblas_chain_zsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zsymm++; ++ if ( hook_pos_zsymm < __flexiblas_hooks->zsymm.nhook ) { ++ fn = __flexiblas_hooks->zsymm.f77_hook_function[hook_pos_zsymm]; ++ } else { ++ hook_pos_zsymm = 0; ++ fn = current_backend->blas.zsymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zsymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zsyr2k = 0; ++ + void FC_GLOBAL(zsyr2k,ZSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3869,6 +8591,40 @@ + + + ++void flexiblas_real_zsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zsyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zsyr2k_"))); ++ ++ ++void flexiblas_chain_zsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zsyr2k++; ++ if ( hook_pos_zsyr2k < __flexiblas_hooks->zsyr2k.nhook ) { ++ fn = __flexiblas_hooks->zsyr2k.f77_hook_function[hook_pos_zsyr2k]; ++ } else { ++ hook_pos_zsyr2k = 0; ++ fn = current_backend->blas.zsyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zsyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zsyrk = 0; ++ + void FC_GLOBAL(zsyrk,ZSYRK)(char* uplo, char* trans, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -3895,6 +8651,40 @@ + + + ++void flexiblas_real_zsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zsyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zsyrk_"))); ++ ++ ++void flexiblas_chain_zsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zsyrk++; ++ if ( hook_pos_zsyrk < __flexiblas_hooks->zsyrk.nhook ) { ++ fn = __flexiblas_hooks->zsyrk.f77_hook_function[hook_pos_zsyrk]; ++ } else { ++ hook_pos_zsyrk = 0; ++ fn = current_backend->blas.zsyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zsyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztbmv = 0; ++ + void FC_GLOBAL(ztbmv,ZTBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -3921,6 +8711,40 @@ + + + ++void flexiblas_real_ztbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztbmv_"))); ++ ++ ++void flexiblas_chain_ztbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztbmv++; ++ if ( hook_pos_ztbmv < __flexiblas_hooks->ztbmv.nhook ) { ++ fn = __flexiblas_hooks->ztbmv.f77_hook_function[hook_pos_ztbmv]; ++ } else { ++ hook_pos_ztbmv = 0; ++ fn = current_backend->blas.ztbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztbsv = 0; ++ + void FC_GLOBAL(ztbsv,ZTBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -3947,6 +8771,40 @@ + + + ++void flexiblas_real_ztbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztbsv_"))); ++ ++ ++void flexiblas_chain_ztbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztbsv++; ++ if ( hook_pos_ztbsv < __flexiblas_hooks->ztbsv.nhook ) { ++ fn = __flexiblas_hooks->ztbsv.f77_hook_function[hook_pos_ztbsv]; ++ } else { ++ hook_pos_ztbsv = 0; ++ fn = current_backend->blas.ztbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztpmv = 0; ++ + void FC_GLOBAL(ztpmv,ZTPMV)(char* uplo, char* trans, char* diag, blasint* n, double complex* ap, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3973,6 +8831,40 @@ + + + ++void flexiblas_real_ztpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ztpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ztpmv_"))); ++ ++ ++void flexiblas_chain_ztpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztpmv++; ++ if ( hook_pos_ztpmv < __flexiblas_hooks->ztpmv.nhook ) { ++ fn = __flexiblas_hooks->ztpmv.f77_hook_function[hook_pos_ztpmv]; ++ } else { ++ hook_pos_ztpmv = 0; ++ fn = current_backend->blas.ztpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztpsv = 0; ++ + void FC_GLOBAL(ztpsv,ZTPSV)(char* uplo, char* trans, char* diag, blasint* n, double complex* ap, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3999,6 +8891,40 @@ + + + ++void flexiblas_real_ztpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ztpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ztpsv_"))); ++ ++ ++void flexiblas_chain_ztpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztpsv++; ++ if ( hook_pos_ztpsv < __flexiblas_hooks->ztpsv.nhook ) { ++ fn = __flexiblas_hooks->ztpsv.f77_hook_function[hook_pos_ztpsv]; ++ } else { ++ hook_pos_ztpsv = 0; ++ fn = current_backend->blas.ztpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrmm = 0; ++ + void FC_GLOBAL(ztrmm,ZTRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4025,6 +8951,40 @@ + + + ++void flexiblas_real_ztrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ztrmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ztrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ztrmm_"))); ++ ++ ++void flexiblas_chain_ztrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ztrmm++; ++ if ( hook_pos_ztrmm < __flexiblas_hooks->ztrmm.nhook ) { ++ fn = __flexiblas_hooks->ztrmm.f77_hook_function[hook_pos_ztrmm]; ++ } else { ++ hook_pos_ztrmm = 0; ++ fn = current_backend->blas.ztrmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ztrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ztrmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrmv = 0; ++ + void FC_GLOBAL(ztrmv,ZTRMV)(char* uplo, char* trans, char* diag, blasint* n, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -4051,6 +9011,40 @@ + + + ++void flexiblas_real_ztrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztrmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztrmv_"))); ++ ++ ++void flexiblas_chain_ztrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztrmv++; ++ if ( hook_pos_ztrmv < __flexiblas_hooks->ztrmv.nhook ) { ++ fn = __flexiblas_hooks->ztrmv.f77_hook_function[hook_pos_ztrmv]; ++ } else { ++ hook_pos_ztrmv = 0; ++ fn = current_backend->blas.ztrmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztrmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrsm = 0; ++ + void FC_GLOBAL(ztrsm,ZTRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4077,6 +9071,40 @@ + + + ++void flexiblas_real_ztrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ztrsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ztrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ztrsm_"))); ++ ++ ++void flexiblas_chain_ztrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ztrsm++; ++ if ( hook_pos_ztrsm < __flexiblas_hooks->ztrsm.nhook ) { ++ fn = __flexiblas_hooks->ztrsm.f77_hook_function[hook_pos_ztrsm]; ++ } else { ++ hook_pos_ztrsm = 0; ++ fn = current_backend->blas.ztrsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ztrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ztrsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrsv = 0; ++ + void FC_GLOBAL(ztrsv,ZTRSV)(char* uplo, char* trans, char* diag, blasint* n, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -4103,6 +9131,40 @@ + + + ++void flexiblas_real_ztrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztrsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztrsv_"))); ++ ++ ++void flexiblas_chain_ztrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztrsv++; ++ if ( hook_pos_ztrsv < __flexiblas_hooks->ztrsv.nhook ) { ++ fn = __flexiblas_hooks->ztrsv.f77_hook_function[hook_pos_ztrsv]; ++ } else { ++ hook_pos_ztrsv = 0; ++ fn = current_backend->blas.ztrsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztrsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_caxpby = 0; ++ + void FC_GLOBAL(caxpby,CAXPBY)(blasint* n, float complex* ca, float complex* cx, blasint* incx, float complex* cb, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy); +@@ -4129,6 +9191,40 @@ + + + ++void flexiblas_real_caxpby_(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy); ++ ++ fn = current_backend->blas.caxpby.f77_blas_function; ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cb, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_caxpby(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) __attribute__((alias("flexiblas_real_caxpby_"))); ++ ++ ++void flexiblas_chain_caxpby_(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy); ++ ++ ++ ++ hook_pos_caxpby++; ++ if ( hook_pos_caxpby < __flexiblas_hooks->caxpby.nhook ) { ++ fn = __flexiblas_hooks->caxpby.f77_hook_function[hook_pos_caxpby]; ++ } else { ++ hook_pos_caxpby = 0; ++ fn = current_backend->blas.caxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cb, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_caxpby(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) __attribute__((alias("flexiblas_chain_caxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_daxpby = 0; ++ + void FC_GLOBAL(daxpby,DAXPBY)(blasint* n, double* da, double* dx, blasint* incx, double* db, double* dy, blasint* incy) + { + void (*fn) (void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy); +@@ -4155,6 +9251,40 @@ + + + ++void flexiblas_real_daxpby_(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy); ++ ++ fn = current_backend->blas.daxpby.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) db, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_daxpby(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) __attribute__((alias("flexiblas_real_daxpby_"))); ++ ++ ++void flexiblas_chain_daxpby_(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy); ++ ++ ++ ++ hook_pos_daxpby++; ++ if ( hook_pos_daxpby < __flexiblas_hooks->daxpby.nhook ) { ++ fn = __flexiblas_hooks->daxpby.f77_hook_function[hook_pos_daxpby]; ++ } else { ++ hook_pos_daxpby = 0; ++ fn = current_backend->blas.daxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) db, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_daxpby(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) __attribute__((alias("flexiblas_chain_daxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zaxpby = 0; ++ + void FC_GLOBAL(zaxpby,ZAXPBY)(blasint* n, double complex* za, double complex* zx, blasint* incx, double complex* zb, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy); +@@ -4181,6 +9311,40 @@ + + + ++void flexiblas_real_zaxpby_(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy); ++ ++ fn = current_backend->blas.zaxpby.f77_blas_function; ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zb, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zaxpby(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) __attribute__((alias("flexiblas_real_zaxpby_"))); ++ ++ ++void flexiblas_chain_zaxpby_(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zaxpby++; ++ if ( hook_pos_zaxpby < __flexiblas_hooks->zaxpby.nhook ) { ++ fn = __flexiblas_hooks->zaxpby.f77_hook_function[hook_pos_zaxpby]; ++ } else { ++ hook_pos_zaxpby = 0; ++ fn = current_backend->blas.zaxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zb, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zaxpby(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zaxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_saxpby = 0; ++ + void FC_GLOBAL(saxpby,SAXPBY)(blasint* n, float* sa, float* sx, blasint* incx, float* sb, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy); +@@ -4207,6 +9371,40 @@ + + + ++void flexiblas_real_saxpby_(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy); ++ ++ fn = current_backend->blas.saxpby.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sb, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_saxpby(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) __attribute__((alias("flexiblas_real_saxpby_"))); ++ ++ ++void flexiblas_chain_saxpby_(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy); ++ ++ ++ ++ hook_pos_saxpby++; ++ if ( hook_pos_saxpby < __flexiblas_hooks->saxpby.nhook ) { ++ fn = __flexiblas_hooks->saxpby.f77_hook_function[hook_pos_saxpby]; ++ } else { ++ hook_pos_saxpby = 0; ++ fn = current_backend->blas.saxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sb, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_saxpby(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) __attribute__((alias("flexiblas_chain_saxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_comatcopy = 0; ++ + void FC_GLOBAL(comatcopy,COMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4233,6 +9431,40 @@ + + + ++void flexiblas_real_comatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.comatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_comatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_comatcopy_"))); ++ ++ ++void flexiblas_chain_comatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_comatcopy++; ++ if ( hook_pos_comatcopy < __flexiblas_hooks->comatcopy.nhook ) { ++ fn = __flexiblas_hooks->comatcopy.f77_hook_function[hook_pos_comatcopy]; ++ } else { ++ hook_pos_comatcopy = 0; ++ fn = current_backend->blas.comatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_comatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_comatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zomatcopy = 0; ++ + void FC_GLOBAL(zomatcopy,ZOMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4259,6 +9491,40 @@ + + + ++void flexiblas_real_zomatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.zomatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_zomatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_zomatcopy_"))); ++ ++ ++void flexiblas_chain_zomatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_zomatcopy++; ++ if ( hook_pos_zomatcopy < __flexiblas_hooks->zomatcopy.nhook ) { ++ fn = __flexiblas_hooks->zomatcopy.f77_hook_function[hook_pos_zomatcopy]; ++ } else { ++ hook_pos_zomatcopy = 0; ++ fn = current_backend->blas.zomatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_zomatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_zomatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_domatcopy = 0; ++ + void FC_GLOBAL(domatcopy,DOMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double* alpha, double* a, blasint* lda, double* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4285,6 +9551,40 @@ + + + ++void flexiblas_real_domatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.domatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_domatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_domatcopy_"))); ++ ++ ++void flexiblas_chain_domatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_domatcopy++; ++ if ( hook_pos_domatcopy < __flexiblas_hooks->domatcopy.nhook ) { ++ fn = __flexiblas_hooks->domatcopy.f77_hook_function[hook_pos_domatcopy]; ++ } else { ++ hook_pos_domatcopy = 0; ++ fn = current_backend->blas.domatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_domatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_domatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_somatcopy = 0; ++ + void FC_GLOBAL(somatcopy,SOMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float* alpha, float* a, blasint* lda, float* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4311,6 +9611,40 @@ + + + ++void flexiblas_real_somatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.somatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_somatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_somatcopy_"))); ++ ++ ++void flexiblas_chain_somatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_somatcopy++; ++ if ( hook_pos_somatcopy < __flexiblas_hooks->somatcopy.nhook ) { ++ fn = __flexiblas_hooks->somatcopy.f77_hook_function[hook_pos_somatcopy]; ++ } else { ++ hook_pos_somatcopy = 0; ++ fn = current_backend->blas.somatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_somatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_somatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cimatcopy = 0; ++ + void FC_GLOBAL(cimatcopy,CIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float complex* alpha, float complex* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4337,6 +9671,40 @@ + + + ++void flexiblas_real_cimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.cimatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_cimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_cimatcopy_"))); ++ ++ ++void flexiblas_chain_cimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_cimatcopy++; ++ if ( hook_pos_cimatcopy < __flexiblas_hooks->cimatcopy.nhook ) { ++ fn = __flexiblas_hooks->cimatcopy.f77_hook_function[hook_pos_cimatcopy]; ++ } else { ++ hook_pos_cimatcopy = 0; ++ fn = current_backend->blas.cimatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_cimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_cimatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zimatcopy = 0; ++ + void FC_GLOBAL(zimatcopy,ZIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double complex* alpha, double complex* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4363,6 +9731,40 @@ + + + ++void flexiblas_real_zimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.zimatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_zimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_zimatcopy_"))); ++ ++ ++void flexiblas_chain_zimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_zimatcopy++; ++ if ( hook_pos_zimatcopy < __flexiblas_hooks->zimatcopy.nhook ) { ++ fn = __flexiblas_hooks->zimatcopy.f77_hook_function[hook_pos_zimatcopy]; ++ } else { ++ hook_pos_zimatcopy = 0; ++ fn = current_backend->blas.zimatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_zimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_zimatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dimatcopy = 0; ++ + void FC_GLOBAL(dimatcopy,DIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double* alpha, double* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4389,6 +9791,40 @@ + + + ++void flexiblas_real_dimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.dimatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_dimatcopy_"))); ++ ++ ++void flexiblas_chain_dimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_dimatcopy++; ++ if ( hook_pos_dimatcopy < __flexiblas_hooks->dimatcopy.nhook ) { ++ fn = __flexiblas_hooks->dimatcopy.f77_hook_function[hook_pos_dimatcopy]; ++ } else { ++ hook_pos_dimatcopy = 0; ++ fn = current_backend->blas.dimatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_dimatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_simatcopy = 0; ++ + void FC_GLOBAL(simatcopy,SIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float* alpha, float* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4415,6 +9851,40 @@ + + + ++void flexiblas_real_simatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.simatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_simatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_simatcopy_"))); ++ ++ ++void flexiblas_chain_simatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_simatcopy++; ++ if ( hook_pos_simatcopy < __flexiblas_hooks->simatcopy.nhook ) { ++ fn = __flexiblas_hooks->simatcopy.f77_hook_function[hook_pos_simatcopy]; ++ } else { ++ hook_pos_simatcopy = 0; ++ fn = current_backend->blas.simatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_simatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_simatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgeadd = 0; ++ + void FC_GLOBAL(sgeadd,SGEADD)(blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* beta, float* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4441,6 +9911,40 @@ + + + ++void flexiblas_real_sgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.sgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_sgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_sgeadd_"))); ++ ++ ++void flexiblas_chain_sgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_sgeadd++; ++ if ( hook_pos_sgeadd < __flexiblas_hooks->sgeadd.nhook ) { ++ fn = __flexiblas_hooks->sgeadd.f77_hook_function[hook_pos_sgeadd]; ++ } else { ++ hook_pos_sgeadd = 0; ++ fn = current_backend->blas.sgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_sgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_sgeadd_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgeadd = 0; ++ + void FC_GLOBAL(dgeadd,DGEADD)(blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* beta, double* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4467,6 +9971,40 @@ + + + ++void flexiblas_real_dgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.dgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_dgeadd_"))); ++ ++ ++void flexiblas_chain_dgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_dgeadd++; ++ if ( hook_pos_dgeadd < __flexiblas_hooks->dgeadd.nhook ) { ++ fn = __flexiblas_hooks->dgeadd.f77_hook_function[hook_pos_dgeadd]; ++ } else { ++ hook_pos_dgeadd = 0; ++ fn = current_backend->blas.dgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_dgeadd_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgeadd = 0; ++ + void FC_GLOBAL(cgeadd,CGEADD)(blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* beta, float complex* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4493,6 +10031,40 @@ + + + ++void flexiblas_real_cgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.cgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_cgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_cgeadd_"))); ++ ++ ++void flexiblas_chain_cgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_cgeadd++; ++ if ( hook_pos_cgeadd < __flexiblas_hooks->cgeadd.nhook ) { ++ fn = __flexiblas_hooks->cgeadd.f77_hook_function[hook_pos_cgeadd]; ++ } else { ++ hook_pos_cgeadd = 0; ++ fn = current_backend->blas.cgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_cgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_cgeadd_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgeadd = 0; ++ + void FC_GLOBAL(zgeadd,ZGEADD)(blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* beta, double complex* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4519,4 +10091,36 @@ + + + ++void flexiblas_real_zgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.zgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_zgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_zgeadd_"))); ++ ++ ++void flexiblas_chain_zgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_zgeadd++; ++ if ( hook_pos_zgeadd < __flexiblas_hooks->zgeadd.nhook ) { ++ fn = __flexiblas_hooks->zgeadd.f77_hook_function[hook_pos_zgeadd]; ++ } else { ++ hook_pos_zgeadd = 0; ++ fn = current_backend->blas.zgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_zgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_zgeadd_"))); ++ ++ + diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_remove-semicolon.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_remove-semicolon.patch new file mode 100644 index 000000000000..ed695ca92f6e --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_remove-semicolon.patch @@ -0,0 +1,15 @@ +Testing with ifort fails with this semicolon. + +https://github.com/Reference-LAPACK/lapack/commit/64e8a7500d817869e5fcde35afd39af8bc7a8086.diff +diff --git a/TESTING/dbal.in b/TESTING/dbal.in +index c00fe3e83..828629b15 100644 +--- a/test/lapack-3.9.0/dbal.in ++++ b/test/lapack-3.9.0/dbal.in +@@ -209,6 +209,6 @@ DBL: Tests DGEBAL + 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.63043209914231165391D-03 0.10000000000000000000D+01 0.79310682416114036641D+03 + 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.12608641982846233078D-02 0.10000000000000000000D+01 + +- 2.494800386918399765D+291 1.582914569427869018D+175 1.004336277661868922D+59 3.186183822264904554D-58 5.053968264940243633D-175 0.40083367200179455560D-291; ++ 2.494800386918399765D+291 1.582914569427869018D+175 1.004336277661868922D+59 3.186183822264904554D-58 5.053968264940243633D-175 0.40083367200179455560D-291 + + 0 diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 000000000000..0ad1849f7758 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,73 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.2.0' + +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': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} +local_extra_flags = "-D__ELF__" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4', '-bare'), # required for running the tests +] + +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'] + +# 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], + 'patches': [ + 'FlexiBLAS-3.0.4_fix-imkl.patch', + 'FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch', + 'FlexiBLAS-3.0.4_remove-semicolon.patch', + 'FlexiBLAS-3.2.0_remove-intel-suffix.patch', + ], + 'checksums': [ + 'a3f4d66a30b6fa6473e492de86d34abc5f9d4e69d4d91ba23618388e8df05904', # flexiblas-3.2.0.tar.gz + 'a078e46ad126574cc42314abd5b40461cdc6e950af79d105dbf92875c254c87c', # FlexiBLAS-3.0.4_fix-imkl.patch + # FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch + '30ae7d1edbcff2beb18bca9b751dcaf0bf9a996d41fbe669b0a11592ec01c7ac', + # FlexiBLAS-3.0.4_remove-semicolon.patch + 'a3bbcff7aeca6f8bab989e7e3a8069f2b7b660e4559042221eecaa30dc0ce300', + # FlexiBLAS-3.2.0_remove-intel-suffix.patch + '98b70ac9b10c9e45cd7c2251f8b710cda704b04311b33b6fe1a56be51aa43bc4', + ], + 'configopts': '-DABI=Intel', + 'backends': local_backends, + }), + ('LAPACK', '3.10.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'], + '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/FlexiBLAS/FlexiBLAS-3.2.0_remove-intel-suffix.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0_remove-intel-suffix.patch new file mode 100644 index 000000000000..7fced99a11cf --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0_remove-intel-suffix.patch @@ -0,0 +1,16 @@ +Avoid using the _intel suffix name for library +We can only have 1 library per version regardless, and the ABI is +determined by the toolchain like with all other stuff we compile. + +Author: micketeer@gmail.com +--- CMakeLists.txt.orig 2022-11-28 18:35:05.033932657 +0000 ++++ CMakeLists.txt 2022-11-28 18:35:20.226889430 +0000 +@@ -167,7 +167,7 @@ + ENDIF() + + IF ( ABI STREQUAL "Intel") +- SET(FLEXIBLAS_ABI_INTEL TRUE) ++ SET(FLEXIBLAS_ABI_INTEL FALSE) + SET(USE_INTERFACE_INTEL TRUE) + ELSEIF ( ABI STREQUAL "XL" ) + SET(FLEXIBLAS_ABI_IBM TRUE) diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb new file mode 100644 index 000000000000..9a77c6b3a775 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.2.1' + +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': '12.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.24.3'), + ('Python', '3.10.8', '-bare'), # required for running the tests + ('BLIS', '0.9.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.21'), +] + +# 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': ['5be7e508e2dbb751b3bf372639d8e82a11f79e9ef6cbf243b64981c24a5703cf'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'], + '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/FragGeneScan/FragGeneScan-1.31-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..4870fb3bdfaa --- /dev/null +++ b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'FragGeneScan' +version = '1.31' + +homepage = 'https://omics.informatics.indiana.edu/FragGeneScan/' +description = "FragGeneScan is an application for finding (fragmented) genes in short reads." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s%(version)s.tar.gz'] +checksums = ['cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [("Perl", "5.32.1")] + +fix_perl_shebang_for = ['*.pl'] + +prebuildopts = "make clean && " +buildopts = 'CC="$CC" CFLAG="$CFLAGS" fgs && chmod -R go+rx *.pl train example' + +files_to_copy = ['FragGeneScan', 'run_FragGeneScan.pl', 'example', 'train'] + +modextrapaths = {'PATH': ['']} + +sanity_check_paths = { + 'files': ['FragGeneScan', 'run_FragGeneScan.pl'], + 'dirs': ['example', 'train'], +} + +sanity_check_commands = [ + './run_FragGeneScan.pl help', + './run_FragGeneScan.pl -genome=./example/NC_000913.fna -out=./example/NC_000913-fgs -complete=1 -train=complete' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..11730391a1b2 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FreeImage' +version = '3.18.0' + +homepage = 'http://freeimage.sourceforge.net' +description = """FreeImage is an Open Source library project for developers who would like to support popular graphics +image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to +use, fast, multithreading safe.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++14'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s3180.zip'] +patches = ['%(name)s-%(version)s-fix-makefile.patch'] +checksums = [ + 'f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd', # FreeImage3180.zip + '3eaa1eb9562ccfd0cb95a37879bb7e3e8c745166596d75af529478181ef006a0', # %(name)s-%(version)s-fix-makefile.patch +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +skipsteps = ['configure'] + +buildopts = ['', '-f Makefile.fip'] + +installopts = [ + "INCDIR=%(installdir)s/include INSTALLDIR=%(installdir)s/lib", + "-f Makefile.fip INCDIR=%(installdir)s/include INSTALLDIR=%(installdir)s/lib", +] + +_incs = ['include/FreeImage%s.h' % x for x in ['', 'Plus']] +_libs = ['lib/libfreeimage%s.%s' % (x, y) for x in ['', 'plus'] for y in ['a', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _incs + _libs, + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos7_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos7_x86_64.eb new file mode 100644 index 000000000000..56892c77fd0e --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos7_x86_64.eb @@ -0,0 +1,33 @@ +name = 'FreeSurfer' +version = '7.3.2' +versionsuffix = '-centos7_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = [ + 'https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/', + 'https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime?action=AttachFile&do=get&target=' +] +sources = [ + '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', + 'runtime2014bLinux.tar.gz' +] +checksums = [ + {'freesurfer-linux-centos7_x86_64-7.3.2.tar.gz': + '58518d3ee5abd2e05109208aed2eef145c4e3b994164df8c4e0033c1343b9e56'}, + {'runtime2014bLinux.tar.gz': '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648'}, +] + +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.6-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..6bc2457695b9 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.6-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FreeXL' +version = '1.0.6' + +homepage = 'https://www.gaia-gis.it/fossil/freexl/index' + +description = """ +FreeXL is an open source library to extract valid data from within an +Excel (.xls) spreadsheet. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gaia-gis.it/gaia-sins'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3de8b57a3d130cb2881ea52d3aa9ce1feedb1b57b7daa4eb37f751404f90fc22'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +sanity_check_paths = { + 'files': ['lib/libfreexl.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..97c8eece78b9 --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.12' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/fribidi/fribidi/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +configopts = '--disable-docs' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1-foss-2022a.eb new file mode 100644 index 000000000000..f2205d273fba --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1-foss-2022a.eb @@ -0,0 +1,105 @@ +easyblock = 'Tarball' + +name = 'FunGAP' +version = '1.1.1' + +homepage = 'https://github.com/CompSynBioLab-KoreaUniv/FunGAP' +description = "Fungal Genome Annotation Pipeline using evidence-based gene model evaluation." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# Tag v1.1.1 points to an old commit still in v1.1.0 +# pull correct sources from specific commit +_commit = '924f3ba080f98cbf181b0b21601e095619479ce6' + +source_urls = ['https://github.com/CompSynBioLab-KoreaUniv/FunGAP/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = [ + 'FunGAP-%(version)s_fix-snap-detection.patch', + 'FunGAP-%(version)s_relax-dependency-checks.patch', + 'FunGAP-%(version)s_replace-deprecated-pa-repeatmodeler.patch', + 'FunGAP-%(version)s_fix-maker-exes.patch', + 'FunGAP-%(version)s_fix-augustus-calls-in-runbreaker.patch', +] +checksums = [ + {'FunGAP-1.1.1.tar.gz': '3d827c4b11452afdd51b71766e0e3193b7efad31db4536606115f2cac0b964c8'}, + {'FunGAP-1.1.1_fix-snap-detection.patch': 'f782224ce186e1e2d8953898122b79d616f8a749b00ec662ec5a3fa1903550fa'}, + {'FunGAP-1.1.1_relax-dependency-checks.patch': '73f9ae2a20cf03c34f852642a28d3b7e9858250f653ff1e711c3c9a56ae2fd77'}, + {'FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch': + 'c528aab74a070d6eedc9ff2097b6149e8d36759b9ff93c46302994179a38a774'}, + {'FunGAP-1.1.1_fix-maker-exes.patch': 'de344cf45dad047ab46a17462e19ce0789a89071c1484cbdedd9d898f9601bd0'}, + {'FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch': + '150b6f79f95d0c8abece42231c5dcedf8610a811db9cc63ac6cc047f0dcfdc64'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('AUGUSTUS', '3.5.0'), + ('BamTools', '2.5.2'), + ('bcbio-gff', '0.7.0'), + ('BRAKER', '2.1.6'), + ('BUSCO', '5.4.5'), + ('HISAT2', '2.2.1'), + ('MAKER', '3.01.04'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('PfamScan', '1.6'), + ('RepeatModeler', '2.0.4'), + ('SAMtools', '1.16.1'), + ('SNAP-HMM', '20221022'), + ('Trinity', '2.15.1'), + ('wget', '1.21.3'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('markdown2', '2.4.8', { + 'checksums': ['90475aca3d9c8e7df6d70c51de5bbbe9edf7fcf6a380bd1044d321500f5445da'], + }), +] + +# FunGAP needs the Pfam database (280 MB download, 1.5 GB on disk) +# if it's already available in your system change _pfam_db_dir to its location +_pfam_db_dir = '%(installdir)s/db' +_pfam_db_url = 'https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release' +_pfam_db_install_cmds = [ + "mkdir -p %s" % _pfam_db_dir, + "wget -P %s %s/{Pfam-A.hmm.gz,Pfam-A.hmm.dat.gz,active_site.dat.gz}" % (_pfam_db_dir, _pfam_db_url), + "gzip -d %s/*.gz" % _pfam_db_dir, + "hmmpress %s/Pfam-A.hmm" % _pfam_db_dir, +] + +postinstallcmds = [ + # install Pfam DB if missing + "if [ ! -f %s/Pfam-A.hmm ]; then %s; fi" % (_pfam_db_dir, " && ".join(_pfam_db_install_cmds)), + # execute set_dependencies.py, which creates configuration file and runs some quick tests + ("cd %%(installdir)s && ./set_dependencies.py --pfam_db_path %s --genemark_path $EBROOTGENEMARKMINET " + "--maker_path $EBROOTMAKER/bin --snap_path $EBROOTSNAPMINHMM/bin" % _pfam_db_dir), +] + +sanity_check_paths = { + 'files': ['fungap.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': ['', 'lib/python%(pyshortver)s/site-packages'] +} + +modextravars = { + 'FUNGAP_DIR': '%(installdir)s', +} + +sanity_check_commands = [ + ('fungap.py', '--help'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch new file mode 100644 index 000000000000..a245df16275a --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch @@ -0,0 +1,54 @@ +Set paths to AUGUSTUS installation preferably from its environment variables +Fix location of getAnnoFastaFromJoingenes.py script from AUGUSTUS +see https://github.com/CompSynBioLab-KoreaUniv/FunGAP/pull/98 +author: Alex Domingo (Vrije Universirteit Brussel) +--- run_braker.py.orig 2023-04-03 12:07:35.178272000 +0200 ++++ run_braker.py 2023-04-03 12:24:48.713953000 +0200 +@@ -124,8 +124,19 @@ + logger_time.debug('START: BRAKER') + + if not os.path.exists(gff3_braker): +- augustus_config_path = os.path.join( +- os.path.dirname(D_CONF['AUGUSTUS_PATH']), '../config') ++ augustus_bin_path = os.environ[ ++ 'AUGUSTUS_BIN_PATH' ++ ] or os.path.dirname(D_CONF['AUGUSTUS_PATH']) ++ augustus_config_path = os.environ[ ++ 'AUGUSTUS_CONFIG_PATH' ++ ] or os.path.join( ++ os.path.dirname(D_CONF['AUGUSTUS_PATH']), '../config' ++ ) ++ augustus_scripts_path = os.environ[ ++ 'AUGUSTUS_SCRIPTS_PATH' ++ ] or os.path.join( ++ os.path.dirname(D_CONF['AUGUSTUS_PATH']), '../scripts' ++ ) + config_species = os.path.join( + augustus_config_path, 'species', prefix) + species = prefix +@@ -140,7 +151,6 @@ + bamtools_path = os.path.dirname(D_CONF['BAMTOOLS_PATH']) + genemark_path = os.path.dirname(D_CONF['GENEMARK_PATH']) + samtools_path = os.path.dirname(D_CONF['SAMTOOLS_PATH']) +- augustus_scripts_path = os.path.dirname(D_CONF['AUGUSTUS_PATH']) + working_dir = os.path.join(output_dir, prefix) + if not os.path.exists(working_dir): + os.mkdir(working_dir) +@@ -153,7 +163,7 @@ + braker_bin, fungus_flag, num_cores, adjusted_assembly, + bam_file, species, augustus_config_path, bamtools_path, + genemark_path, samtools_path, working_dir, +- translation_table, augustus_scripts_path, log_braker)) ++ translation_table, augustus_bin_path, log_braker)) + logger_txt.debug('[Run] %s', command1) + os.system(command1) + +@@ -165,7 +175,7 @@ + + augustus_dir = os.path.dirname(D_CONF['AUGUSTUS_PATH']) + get_anno_script = os.path.join( +- augustus_dir, 'getAnnoFastaFromJoingenes.py') ++ augustus_scripts_path, 'getAnnoFastaFromJoingenes.py') + if not os.path.exists(get_anno_script): + get_anno_script = os.path.join( + augustus_dir, diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-maker-exes.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-maker-exes.patch new file mode 100644 index 000000000000..b172ca04d47f --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-maker-exes.patch @@ -0,0 +1,20 @@ +The paths to MAKER executables set by MAKER are already correct, avoid +tampering with them. +author: Alex Domingo (Vrije Universiteit Brussel) +--- run_maker.py.orig 2023-03-21 09:19:05.057679000 +0100 ++++ run_maker.py 2023-03-21 09:19:49.143408491 +0100 +@@ -463,14 +463,6 @@ + replace('maker_opts.ctl', 'protein_pass=0', 'protein_pass=1') + replace('maker_opts.ctl', 'rm_pass=0', 'rm_pass=1') + +- # Program paths +- for program in [ +- 'makeblastdb', 'blastn', 'blastx', 'tblastx', 'RepeatMasker', +- 'exonerate', 'snap', 'augustus', 'tRNAscan-SE', 'snoscan']: +- replace('maker_exe.ctl', '{}='.format(program), '{}={}'.format( +- program, os.path.join(os.path.dirname(maker_bin), program) +- )) +- + # Last run, keep_preds=1 + if version == '4': + replace('maker_opts.ctl', 'keep_preds=0', 'keep_preds=1') diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-snap-detection.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-snap-detection.patch new file mode 100644 index 000000000000..c8dd7ab62621 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-snap-detection.patch @@ -0,0 +1,61 @@ +Fix detection of fathom, forge and hmm-assembler.pl, which are not part of MAKER but SNAP +see https://github.com/CompSynBioLab-KoreaUniv/FunGAP/pull/97 +author: Alex Domingo (Vrije Universiteit Brussel) +--- set_dependencies.py.orig 2023-03-16 15:27:00.506475000 +0100 ++++ set_dependencies.py 2023-03-16 15:31:31.102674857 +0100 +@@ -44,6 +44,10 @@ + help='Maker bin path' + ) + parser.add_argument( ++ '-s', '--snap_path', nargs=1, required=True, ++ help='SNAP-HMM bin path' ++ ) ++ parser.add_argument( + '-r', '--with_repeat_modeler', nargs='?', default='', + help='User-defined RepeatModeler bin path' + ) +@@ -76,6 +80,7 @@ + pfam_db_path = os.path.abspath(args.pfam_db_path[0]) + i_genemark_path = os.path.abspath(args.genemark_path[0]) + i_maker_path = os.path.abspath(args.maker_path[0]) ++ i_snap_path = os.path.abspath(args.snap_path[0]) + if args.with_repeat_modeler: + with_repeat_modeler = os.path.abspath(args.with_repeat_modeler) + else: +@@ -104,8 +109,9 @@ + pfam_scan_path, blastp_path, blastn_path, blastx_path, + makeblastdb_path, samtools_path, bamtools_path, augustus_path + ) = get_path( +- i_genemark_path, i_maker_path, with_repeat_modeler, with_augustus, +- with_hisat2, with_trinity, with_braker, with_busco, with_pfam_scan ++ i_genemark_path, i_maker_path, i_snap_path, with_repeat_modeler, ++ with_augustus, with_hisat2, with_trinity, with_braker, with_busco, ++ with_pfam_scan + ) + check_working( + genemark_path, gmhmme3_path, probuild_path, build_database_path, +@@ -159,8 +165,9 @@ + + + def get_path( +- i_genemark_path, i_maker_path, with_repeat_modeler, with_augustus, +- with_hisat2, with_trinity, with_braker, with_busco, with_pfam_scan): ++ i_genemark_path, i_maker_path, i_snap_path, with_repeat_modeler, ++ with_augustus, with_hisat2, with_trinity, with_braker, with_busco, ++ with_pfam_scan): + '''Get path''' + print('\n** Checking the installed locations of dependencies **\n') + +@@ -198,9 +205,9 @@ + gff3_merge_path = check_binary('Maker', i_maker_path, 'gff3_merge') + fasta_merge_path = check_binary('Maker', i_maker_path, 'fasta_merge') + maker2zff_path = check_binary('Maker', i_maker_path, 'maker2zff') +- fathom_path = check_binary('Snap', i_maker_path, 'fathom') +- forge_path = check_binary('Snap', i_maker_path, 'forge') +- hmm_assembler_path = check_binary('Snap', i_maker_path, 'hmm-assembler.pl') ++ fathom_path = check_binary('Snap', i_snap_path, 'fathom') ++ forge_path = check_binary('Snap', i_snap_path, 'forge') ++ hmm_assembler_path = check_binary('Snap', i_snap_path, 'hmm-assembler.pl') + build_database_path = check_binary( + 'RepeatModeler (BuildDatabase)', with_repeat_modeler, 'BuildDatabase', + ) diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_relax-dependency-checks.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_relax-dependency-checks.patch new file mode 100644 index 000000000000..68d88fe47b24 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_relax-dependency-checks.patch @@ -0,0 +1,29 @@ +Disable too strict check on version of AUGUSTUS and the GeneMark key in the +home directory of the user +author: Alex Domingo (Vrije Universiteit Brusel) +--- set_dependencies.py.orig 2023-03-16 15:50:03.802522000 +0100 ++++ set_dependencies.py 2023-03-16 15:50:28.562603082 +0100 +@@ -284,15 +284,15 @@ + check_working_internal(samtools_path, [samtools_path, '--help']) + check_working_internal(bamtools_path, [bamtools_path, '--help']) + check_working_internal(augustus_path, [augustus_path, '--help']) +- check_augustus_version(augustus_path) ++ # check_augustus_version(augustus_path) + +- # For GeneMark, check the .gm_key +- home_path = os.path.expanduser('~') +- if not os.path.exists(os.path.join(home_path, '.gm_key')): +- sys.exit( +- '\n[ERROR] You do not have .gm_key in your home directory.\n' +- 'Check https://wiki.gacrc.uga.edu/wiki/GeneMark' +- ) ++ # # For GeneMark, check the .gm_key ++ # home_path = os.path.expanduser('~') ++ # if not os.path.exists(os.path.join(home_path, '.gm_key')): ++ # sys.exit( ++ # '\n[ERROR] You do not have .gm_key in your home directory.\n' ++ # 'Check https://wiki.gacrc.uga.edu/wiki/GeneMark' ++ # ) + + def check_augustus_version(augustus_path): + '''Check Augustus version 3.3.3''' diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch new file mode 100644 index 000000000000..8d75c3a8ae6f --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch @@ -0,0 +1,22 @@ +Replace deprecated -pa option in newer versions of RepeatModeler with -threads +author: Alex Domingo (Vrije Universiteit Brussel) +--- run_repeat_modeler.py.orig 2023-03-17 09:23:21.857374000 +0100 ++++ run_repeat_modeler.py 2023-03-17 09:24:17.655942000 +0100 +@@ -73,7 +73,7 @@ + + # BuildDatabase -name Choanephora_cucurbitarum + # ../Choanephora_cucurbitarum_assembly.fna +- # RepeatModeler -database Choanephora_cucurbitarum -pa 25 ++ # RepeatModeler -database Choanephora_cucurbitarum -threads 25 + + # Get repeat model + repeat_lib = os.path.join(output_dir, '*', 'consensi.fa.classified') +@@ -89,7 +89,7 @@ + os.system(command1) + + log_file2 = os.path.join(log_dir, 'repeat_modeler.log') +- command2 = '{} -database {} -pa {} > {} 2>&1'.format( ++ command2 = '{} -database {} -threads {} > {} 2>&1'.format( + repeatmodeler_bin, genome_assembly, num_cores, log_file2 + ) + logger_txt.debug('[Run] %s', command2) diff --git a/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..066ee5baf352 --- /dev/null +++ b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'fastai' +version = '2.7.10' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.fast.ai/' +description = """The fastai deep learning library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('Pillow', '9.1.1'), + ('scikit-learn', '1.1.2'), + ('spaCy', '3.4.4'), +] + +exts_list = [ + ('fastdownload', '0.0.7', { + 'checksums': ['20507edb8e89406a1fbd7775e6e2a3d81a4dd633dd506b0e9cf0e1613e831d6a'], + }), + ('fastcore', '1.5.27', { + 'checksums': ['c6b66b35569d17251e25999bafc7d9bcdd6446c1e710503c08670c3ff1eef271'], + }), + ('fastprogress', '1.0.3', { + 'checksums': ['7a17d2b438890f838c048eefce32c4ded47197ecc8ea042cecc33d3deb8022f5'], + }), + (name, version, { + 'checksums': ['ccef6a185ae3a637efc9bcd9fea8e48b75f454d0ebad3b6df426f22fae20039d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a.eb b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a.eb new file mode 100644 index 000000000000..50b4ecd47fce --- /dev/null +++ b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'fastai' +version = '2.7.10' + +homepage = 'https://www.fast.ai/' +description = """The fastai deep learning library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('Pillow', '9.1.1'), + ('scikit-learn', '1.1.2'), + ('spaCy', '3.4.4'), +] + +exts_list = [ + ('fastdownload', '0.0.7', { + 'checksums': ['20507edb8e89406a1fbd7775e6e2a3d81a4dd633dd506b0e9cf0e1613e831d6a'], + }), + ('fastcore', '1.5.27', { + 'checksums': ['c6b66b35569d17251e25999bafc7d9bcdd6446c1e710503c08670c3ff1eef271'], + }), + ('fastprogress', '1.0.3', { + 'checksums': ['7a17d2b438890f838c048eefce32c4ded47197ecc8ea042cecc33d3deb8022f5'], + }), + (name, version, { + 'checksums': ['ccef6a185ae3a637efc9bcd9fea8e48b75f454d0ebad3b6df426f22fae20039d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.049-gompi-2022a.eb b/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.049-gompi-2022a.eb new file mode 100644 index 000000000000..be269c4a4cd8 --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.049-gompi-2022a.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'fastjet-contrib' +version = '1.049' + +homepage = 'https://fastjet.hepforge.org/contrib/' +description = """3rd party extensions of FastJet""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://fastjet.hepforge.org/contrib/downloads/'] +sources = ['fjcontrib-' + version + '.tar.gz'] +checksums = ['ae2ed6206bc6278b65e99a4f78df0eeb2911f301a28fb57b50c573c0d5869987'] + +dependencies = [ + ('fastjet', '3.4.0') +] + +build_cmd_targets = ['', 'fragile-shared'] +install_cmd = "make install && make fragile-shared-install" + +sanity_check_paths = { + 'files': ['lib/libfastjetcontribfragile.%s' % SHLIB_EXT], + 'dirs': ['include/fastjet/contrib'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0-gompi-2022a.eb b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0-gompi-2022a.eb new file mode 100644 index 000000000000..631c87a53f4a --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0-gompi-2022a.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'fastjet' +version = '3.4.0' + +homepage = 'https://fastjet.fr/' +description = """A software package for jet finding in pp and e+e- collisions""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://fastjet.fr/repo/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['fastjet-3.4.0_excludeSISCone.patch'] +checksums = [ + 'ee07c8747c8ead86d88de4a9e4e8d1e9e7d7614973f5631ba8297f7a02478b91', + '698902b4c4d54873d640239461cccc036234986ae8d6a33ceb649462ade971d3' # fastjet-3.4.0_excludeSISCone.patch +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('siscone', '3.0.5'), + ('CGAL', '4.14.3'), +] +# For CGAL >=5 +# configopts = '--enable-cgal-header-only --enable-pyext --enable-allplugins --enable-allcxxplugins ' +configopts = '--enable-cgal --enable-pyext --enable-allplugins --enable-allcxxplugins ' +configopts += "--enable-shared" + +sanity_check_paths = { + 'files': ['lib/libfastjet.%s' % SHLIB_EXT, 'bin/fastjet-config'], + 'dirs': ['include/fastjet'], +} +sanity_check_commands = ["python -c 'import fastjet'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0_excludeSISCone.patch b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0_excludeSISCone.patch new file mode 100644 index 000000000000..5adb5bcab244 --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0_excludeSISCone.patch @@ -0,0 +1,75 @@ +# Author: Alexander Puck Neuwirth +# We don't want to use the shipped siscone, but use the system/easybuild +# installed version of siscone +--- fastjet-3.4.0.orig/configure.ac 2021-06-25 15:38:14.000000000 +0200 ++++ fastjet-3.4.0/configure.ac 2022-11-11 12:22:21.863457311 +0100 +@@ -438,6 +438,12 @@ + fi + + dnl SISCone ++AC_ARG_WITH(bundle-siscone, ++ [ --with-bundle-siscone Build the bundled SISCone library [default=no]], ++ [bundle_siscone=$withval], ++ [bundle_siscone=no]) ++AM_CONDITIONAL(BUNDLE_SISCONE, test x$bundle_siscone != xno) ++ + ACX_CHECK_PLUGIN(SISCone, siscone, SISCONE, yes, + [CONFIG_LIBS_PLUGINS=${CONFIG_LIBS_PLUGINS}" -lsiscone_spherical -lsiscone" + CONFIG_LIBS_PLUGINS_STATIC=${CONFIG_LIBS_PLUGINS_STATIC}" \${installationdir}/lib/libsiscone.a \${installationdir}/lib/libsiscone_spherical.a"]) +--- fastjet-3.4.0.orig/example/Makefile.am 2021-06-25 15:37:05.000000000 +0200 ++++ fastjet-3.4.0/example/Makefile.am 2022-11-11 12:45:45.876416000 +0100 +@@ -43,7 +43,7 @@ + 03_plugin_CXXFLAGS = $(AM_CXXFLAGS) $(CGAL_CPPFLAGS) -I$(srcdir)/../include + 03_plugin_LDADD = ../src/libfastjet.la $(CGAL_LIBS) + 03_plugin_CXXFLAGS += -I$(srcdir)/../plugins/SISCone -I$(srcdir)/../plugins/SISCone/siscone +-03_plugin_LDADD += ../plugins/SISCone/libSISConePlugin.la ../plugins/SISCone/siscone/siscone/libsiscone.la ../plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++03_plugin_LDADD += ../plugins/SISCone/libSISConePlugin.la + else + EXTRA_DIST += 03-plugin.cc + endif +@@ -125,7 +125,7 @@ + fastjet_areas_LDADD = ../src/libfastjet.la $(CGAL_LIBS) + if BUILD_PLUGIN_SISCONE + fastjet_areas_CXXFLAGS += -I$(srcdir)/../plugins/SISCone -I$(srcdir)/../plugins/SISCone/siscone +-fastjet_areas_LDADD += ../plugins/SISCone/libSISConePlugin.la ../plugins/SISCone/siscone/siscone/libsiscone.la ../plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++fastjet_areas_LDADD += ../plugins/SISCone/libSISConePlugin.la + endif + + fastjet_timing_plugins_SOURCES = fastjet_timing_plugins.cc CmdLine.cc +@@ -135,7 +135,7 @@ + fastjet_timing_plugins_LDADD += ../tools/libfastjettools.la + if BUILD_PLUGIN_SISCONE + fastjet_timing_plugins_CXXFLAGS += -I$(srcdir)/../plugins/SISCone -I$(srcdir)/../plugins/SISCone/siscone +-fastjet_timing_plugins_LDADD += ../plugins/SISCone/libSISConePlugin.la ../plugins/SISCone/siscone/siscone/libsiscone.la ../plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++fastjet_timing_plugins_LDADD += ../plugins/SISCone/libSISConePlugin.la + endif + if BUILD_PLUGIN_CDFCONES + fastjet_timing_plugins_CXXFLAGS += -I$(srcdir)/../plugins/CDFCones +--- fastjet-3.4.0.orig/plugins/SISCone/Makefile.am 2021-06-25 15:37:05.000000000 +0200 ++++ fastjet-3.4.0/plugins/SISCone/Makefile.am 2022-11-11 12:47:47.412329000 +0100 +@@ -1,12 +1,22 @@ +-SUBDIRS = siscone fastjet . ++SUBDIRS = fastjet . + + if MONOLITHIC_PLUGINS + noinst_LTLIBRARIES = libSISConePlugin.la + else + lib_LTLIBRARIES = libSISConePlugin.la + endif +-libSISConePlugin_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir) -I$(srcdir)/siscone -I$(srcdir)/../../include -I./siscone ++libSISConePlugin_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir) -I$(srcdir)/../../include ++ ++if BUNDLE_SISCONE ++SUBDIRS += siscone ++libSISConePlugin_la_CXXFLAGS += -I$(srcdir)/siscone ++libSISConePlugin_la_LIBADD = \ ++ $(top_builddir)/plugins/SISCone/siscone/siscone/libsiscone.la \ ++ $(top_builddir)/plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++else ++libSISConePlugin_la_LIBADD = -lsiscone -lsiscone_spherical ++endif + libSISConePlugin_la_SOURCES = SISConeBasePlugin.cc SISConePlugin.cc SISConeSphericalPlugin.cc +-libSISConePlugin_la_LIBADD = ../../src/libfastjet.la siscone/siscone/libsiscone.la siscone/siscone/spherical/libsiscone_spherical.la ++ + + EXTRA_DIST = makefile.static diff --git a/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-10.3.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-10.3.0.eb index ac030fc7674f..e3fa56007207 100644 --- a/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-10.3.0.eb @@ -18,7 +18,7 @@ checksums = ['185bd58732e57474fa08aae90e154fbc05f3e437ee2b434386dd2266d60d8ef6'] dependencies = [ ('zlib', '1.2.11'), ('ISA-L', '2.30.0'), - ('libdeflate', '1.7'), + ('libdeflate', '1.8'), ] skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.3.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.3.0.eb new file mode 100644 index 000000000000..8a89448a3c83 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="gnu" FFLAGS="$FFLAGS"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-11.2.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-11.2.0.eb new file mode 100644 index 000000000000..3b5996e2d24b --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="gnu" FFLAGS="$FFLAGS"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.2.0.eb new file mode 100644 index 000000000000..487ef3592c6a --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="intel" FFLAGS="$FFLAGS" FPP="$FC -E -P"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.4.0.eb new file mode 100644 index 000000000000..241923554191 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="intel" FFLAGS="$FFLAGS" FPP="$FC -E -P"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..6daf5a68037f --- /dev/null +++ b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'fermi-lite' +version = '20190320' +local_commit = 'b499514' + +homepage = 'https://github.com/lh3/fermi-lite' +description = """Standalone C library for assembling Illumina short reads in small regions.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = [ + '%(name)s-20190320_avoid-bwa-namespace-conflict.patch', + '%(name)s-20190320_build-shared-lib.patch', +] +checksums = [ + 'ea1230e298b8e7193a996b5aceeff7fea44ef00852b0b87d4fcb504bdca0e712', # b499514.tar.gz + # fermi-lite-20190320_avoid-bwa-namespace-conflict.patch + '27600733f1cea8b1d1503b1a67b9d41526e907c1b6321313ff51194e166c1842', + '43398559fbb3910d6d3d1a41af3fb16bf8f26bd7cc34176dfc9a068a551c3f50', # fermi-lite-20190320_build-shared-lib.patch +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +prebuildopts = 'CFLAGS="$CFLAGS -fcommon"' + +files_to_copy = [ + (['fml-asm'], 'bin'), + (['*.a', '*.%s*' % SHLIB_EXT], 'lib'), + (['*.h'], 'include/fml'), + 'test', +] + +sanity_check_paths = { + 'files': ['bin/fml-asm', 'lib/libfml.a', 'lib/libfml.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-11.1.5.2.eb b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-11.1.5.2.eb new file mode 100644 index 000000000000..fa442ed401fd --- /dev/null +++ b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-11.1.5.2.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '11.1.5.2' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/finder/finder-1.1.0-foss-2021b.eb b/easybuild/easyconfigs/f/finder/finder-1.1.0-foss-2021b.eb new file mode 100644 index 000000000000..8cf70e725c47 --- /dev/null +++ b/easybuild/easyconfigs/f/finder/finder-1.1.0-foss-2021b.eb @@ -0,0 +1,70 @@ +# author: Denis Kristak (INUITS) +easyblock = 'Binary' + +name = 'finder' +version = '1.1.0' + +homepage = 'https://github.com/sagnikbanerjee15/Finder/' +description = """finder is a gene annotator pipeline which automates the process of downloading short reads, +aligning them and using the assembled transcripts to generate gene annotations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +source_urls = [ + 'https://github.com/sagnikbanerjee15/Finder/archive/', + 'ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/' +] +sources = ['%(name)s_v%(version)s.tar.gz', 'Arabidopsis_thaliana.TAIR10.dna_sm.toplevel.fa.gz'] +patches = ['finder-%(version)s_run_bare_option.patch'] +checksums = [ + {'finder_v1.1.0.tar.gz': 'be416a01b94f2ac183fb9c4945b09b8f40ac0e40b12e2c08c343bd2aad28bf98'}, + {'Arabidopsis_thaliana.TAIR10.dna_sm.toplevel.fa.gz': + '4598dbd9f6913527933e9822e0d15d7016571de1f8e925c37917e840e8a453bd'}, + {'finder-1.1.0_run_bare_option.patch': '43ee4046bcecc1a1555ef0dc9b98487281c0344028ef6cf1428d24bbfd6cd1ca'}, +] + +dependencies = [ + ('STAR', '2.7.9a'), + ('SAMtools', '1.14'), + ('BEDTools', '2.30.0'), + ('AUGUSTUS', '3.4.0'), + ('BRAKER', '2.1.6'), + ('GeneMark-ET', '4.71'), + ('PsiCLASS', '1.0.3'), + ('olego', '1.1.9'), + ('GUSHR', '2020-09-28'), + ('gffread', '0.12.7'), + ('BEDOPS', '2.4.41'), + ('RegTools', '0.5.2'), + ('BLAST+', '2.12.0'), + ('CodAn', '1.2'), + ('GffCompare', '0.12.6'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('Autotools', '20210726'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), + ('Boost', '1.77.0'), + ('ruffus', '2.8.4'), + ('SRA-Toolkit', '3.0.0'), +] + +extract_sources = True + +install_cmd = "cp -r %(builddir)s/Finder-finder_v%(version)s/* %(installdir)s/ " + + +sanity_check_paths = { + 'files': ['run_finder'], + "dirs": [], +} + +modextrapaths = { + 'PATH': ['utils'] +} + +sanity_check_commands = ["finder --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/finder/finder-1.1.0_run_bare_option.patch b/easybuild/easyconfigs/f/finder/finder-1.1.0_run_bare_option.patch new file mode 100644 index 000000000000..5973e8a7e7fd --- /dev/null +++ b/easybuild/easyconfigs/f/finder/finder-1.1.0_run_bare_option.patch @@ -0,0 +1,84 @@ +adding option to the run_finder script, to be able to run without using singularity or docker +author: Denis Kristak (INUITS) +diff -ruN Finder-finder_v1.1.0_orig/run_finder Finder-finder_v1.1.0/run_finder +--- Finder-finder_v1.1.0_orig/run_finder 2021-12-19 20:46:57.000000000 +0100 ++++ Finder-finder_v1.1.0/run_finder 2022-12-15 12:08:39.120630477 +0100 +@@ -45,7 +45,7 @@ + optional_named.add_argument( "--skip_cpd", "--skip_cpd", help = "Turn on this option to skip changepoint detection. Could be effective for grasses", action = "store_true" ) + optional_named.add_argument( "--exonerate_gff3", "-egff3", help = "Enter the exonerate output in gff3 format" ) + optional_named.add_argument( "--star_shared_mem", "--star_shared_mem", help = "Turn on this option if you want STAR to load the genome index into shared memory. This saves memory if multiple finder runs are executing on the same host, but might not work in your cluster environment.", action = "store_true" ) +- optional_named.add_argument( "--framework", "-fm", help = "Enter your choice of framework", choices = ["docker", "singularity"], default = "docker" ) ++ optional_named.add_argument( "--framework", "-fm", help = "Enter your choice of framework", choices = ["docker", "singularity", "bare"], default = "bare" ) + + # optional_named.add_argument("--intron_gff3","-intron_gff3",help="Enter the name and location of the file containing introns in gff3 format") + # optional_named.add_argument("--ground_truth_gtf","-gt_gtf",help="Enter the gtf filename of the actual annotation [for developmental purposes]") +@@ -86,6 +86,12 @@ + singularity_cmd += f" bash -c {command}" + os.system( singularity_cmd ) + ++def runBareCommand( command ): ++ """ ++ Runs the command directly on the system ++ """ ++ # Runs the main command ++ os.system( command ) + + def main(): + commandLineArg = sys.argv +@@ -98,8 +104,8 @@ + f"{'/'.join(options.genome.split('/')[:-1])}:{'/'.join(options.genome.split('/')[:-1])}", + f"{options.output_directory}:{options.output_directory}"] + +- cmd = f" \" ulimit -n $(ulimit -Hn) && " +- cmd += f" finder " ++ # cmd = f" \" " ++ cmd = f" finder " + cmd += f" --metadatafile {options.metadatafile} " + cmd += f" --output_directory {options.output_directory} " + cmd += f" --genome {options.genome} " +@@ -137,20 +143,16 @@ + cmd += f" --genemark_license {options.genemark_license}" + volumes_list.append( f"{'/'.join(options.genemark_license.split('/')[:-1])}:{'/'.join(options.genemark_license.split('/')[:-1])}" ) + +- cmd += f" \" " ++ # cmd += f" \" " + + volumes_list = list( set( volumes_list ) ) + + os.system( f"mkdir -p {options.output_directory}" ) +- os.system( f"which docker > {options.output_directory}/find_docker" ) +- os.system( f"which singularity > {options.output_directory}/find_singularity" ) ++ os.system( f"which docker > {options.output_directory}/find_docker 2> {options.output_directory}/find_docker.err" ) ++ os.system( f"which singularity > {options.output_directory}/find_singularity 2> {options.output_directory}/find_singularity.err" ) + +- docker_installed = 1 if "Command not found" not in open( f"{options.output_directory}/find_docker", "r" ).read() else 0 +- singularity_installed = 1 if "Command not found" not in open( f"{options.output_directory}/find_singularity", "r" ).read() else 0 +- +- if docker_installed == 0 and singularity_installed == 0: +- print( "You need to have either docker or singularity installed" ) +- sys.exit() ++ docker_installed = 1 if "no docker in" not in open( f"{options.output_directory}/find_docker", "r" ).read() else 0 ++ singularity_installed = 1 if "no singularity in" not in open( f"{options.output_directory}/find_singularity", "r" ).read() else 0 + + framework_of_choice = "" + if options.framework == "docker": +@@ -165,6 +167,9 @@ + else: + framework_of_choice = "docker" + ++ elif options.framework == "bare": ++ framework_of_choice = "bare" ++ + if framework_of_choice == "docker": + os.system( "docker pull sagnikbanerjee15/finder:1.1.0" ) + runDockerCommand( name = "finder", +@@ -189,6 +194,9 @@ + memory = '300g' + ) + ++ elif framework_of_choice == "bare": ++ runBareCommand(command=cmd) ++ + + if __name__ == "__main__": + main() diff --git a/easybuild/easyconfigs/f/fio/fio-3.34-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fio/fio-3.34-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..0b7184963e51 --- /dev/null +++ b/easybuild/easyconfigs/f/fio/fio-3.34-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'fio' +version = '3.34' + +homepage = 'https://github.com/axboe/fio' +docurls = 'https://fio.readthedocs.io/en/latest/index.html' +description = 'Flexible I/O tester' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'axboe' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['42ea28c78d269c4cc111b7516213f4d4b32986797a710b0ff364232cc7a3a0b7'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['bin', 'man', 'share'], +} + +sanity_check_commands = ['fio -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..7223c3f12601 --- /dev/null +++ b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,97 @@ +easyblock = 'PythonBundle' + +name = 'flair-NLP' +version = '0.11.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/flairNLP/flair' +description = "A very simple framework for state-of-the-art NLP" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('lxml', '4.6.3'), + ('gensim', '4.2.0'), + ('Hyperopt', '0.2.7'), + ('BeautifulSoup', '4.10.0'), + ('SentencePiece', '0.1.96'), + ('tokenizers', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('bpemb', '0.3.3', { + 'checksums': ['ad86ba9b1623ecc3be6fcc5ba4408e23a30e118b7e1d683d292f4be788798ffe'], + }), + ('conllu', '4.4.2', { + 'checksums': ['d5ba2f9ebf5c9af86d560e11681a172f6cd8a934967baa6839ba9a0648919c10'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('ftfy', '6.1.1', { + 'checksums': ['bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f'], + }), + ('gdown', '4.4.0', { + 'checksums': ['18fc3a4da4a2273deb7aa29c7486be4df3919d904158ad6a6a3e25c8115470d7'], + }), + ('huggingface_hub', '0.7.0', { + 'checksums': ['8154dc2fad84b32a4bca18372a647d9381ed8550a80b11050758357b8fcea639'], + }), + ('Janome', '0.4.2', { + 'checksums': ['14c31bbfc11724da299b4b71a06bccb3af9a105e7c912bc38a22132d8991ec97'], + }), + ('overrides', '3.1.0', { + 'checksums': ['30f761124579e59884b018758c4d7794914ef02a6c038621123fec49ea7599c6'], + }), + ('importlib_metadata', '3.10.1', { + 'checksums': ['c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1'], + }), + ('konoha', '4.6.5', { + 'checksums': ['c83023e3bda68aa910bfc115c6ab72d10b2b9478093253b4e17a20b0acf6bb7f'], + }), + ('langdetect', '1.0.9', { + 'checksums': ['cbc1fef89f8d062739774bd51eda3da3274006b3661d199c2655f6b3f6d605a0'], + }), + ('mpld3', '0.5.8', { + 'checksums': ['1a167dbef836dd7c66d8aa71c06a32d50bffa18725f304d93cb74fdb3545043b'], + }), + ('pptree', '3.1', { + 'checksums': ['4dd0ba2f58000cbd29d68a5b64bac29bcb5a663642f79404877c0059668a69f6'], + }), + ('segtok', '1.5.11', { + 'checksums': ['8ab2dd44245bcbfec25b575dc4618473bbdf2af8c2649698cd5a370f42f3db23'], + }), + ('sqlitedict', '2.0.0', { + 'checksums': ['23a370416f4e1e962daa293382f3a8dbc4127e6a0abc06a5d4e58e6902f05d17'], + }), + ('transformers', '4.19.2', { + 'checksums': ['e19a4ff07458eda143c738e5259caf48449fcf078a63d6b1bd1aa806543440a3'], + }), + ('Wikipedia-API', '0.5.4', { + 'checksums': ['5173d4db641cdb78d96f2b052df2232bcdc00cf32a424c43402958a40f783992'], + 'modulename': 'wikipediaapi', + }), + ('flair', version, { + # can't use PyPI source tarball, because requirements.txt is missing; + # see also https://github.com/flairNLP/flair/issues/2759 + 'source_urls': ['https://github.com/flairNLP/flair/archive/refs/tags'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['c780320d6d85075e25638a7157a16409f46bc9496db31fbbaa92aeac448f1cf9'], + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a.eb b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a.eb new file mode 100644 index 000000000000..dd85efe2e48f --- /dev/null +++ b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a.eb @@ -0,0 +1,95 @@ +easyblock = 'PythonBundle' + +name = 'flair-NLP' +version = '0.11.3' + +homepage = 'https://github.com/flairNLP/flair' +description = "A very simple framework for state-of-the-art NLP" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('lxml', '4.6.3'), + ('gensim', '4.2.0'), + ('Hyperopt', '0.2.7'), + ('BeautifulSoup', '4.10.0'), + ('SentencePiece', '0.1.96'), + ('tokenizers', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('bpemb', '0.3.3', { + 'checksums': ['ad86ba9b1623ecc3be6fcc5ba4408e23a30e118b7e1d683d292f4be788798ffe'], + }), + ('conllu', '4.4.2', { + 'checksums': ['d5ba2f9ebf5c9af86d560e11681a172f6cd8a934967baa6839ba9a0648919c10'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('ftfy', '6.1.1', { + 'checksums': ['bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f'], + }), + ('gdown', '4.4.0', { + 'checksums': ['18fc3a4da4a2273deb7aa29c7486be4df3919d904158ad6a6a3e25c8115470d7'], + }), + ('huggingface_hub', '0.7.0', { + 'checksums': ['8154dc2fad84b32a4bca18372a647d9381ed8550a80b11050758357b8fcea639'], + }), + ('Janome', '0.4.2', { + 'checksums': ['14c31bbfc11724da299b4b71a06bccb3af9a105e7c912bc38a22132d8991ec97'], + }), + ('overrides', '3.1.0', { + 'checksums': ['30f761124579e59884b018758c4d7794914ef02a6c038621123fec49ea7599c6'], + }), + ('importlib_metadata', '3.10.1', { + 'checksums': ['c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1'], + }), + ('konoha', '4.6.5', { + 'checksums': ['c83023e3bda68aa910bfc115c6ab72d10b2b9478093253b4e17a20b0acf6bb7f'], + }), + ('langdetect', '1.0.9', { + 'checksums': ['cbc1fef89f8d062739774bd51eda3da3274006b3661d199c2655f6b3f6d605a0'], + }), + ('mpld3', '0.5.8', { + 'checksums': ['1a167dbef836dd7c66d8aa71c06a32d50bffa18725f304d93cb74fdb3545043b'], + }), + ('pptree', '3.1', { + 'checksums': ['4dd0ba2f58000cbd29d68a5b64bac29bcb5a663642f79404877c0059668a69f6'], + }), + ('segtok', '1.5.11', { + 'checksums': ['8ab2dd44245bcbfec25b575dc4618473bbdf2af8c2649698cd5a370f42f3db23'], + }), + ('sqlitedict', '2.0.0', { + 'checksums': ['23a370416f4e1e962daa293382f3a8dbc4127e6a0abc06a5d4e58e6902f05d17'], + }), + ('transformers', '4.19.2', { + 'checksums': ['e19a4ff07458eda143c738e5259caf48449fcf078a63d6b1bd1aa806543440a3'], + }), + ('Wikipedia-API', '0.5.4', { + 'checksums': ['5173d4db641cdb78d96f2b052df2232bcdc00cf32a424c43402958a40f783992'], + 'modulename': 'wikipediaapi', + }), + ('flair', version, { + # can't use PyPI source tarball, because requirements.txt is missing; + # see also https://github.com/flairNLP/flair/issues/2759 + 'source_urls': ['https://github.com/flairNLP/flair/archive/refs/tags'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['c780320d6d85075e25638a7157a16409f46bc9496db31fbbaa92aeac448f1cf9'], + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..019f393bdd0b --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '2.0.7' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library + +Includes the Flatbuffers compiler, C/C++ bindings and Python runtime library. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4c7986174dc3941220bf14feaacaad409c3e1526d9ad7f490366fede9a6f43fa'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +# Install into the same dir as the Python extension which is /lib +configopts = '-DFLATBUFFERS_ENABLE_PCH=ON -DCMAKE_INSTALL_LIBDIR=lib' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('flatbuffers', version, { + 'sources': { + 'download_filename': SOURCE_TAR_GZ, + 'filename': '%(name)s-python-%(version)s.tar.gz', + }, + 'checksums': ['0ae7d69c5b82bf41962ca5fde9cc43033bc9501311d975fd5a25e8a7d29c1245'], + }), +] + +sanity_check_paths = { + 'files': ['include/flatbuffers/flatbuffers.h', 'bin/flatc', 'lib/libflatbuffers.a'], + 'dirs': ['lib/cmake', 'lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.1.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6a6c59241f72 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.1.4-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '23.1.4' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['801871ff3747838c0dd9730fc44ca9cc453ff42f9c8a0a2f1b33776d2ca5e4b9'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('Python', '3.10.8'), +] + +configopts = '-DFLATBUFFERS_ENABLE_PCH=ON ' + +sanity_check_paths = { + 'files': ['include/flatbuffers/flatbuffers.h', 'bin/flatc', 'lib/libflatbuffers.a'], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.3.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.3.0.eb new file mode 100644 index 000000000000..220d66b7494d --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="gnu" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.2.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..2adf960c7c51 --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="gnu" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.2.0.eb new file mode 100644 index 000000000000..99b8846126f6 --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="intel" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.4.0.eb new file mode 100644 index 000000000000..bf8b3b0072eb --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.4.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="intel" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flowFDA/flowFDA-0.99-20220602-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/f/flowFDA/flowFDA-0.99-20220602-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..ff0965141f50 --- /dev/null +++ b/easybuild/easyconfigs/f/flowFDA/flowFDA-0.99-20220602-foss-2022a-R-4.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'flowFDA' +local_commit = 'a7e931d' +version = '0.99-20220602' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/FMKerckhof/flowFDA' +description = """R package for analysing flow cytometry experiments with model based clustering, + functional principal component analysis""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/FMKerckhof/flowFDA/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['80942abd4760bbaa815c909749e0d2746cf7838967b555f7035d1bf0ff149724'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..cfaa82feaea2 --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '9.1.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39') +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6a514ecbd3cc --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.1-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.14.1' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ae480e9ca34382790312ff062c625ec70df94d6d9a9366e2b2b3d525f7f90387'] + +builddependencies = [ + ('binutils', '2.39'), + ('gperf', '3.1'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8', '-bare'), +] + +dependencies = [ + ('expat', '2.4.9'), + ('freetype', '2.12.1'), + ('util-linux', '2.38.1'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/foss/foss-2022.10.eb b/easybuild/easyconfigs/f/foss/foss-2022.10.eb new file mode 100644 index 000000000000..023dc1773841 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2022.10.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2022.10' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2022b.eb b/easybuild/easyconfigs/f/foss/foss-2022b.eb new file mode 100644 index 000000000000..c1a658b50200 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2022b.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2022b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb b/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb index 60f21578c56d..5d4d5c538a37 100644 --- a/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb +++ b/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb @@ -20,7 +20,7 @@ dependencies = [('netCDF', '4.7.4')] parallel = 1 # Don't overwrite $LD_LIBRARY_PATH, but append fpocket paths to it. -prebuildopts = 'sed -i "s/LD_LIBRARY_PATH=/LD_LIBRARY_PATH=\$(LD_LIBRARY_PATH):/g" makefile && ' +prebuildopts = r'sed -i "s/LD_LIBRARY_PATH=/LD_LIBRARY_PATH=\$(LD_LIBRARY_PATH):/g" makefile && ' # Use CFLAGS from EB prebuildopts += 'sed -i "s/-O2.*c99/$CFLAGS/g" makefile && ' diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021a-R-4.1.0.eb new file mode 100644 index 000000000000..cc4ea323667e --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021a-R-4.1.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MesonNinja' + +name = 'freebayes' +version = '1.3.6' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/freebayes/freebayes' +description = "Bayesian haplotype-based genetic polymorphism discovery and genotyping." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.3.6_find-external-libs.patch', + '%(name)s-1.3.5_fix-includes.patch', + '%(name)s-1.3.6_install-libs-headers.patch', +] +checksums = [ + 'd668c0b433cc0f11498ace10e48d72a7f0f40ca23b391b72e975ffafd1c13044', # v1.3.6.tar.gz + '4836a9ceaa9044e6e66b3ca0387b058a5e0505ddeaa62c428b526b5e234aff3b', # freebayes-1.3.6_find-external-libs.patch + '4c6c74b30bf3b2f04b8a50bbdef26e74f6e2412f3efbd81512226e557c2a53d1', # freebayes-1.3.5_fix-includes.patch + '5ba006ca6956905bbd81107a17e02287c515890ee25884c444ebf5b95da1caae', # freebayes-1.3.6_install-libs-headers.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('R', '4.1.0'), + ('parallel', '20210622'), + ('libffi', '3.3'), + ('VCFtools', '0.1.16'), + ('vcflib', '1.0.3', versionsuffix), + ('SeqLib', '1.2.0'), +] + +configopts = "--buildtype release" + +sanity_check_paths = { + 'files': ['bin/freebayes', 'bin/bamleftalign', 'scripts/freebayes-parallel'], + 'dirs': [], +} + +sanity_check_commands = ["freebayes --help"] + +modextrapaths = {'PATH': ['scripts']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb index 9c6c6da33727..369b48c506a9 100644 --- a/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb +++ b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb @@ -24,7 +24,7 @@ download_dep_fail = True use_pip = True # drop [toml] from setup_requires, see https://github.com/rougier/freetype-py/pull/129 -preinstallopts = "sed -i 's/setuptools_scm\[toml\]/setuptools_scm/g' setup.py && " +preinstallopts = r"sed -i 's/setuptools_scm\[toml\]/setuptools_scm/g' setup.py && " options = {'modulename': 'freetype'} diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4b7d4298ad18 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.12.1' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('Brotli', '1.0.9'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb new file mode 100644 index 000000000000..78068a53cc2e --- /dev/null +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'funannotate' +version = '1.8.13' + +homepage = 'https://funannotate.readthedocs.io' +description = """funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work + with higher eukaryotes)""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Biopython', '1.79'), + ('GOATOOLS', '1.3.1'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('Seaborn', '0.11.2'), +] + +use_pip = True + +exts_list = [ + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + (name, version, { + 'checksums': ['40819741bcb38ef3a410a242cc5f172cb0e0083570daddfe5807fb6bc0c3c384'], + }), +] + +sanity_check_paths = { + 'files': ['bin/funannotate'], + 'dirs': [], +} + +sanity_check_commands = ["funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb b/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb index 16b75da45cbf..ffb2cd9c28ea 100644 --- a/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb +++ b/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb @@ -20,10 +20,10 @@ checksums = ['e7fd4c115f9112fd9a019dcb6314e3a9d989f56daa0f833a28dc8249e50988ef'] builddependencies = [('Autotools', '20180311')] -configopts = '--with-ncl=$EBROOTNCL' +configopts = '--with-ncl=$EBROOTNEXUSMINCL' dependencies = [ - ('ncl', '2.1.18'), + ('NEXUS-CL', '2.1.18'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb new file mode 100644 index 000000000000..2d4407c36992 --- /dev/null +++ b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'GATB-Core' +version = '1.4.2' + +homepage = 'https://gatb.inria.fr/software/gatb-core' +description = """GATB-Core is a high-performance and low memory footprint C++ library that provides a set of highly + efficient algorithms to analyse NGS data sets""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/GATB/gatb-core/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch'] +checksums = [ + {'v1.4.2.tar.gz': '824c84a3712973746b977a9d49923fd499021a894225231100eaad1a66e9742d'}, + {'GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch': + '938ff686e1fc8170b8ef4a73c1c0af059eb3eb76a6251b44a3dfddf991e05c63'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('HDF5', '1.12.2'), +] + +start_dir = 'gatb-core' + +preconfigopts = "rm -r %(start_dir)s/thirdparty/{boost,hdf5} && " + +sanity_check_paths = { + 'files': ['bin/dbginfo', 'bin/leon', 'lib/libgatbcore.a'], + 'dirs': ['include/gatb'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch new file mode 100644 index 000000000000..e9e4b86b9c29 --- /dev/null +++ b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch @@ -0,0 +1,232 @@ +don't use vendored boost/hdf5 from gatb-core/thirdparty +author: Kenneth Hoste (HPC-UGent) +diff -ru gatb-core-1.4.2.orig/gatb-core/CMakeLists.txt gatb-core-1.4.2/gatb-core/CMakeLists.txt +--- gatb-core-1.4.2.orig/gatb-core/CMakeLists.txt 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/CMakeLists.txt 2023-03-31 21:25:42.862864064 +0200 +@@ -209,7 +209,7 @@ + set (gatb-core-includes ${PROJECT_BINARY_DIR}/include ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE} ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/thirdparty ${gatb-core-extra-libraries-inc}) + + # We define the libraries used for linking binary based on gatb core +-set (gatb-core-libraries gatbcore-static dl pthread z hdf5-static ${gatb-core-extra-libraries}) ++set (gatb-core-libraries gatbcore-static dl pthread z hdf5 ${gatb-core-extra-libraries}) + + # We define the directory where to find cmake helpers + set (gatb-core-cmake ${CMAKE_MODULE_PATH}) +@@ -252,12 +252,6 @@ + ADD_SUBDIRECTORY(thirdparty) + + ################################################################################ +-# DEPENDENCIES +-################################################################################ +-# we must be sure that hdf5 is built and installed before building gatb-core +-ADD_DEPENDENCIES (gatbcore-static hdf5-static hdf5_postbuild) +- +-################################################################################ + # DOCUMENTATION GENERATION + ################################################################################ + IF (EXISTS "${PROJECT_SOURCE_DIR}/doc") +@@ -286,7 +280,6 @@ + INSTALL (FILES ${PROJECT_SOURCE_DIR}/doc/misc/README.txt DESTINATION . OPTIONAL) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/LICENCE DESTINATION . OPTIONAL) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/THIRDPARTIES.md DESTINATION . OPTIONAL) +- INSTALL (DIRECTORY ${PROJECT_SOURCE_DIR}/thirdparty/boost DESTINATION ./include) + ENDIF() + + ################################################################################ +--- gatb-core-1.4.2.orig/gatb-core/thirdparty/CMakeLists.txt 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/thirdparty/CMakeLists.txt 2023-03-31 14:39:11.999034862 +0200 +@@ -1,54 +1,3 @@ +-################################################################################ +-# HDF5 GENERATION +-################################################################################ +- +-#SET (HDF5_ENABLE_THREADSAFE ON) +-#SET (H5_HAVE_THREADSAFE 1) +- +-########## MOMENTARY DEACTIVATED => CRASH ON MACOS TO BE INVESTIGATED ########## +-SET (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools") +-#SET (CMAKE_EXE_LINKER_FLAGS "-lpthread -lz") +- +-SET (HDF5_EXTERNALLY_CONFIGURED ON) +- +-#SET (HDF5_INSTALL_BIN_DIR ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) +-#SET (HDF5_INSTALL_LIB_DIR ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) +-SET (HDF5_INSTALL_BIN_DIR bin) +-SET (HDF5_INSTALL_LIB_DIR lib) +- +-SET (HDF5_INSTALL_INCLUDE_DIR ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5) +-SET (HDF5_INSTALL_DATA_DIR ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE}) +-SET (HDF5_INSTALL_CMAKE_DIR ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE}) +- +-IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE) +- SET (HDF5_EXPORTED_TARGETS "gatb-hdf5") +-ENDIF() +- +-IF (NOT DEFINED GATB_CORE_EXCLUDE_HDF5_ZLIB) +- OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON) +-ENDIF() +- +-# We don't want warnings from HDF5 compilation +-set (COMPILE_DEFINITIONS "${COMPILE_DEFINITIONS} -w") +-add_definitions (${COMPILE_DEFINITIONS}) +- +-# add HDF5 generation +-ADD_SUBDIRECTORY (hdf5) +- +-# We add a custom target for copying header files. +-add_custom_target (hdf5_postbuild ALL) +- +-# We build the output directory +-add_custom_command (TARGET hdf5_postbuild POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${HDF5_INSTALL_INCLUDE_DIR}) +- +-# We define all the header files to be copied +-file (GLOB headerfiles ${PROJECT_SOURCE_DIR}/thirdparty/hdf5/src/*.h ${PROJECT_BINARY_DIR}/thirdparty/hdf5/H5pubconf.h) +- +-# We copy each header file +-foreach (header ${headerfiles}) +- add_custom_command (TARGET hdf5_postbuild POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header} ${HDF5_INSTALL_INCLUDE_DIR} ) +-endforeach() +- + # include other smaller libraries (json, Boophf) + + add_custom_target (thirdparty_copy ALL) +@@ -63,7 +12,6 @@ + # INSTALL + ################################################################################ + IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE) +- INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5 DESTINATION include) + INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/json DESTINATION include) + INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/BooPHF DESTINATION include) + ENDIF () +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/LargeInt.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/LargeInt.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/LargeInt.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/LargeInt.hpp 2023-03-31 10:40:57.005450131 +0200 +@@ -35,7 +35,7 @@ + #include + #include + #include +-#include ++#include + + #include + #include +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt128.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt128.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt128.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt128.hpp 2023-03-31 10:40:57.005450131 +0200 +@@ -33,7 +33,7 @@ + /********************************************************************************/ + + #include +-#include ++#include + + #include + #include +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt16.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt16.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt16.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt16.hpp 2023-03-31 10:40:57.005450131 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt32.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt32.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt32.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt32.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt64.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt64.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt64.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt64.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + extern const unsigned char revcomp_4NT[]; + extern const unsigned char comp_NT []; +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt8.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt8.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt8.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt8.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/Abundance.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/Abundance.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/Abundance.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/Abundance.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + /********************************************************************************/ + + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp 2023-03-31 10:40:57.007450212 +0200 +@@ -28,7 +28,7 @@ + + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp 2023-03-31 10:40:57.007450212 +0200 +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp 2023-03-31 10:40:57.008450252 +0200 +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp 2023-03-31 10:40:57.008450252 +0200 +@@ -33,7 +33,7 @@ + #include + #include + #include +-#include ++#include + #include + + /********************************************************************************/ diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-11.3.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-11.3.0-Java-11.eb new file mode 100644 index 000000000000..81e5752680fc --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-11.3.0-Java-11.eb @@ -0,0 +1,53 @@ +## +# 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.3.0.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/gatk/' +description = """The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute + to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, + with a primary focus on variant discovery and genotyping as well as strong emphasis on + data quality assurance. Its robust architecture, powerful processing engine and + high-performance computing features make it capable of taking on projects of any size.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['e2c27229b34c3e22445964adf00639a0909887bbfcc040f6910079177bc6e2dd'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.4'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb index 23a101c3f9f8..5ad494800692 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb @@ -31,17 +31,20 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', ] checksums = [ - '954057239c89d25bc7a62bfbceb58026363ad74f079c63fdba27f95abbf60900', # gcc-10.1.0.tar.gz - 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea', # gmp-6.2.0.tar.bz2 - 'c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc', # mpfr-4.0.2.tar.bz2 - '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e', # mpc-1.1.0.tar.gz - '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd', # isl-0.22.1.tar.bz2 - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch - '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch - 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832', # GCC-10.x_fix-libsanitizer-cyclades.patch + {'gcc-10.1.0.tar.gz': '954057239c89d25bc7a62bfbceb58026363ad74f079c63fdba27f95abbf60900'}, + {'gmp-6.2.0.tar.bz2': 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea'}, + {'mpfr-4.0.2.tar.bz2': 'c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc'}, + {'mpc-1.1.0.tar.gz': '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e'}, + {'isl-0.22.1.tar.bz2': '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb index d6d21047a9c1..880ff3864f6b 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb @@ -39,24 +39,28 @@ patches = [ 'GCCcore-10.2.0_fix-vec-builtins-conversion-on-ppc.patch', 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', ] checksums = [ - '27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d', # gcc-10.2.0.tar.gz - 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea', # gmp-6.2.0.tar.bz2 - 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 - '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e', # mpc-1.1.0.tar.gz - '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd', # isl-0.22.1.tar.bz2 - '58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66', # newlib-3.3.0.tar.gz - 'a25b6f7761bb61c0d8e2a183bcf51fbaaeeac26868dcfc015e3b16a33fe11705', # nvptx-tools-20180301.tar.gz - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch - '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108', # GCCcore-9.3.0_nvptx_sm_35_default.patch - 'f94fa117f3401b28fda0741f3f45439c09dc956d1ed27f9a3ebe40c0e7e404b6', # GCCcore-10.2.0_fix-has-include-Fortran.patch - '44edbf1cddb2d7037f9606b6995d9ef20ff664b810a3e3ef383420a4366ed278', # GCCcore-10.2.0_fix-ice-on-arm.patch - # GCCcore-10.2.0_fix-vec-builtins-conversion-on-ppc.patch - 'fb160374ba691d8267a19dee4268305a6e34123cab9e65176b5168c36e9f0962', - '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch - 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832', # GCC-10.x_fix-libsanitizer-cyclades.patch + {'gcc-10.2.0.tar.gz': '27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d'}, + {'gmp-6.2.0.tar.bz2': 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.1.0.tar.gz': '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e'}, + {'isl-0.22.1.tar.bz2': '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd'}, + {'newlib-3.3.0.tar.gz': '58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66'}, + {'nvptx-tools-20180301.tar.gz': 'a25b6f7761bb61c0d8e2a183bcf51fbaaeeac26868dcfc015e3b16a33fe11705'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.3.0_nvptx_sm_35_default.patch': '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108'}, + {'GCCcore-10.2.0_fix-has-include-Fortran.patch': + 'f94fa117f3401b28fda0741f3f45439c09dc956d1ed27f9a3ebe40c0e7e404b6'}, + {'GCCcore-10.2.0_fix-ice-on-arm.patch': '44edbf1cddb2d7037f9606b6995d9ef20ff664b810a3e3ef383420a4366ed278'}, + {'GCCcore-10.2.0_fix-vec-builtins-conversion-on-ppc.patch': + 'fb160374ba691d8267a19dee4268305a6e34123cab9e65176b5168c36e9f0962'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb index a3826b1579cb..7f9079c65c0e 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb @@ -37,21 +37,24 @@ patches = [ 'gcc-10.3.0_fix-ice-in-tsubst.patch', 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', ] checksums = [ - '8fcf994811ad4e5c7ac908e8cf62af2c1982319e5551f62ae72016064dacdf16', # gcc-10.3.0.tar.gz - 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2 - 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 - '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz - 'c58922c14ae7d0791a77932f377840890f19bc486b653fa64eba7f1026fb214d', # isl-0.23.tar.bz2 - 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz - '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2', # nvptx-tools-20210115.tar.gz - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch - '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108', # GCCcore-9.3.0_nvptx_sm_35_default.patch - '74e6e019458aa2feb36ae3c45f45e164725ca5edd66f4fe9f873c8ee78c35717', # gcc-10.3.0_fix-ice-in-tsubst.patch - '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch - 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832', # GCC-10.x_fix-libsanitizer-cyclades.patch + {'gcc-10.3.0.tar.gz': '8fcf994811ad4e5c7ac908e8cf62af2c1982319e5551f62ae72016064dacdf16'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.23.tar.bz2': 'c58922c14ae7d0791a77932f377840890f19bc486b653fa64eba7f1026fb214d'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20210115.tar.gz': '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.3.0_nvptx_sm_35_default.patch': '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108'}, + {'gcc-10.3.0_fix-ice-in-tsubst.patch': '74e6e019458aa2feb36ae3c45f45e164725ca5edd66f4fe9f873c8ee78c35717'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb index a5a301639481..b89321338eb5 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb @@ -35,6 +35,8 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', + 'GCCcore-11.1.0_fix-AVX2-intrinsics.patch', 'GCCcore-11.3.0_fix-vectorizer.patch', ] checksums = [ @@ -50,6 +52,8 @@ checksums = [ {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, + {'GCCcore-11.1.0_fix-AVX2-intrinsics.patch': 'a06c09cc6ba25ec4e0a28280eb6b25cdb331f7835d07ebb3a83536214d3d68fa'}, {'GCCcore-11.3.0_fix-vectorizer.patch': '7dff25b678e2f65b81d9bf0c8402ad46c25a04b0c0d610db50b763ecc5f9ef98'}, ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0_fix-AVX2-intrinsics.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0_fix-AVX2-intrinsics.patch new file mode 100644 index 000000000000..08381e2694da --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0_fix-AVX2-intrinsics.patch @@ -0,0 +1,129 @@ +Fix wrongly implemented _mm_loadu_si32/16 resulting in failures in e.g. PyTorch tests +due to wrong values as the order in the vectorized elements is wrong. + +From 85568e505c3b06708ec0fb21d1ab4f78e0c66896 Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek +Date: Mon, 14 Mar 2022 10:44:38 +0100 +Subject: [PATCH 1/1] i386: Fix up _mm_loadu_si{16,32} [PR99754] + +These intrinsics are supposed to do an unaligned may_alias load +of a 16-bit or 32-bit value and store it as the first element of +a 128-bit integer vector, with all other elements cleared. + +The current _mm_storeu_* implementation implements that correctly, uses +__*_u types to do the store and extracts the first element of a vector into +it. +But _mm_loadu_si{16,32} gets it all wrong. It performs an aligned +non-may_alias load and because _mm_set_epi{16,32} has the args reversed, +it also inserts it into the last vector element instead of first. + +The following patch fixes that. + +Note, while the Intrinsics guide for _mm_loadu_si32 says SSE2, +for _mm_loadu_si16 it says strangely SSE. But the intrinsics +returns __m128i, which is only defined in emmintrin.h, and +_mm_set_epi16 is also only SSE2 and later in emmintrin.h. +Even clang defines it in emmintrin.h and ends up with inlining +failure when calling _mm_loadu_si16 from sse,no-sse2 function. +So, isn't that a bug in the intrinsic guide instead? + +2022-03-14 Jakub Jelinek + + PR target/99754 + * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into + first rather than last element of the vector, use __m32_u to do + a really unaligned load, use just 0 instead of (int)0. + (_mm_loadu_si16): Put loaded value into first rather than last + element of the vector, use __m16_u to do a really unaligned load, + use just 0 instead of (short)0. + + * gcc.target/i386/pr99754-1.c: New test. + * gcc.target/i386/pr99754-2.c: New test. +--- + gcc/config/i386/emmintrin.h | 5 ++--- + gcc/testsuite/gcc.target/i386/pr99754-1.c | 20 +++++++++++++++++++ + gcc/testsuite/gcc.target/i386/pr99754-2.c | 24 +++++++++++++++++++++++ + 3 files changed, 46 insertions(+), 3 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/pr99754-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/pr99754-2.c + +diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h +index eb6de5c5038..ead06228572 100644 +--- a/gcc/config/i386/emmintrin.h ++++ b/gcc/config/i386/emmintrin.h +@@ -718,14 +718,13 @@ _mm_loadu_si64 (void const *__P) + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_loadu_si32 (void const *__P) + { +- return _mm_set_epi32 (*(int *)__P, (int)0, (int)0, (int)0); ++ return _mm_set_epi32 (0, 0, 0, (*(__m32_u *)__P)[0]); + } + + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_loadu_si16 (void const *__P) + { +- return _mm_set_epi16 (*(short *)__P, (short)0, (short)0, (short)0, +- (short)0, (short)0, (short)0, (short)0); ++ return _mm_set_epi16 (0, 0, 0, 0, 0, 0, 0, (*(__m16_u *)__P)[0]); + } + + extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +diff --git a/gcc/testsuite/gcc.target/i386/pr99754-1.c b/gcc/testsuite/gcc.target/i386/pr99754-1.c +new file mode 100644 +index 00000000000..9c953724881 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr99754-1.c +@@ -0,0 +1,20 @@ ++/* PR target/99754 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -msse2" } */ ++/* { dg-require-effective-target sse2 } */ ++ ++#include "sse2-check.h" ++#include ++ ++static void ++sse2_test (void) ++{ ++ union { unsigned char buf[32]; long long ll; } u; ++ u.buf[1] = 0xfe; ++ u.buf[2] = 0xca; ++ u.buf[17] = 0xaa; ++ u.buf[18] = 0x55; ++ _mm_storeu_si16 (&u.buf[17], _mm_loadu_si16 (&u.buf[1])); ++ if (u.buf[17] != 0xfe || u.buf[18] != 0xca) ++ abort (); ++} +diff --git a/gcc/testsuite/gcc.target/i386/pr99754-2.c b/gcc/testsuite/gcc.target/i386/pr99754-2.c +new file mode 100644 +index 00000000000..f7a1dd3e124 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr99754-2.c +@@ -0,0 +1,24 @@ ++/* PR target/99754 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -msse2" } */ ++/* { dg-require-effective-target sse2 } */ ++ ++#include "sse2-check.h" ++#include ++ ++static void ++sse2_test (void) ++{ ++ union { unsigned char buf[32]; long long ll; } u; ++ u.buf[1] = 0xbe; ++ u.buf[2] = 0xba; ++ u.buf[3] = 0xfe; ++ u.buf[4] = 0xca; ++ u.buf[17] = 0xaa; ++ u.buf[18] = 0x55; ++ u.buf[19] = 0xaa; ++ u.buf[20] = 0x55; ++ _mm_storeu_si32 (&u.buf[17], _mm_loadu_si32 (&u.buf[1])); ++ if (u.buf[17] != 0xbe || u.buf[18] != 0xba || u.buf[19] != 0xfe || u.buf[20] != 0xca) ++ abort (); ++} +-- +2.31.1 + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb index 5efade9fb398..56cebe7e95f0 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb @@ -34,6 +34,8 @@ patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', + 'GCCcore-11.1.0_fix-AVX2-intrinsics.patch', 'GCCcore-11.3.0_fix-vectorizer.patch', ] checksums = [ @@ -48,6 +50,8 @@ checksums = [ {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, + {'GCCcore-11.1.0_fix-AVX2-intrinsics.patch': 'a06c09cc6ba25ec4e0a28280eb6b25cdb331f7835d07ebb3a83536214d3d68fa'}, {'GCCcore-11.3.0_fix-vectorizer.patch': '7dff25b678e2f65b81d9bf0c8402ad46c25a04b0c0d610db50b763ecc5f9ef98'}, ] diff --git a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..8145961cb31f --- /dev/null +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'GConf' +version = '3.2.6' + +# The homeage is no longer reachable! +# homepage = 'https://developer.gnome.org/gconf/' +# The project was depricated with the move to Gnome-3 +# Possible alternative, although 6 years old: +homepage = 'https://gitlab.gnome.org/iainl/gconf' +description = """GConf is a system for storing application preferences. + It is intended for user preferences; not configuration + of something like Apache, or arbitrary data storage.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/GConf/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +patches = [ + '%(name)s-%(version)s_call-dbus_g_thread_init.patch', + '%(name)s-%(version)s_fix_wrong_return_value.patch', + '%(name)s-%(version)s_gconf-path-max-hurd.patch', + '%(name)s-%(version)s_readd_gconf_engine_key_is_writable.patch', +] +checksums = [ + '1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c', # GConf-3.2.6.tar.xz + 'ed55bff5bc239115ae27b8520a923ae0d5cab6cb15ca9921a8c23b939306489f', # GConf-3.2.6_call-dbus_g_thread_init.patch + 'f8f7745c3648953098eb56af0f64adc69d8c0b0e78c8db351746a2b4c58e8bb4', # GConf-3.2.6_fix_wrong_return_value.patch + 'ee5524c3cb985088bbe4884531ddc48ba22d2fced2a34865304c77e194a55bde', # GConf-3.2.6_gconf-path-max-hurd.patch + # GConf-3.2.6_readd_gconf_engine_key_is_writable.patch + 'b95dfc2f0474d9162fc686f26cd4d3da5c9b01a9c609dc0a4f2b2bd901d497f3', +] + +builddependencies = [ + ('binutils', '2.37'), + ('GObject-Introspection', '1.68.0'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('dbus-glib', '0.112'), + ('libxml2', '2.9.10'), + ('GTK3', '3.24.31'), + ('intltool', '0.51.0'), +] + +configopts = '--disable-orbit ' + +local_check_filelist = ['bin/gconf%s' % x for x in ['-merge-tree', 'tool-2']] +local_check_filelist += ['bin/gsettings-%s-convert' % x for x in ['data', 'schema']] +local_check_filelist += ['lib/libgconf-2.%s' % x for x in ['a', 'so']] + +sanity_check_paths = { + 'files': local_check_filelist, + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d889cb7d1f5c --- /dev/null +++ b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb @@ -0,0 +1,57 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester (The Francis Crick Insitute, London, UK) +# Update to v2.71: Alex Domingo (Vrije Universiteit Brussel) +# Update to v2.73: Sebastien Moretti (SIB Swiss Institute of Bioinformatics) +# + +easyblock = 'Bundle' + +name = 'GD' +version = '2.75' + +homepage = 'https://github.com/lstein/Perl-GD' +description = """GD.pm - Interface to Gd Graphics Library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('X11', '20220504'), + ('libgd', '2.3.3'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('ExtUtils::PkgConfig', '1.16', { + 'source_tmpl': 'ExtUtils-PkgConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + (name, version, { + 'source_tmpl': 'release_%(version_major)s_%(version_minor)s.tar.gz', + 'source_urls': ['https://github.com/lstein/Perl-GD/archive/'], + 'checksums': ['b82ca67fa67446f16ee7ba8bccee2062644816a83cb2ee4e4de2fa3ee8ab359d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bdf2gdfont.pl', 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/%(name)s'], +} + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-foss-2021b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-foss-2021b.eb new file mode 100644 index 000000000000..0546c798085a --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-foss-2021b.eb @@ -0,0 +1,69 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.4.4' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'extra_cxxflags': "-fpermissive"} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + 'GDAL-3.0.0_fix-python-CC-CXX.patch', + 'GDAL-2.4.4_fix-include-limits.patch', +] +checksums = [ + {'gdal-2.4.4.tar.xz': 'a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8'}, + {'GDAL-3.0.0_fix-python-CC-CXX.patch': '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381'}, + {'GDAL-2.4.4_fix-include-limits.patch': 'f8d9f74dabc1167a88d41f5c715d9d9b098016c94eec0339b2f6f8dfe3c05deb'}, +] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('netCDF', '4.8.1'), + ('expat', '2.4.1'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('JasPer', '2.0.33'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PROJ', '8.1.0'), + ('libgeotiff', '1.7.0'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('HDF', '4.2.15'), +] + +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' +configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' +configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' +configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-intel-2021b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-intel-2021b.eb new file mode 100644 index 000000000000..4f817551b4a9 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-intel-2021b.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.4.4' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'extra_cxxflags': "-fpermissive"} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + 'GDAL-3.0.0_fix-python-CC-CXX.patch', + 'GDAL-2.4.4_fix-include-limits.patch', +] +checksums = [ + {'gdal-2.4.4.tar.xz': 'a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8'}, + {'GDAL-3.0.0_fix-python-CC-CXX.patch': '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381'}, + {'GDAL-2.4.4_fix-include-limits.patch': 'f8d9f74dabc1167a88d41f5c715d9d9b098016c94eec0339b2f6f8dfe3c05deb'}, +] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('netCDF', '4.8.1'), + ('expat', '2.4.1'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('JasPer', '2.0.33'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PROJ', '8.1.0'), + ('libgeotiff', '1.7.0'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('HDF', '4.2.15'), +] + +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' +configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' +configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' +configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' + +prebuildopts = 'env LDSHARED="$CC -shared" ' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4_fix-include-limits.patch b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4_fix-include-limits.patch new file mode 100644 index 000000000000..9734b37c3125 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4_fix-include-limits.patch @@ -0,0 +1,13 @@ +add missing include statement for limits header file +fixes "error: numeric_limits is not a member of std" +author: Kenneth Hoste (HPC-UGent) +--- /tmp/vsc40023/easybuild_build/GDAL/2.4.4/foss-2021b/gdal-2.4.4/ogr/ogrsf_frmts/cad/libopencad/dwg/r2000.cpp.orig 2023-01-11 17:38:21.326828174 +0100 ++++ /tmp/vsc40023/easybuild_build/GDAL/2.4.4/foss-2021b/gdal-2.4.4/ogr/ogrsf_frmts/cad/libopencad/dwg/r2000.cpp 2023-01-11 17:38:36.009850820 +0100 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #if ((defined(__sun__) || defined(__FreeBSD__)) && __GNUC__ == 4 && __GNUC_MINOR__ == 8) || defined(__ANDROID__) + // gcc 4.8 on Solaris 11.3 or FreeBSD 11 doesn't have std::string diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb index 4b4c7fecd75d..e30c6613eda5 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-foss-2020a-Python-3.8.2.eb @@ -42,7 +42,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb index 4ee0696bbbff..572bd3e13962 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.0.4-intel-2020a-Python-3.8.2.eb @@ -42,7 +42,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --without-hdf4 --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=$EBROOTLIBXML2 --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb index 71748cbee238..2484b33b3cdd 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb @@ -45,7 +45,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb index 606bd64d0d3d..a2b483559efb 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb @@ -45,7 +45,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb index 09c2c1bb8208..1168e3faf6c3 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb @@ -49,7 +49,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb index 22efb63f6f74..4a7a24c32043 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb @@ -45,7 +45,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb index b16b9435a105..5634a3d1021a 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb @@ -45,7 +45,7 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb index cb1e78203d12..6babf890be57 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb @@ -43,9 +43,10 @@ dependencies = [ ('SciPy-bundle', '2022.05'), ('HDF5', '1.12.2'), ('HDF', '4.2.15'), + ('OpenJPEG', '2.5.0'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb new file mode 100644 index 000000000000..7e3c17c850fd --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb @@ -0,0 +1,82 @@ +easyblock = 'CMakeMake' + +name = 'GDAL' +version = '3.6.2' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['GDAL-3.6.2_fix-python-CC-CXX.patch'] +checksums = [ + {'gdal-3.6.2.tar.xz': '35f40d2e08061b342513cdcddc2b997b3814ef8254514f0ef1e8bc7aa56cf681'}, + {'GDAL-3.6.2_fix-python-CC-CXX.patch': '859b874b0c8ff7626a76d51f008bf05b7f89a35b325bdd1d126d2364154acc63'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('netCDF', '4.9.0'), + ('expat', '2.4.9'), + ('GEOS', '3.11.1'), + ('SQLite', '3.39.4'), + ('libxml2', '2.10.3'), + ('libpng', '1.6.38'), + ('libjpeg-turbo', '2.1.4'), + ('JasPer', '4.0.0'), + ('LibTIFF', '4.4.0'), + ('zlib', '1.2.12'), + ('cURL', '7.86.0'), + ('PCRE', '8.45'), + ('PROJ', '9.1.1'), + ('libgeotiff', '1.7.1'), + ('SciPy-bundle', '2023.02'), + ('HDF5', '1.14.0'), + ('HDF', '4.2.15'), + ('Armadillo', '11.4.3'), + ('CFITSIO', '4.2.0'), + ('zstd', '1.5.2'), + ('giflib', '5.2.1'), + ('json-c', '0.16'), + ('Xerces-C++', '3.2.4'), + ('PCRE2', '10.40'), + ('OpenEXR', '3.1.5'), + ('Brunsli', '0.1'), + ('Qhull', '2020.2'), + ('LERC', '4.0.0'), + ('OpenJPEG', '2.5.0'), +] + +# common configopts for static, shared library builds +_base_configopts = ' '.join([ + '-DGDAL_USE_INTERNAL_LIBS=OFF', + '-DArrow_DIR=$EBROOTARROW', + '-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include', + '-DPython_ROOT=$EBROOTPYTHON', +]) + +# iterative build for both static and shared libraries +configopts = [' '.join([_base_configopts, x]) for x in ['-DBUILD_SHARED_LIBS=OFF', '']] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2_fix-python-CC-CXX.patch b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2_fix-python-CC-CXX.patch new file mode 100644 index 000000000000..58528a793e6e --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2_fix-python-CC-CXX.patch @@ -0,0 +1,18 @@ +to ensure that correct compiler commands are used +Kenneth Hoste (HPC-UGent), updated for v3.6.2 by Jasper Grimm (UoY) +diff -ruN gdal-3.6.2.orig/swig/python/setup.py.in gdal-3.6.2/swig/python/setup.py.in +--- gdal-3.6.2.orig/swig/python/setup.py.in 2023-01-24 10:50:11.000000000 +0000 ++++ gdal-3.6.2/swig/python/setup.py.in 2023-01-02 14:38:17.000000000 +0000 +@@ -16,6 +16,12 @@ + from setuptools import find_packages + from setuptools import Extension + ++for key in ['CC', 'CXX']: ++ seqkey = '%s_SEQ' % key ++ if seqkey in os.environ: ++ os.environ[key] = os.environ[seqkey] ++ print('$%s set to %s (via $%s)' % (key, os.environ[key], seqkey)) ++ + # If CXX is defined in the environment, it will be used to link the .so + # but setuptools will be confused if it is made of several words like 'ccache g++' + # and it will try to use only the first word. diff --git a/easybuild/easyconfigs/g/GDCM/GDCM-3.0.20-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.20-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3f7946de5fc6 --- /dev/null +++ b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.20-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'GDCM' +version = '3.0.20' + +homepage = 'https://sourceforge.net/projects/gdcm' +description = "Grassroots DICOM: Cross-platform DICOM implementation" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['d299731e229fe7595001f17e6b81e6f9a27daac3df7295543753525242cea0b2'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +configopts = "-DGDCM_BUILD_DOCBOOK_MANPAGES=0" + +sanity_check_paths = { + 'files': ['lib/libgdcmCommon.a', 'lib/libgdcmDICT.a'], + 'dirs': ['include/gdcm-%(version_major_minor)s', 'lib/gdcm-%(version_major_minor)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GDCM/GDCM-3.0.21-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.21-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..298041d52e0e --- /dev/null +++ b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.21-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'GDCM' +version = '3.0.21' + +homepage = 'https://sourceforge.net/projects/gdcm' +description = "Grassroots DICOM: Cross-platform DICOM implementation" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['f29dbdd3b6b4c30c9803e6466b88b139d67f5585768565fe29f0be65ad737744'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = "-DGDCM_BUILD_DOCBOOK_MANPAGES=0" + +sanity_check_paths = { + 'files': ['lib/libgdcmCommon.a', 'lib/libgdcmDICT.a'], + 'dirs': ['include/gdcm-%(version_major_minor)s', 'lib/gdcm-%(version_major_minor)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..512c17dc89df --- /dev/null +++ b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb @@ -0,0 +1,64 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Bundle' + +name = 'GDGraph' +version = '1.56' + +homepage = 'https://metacpan.org/release/GDGraph' +description = "GDGraph is a Perl package to generate charts" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/lstein/Perl-GD/archive/'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('libgd', '2.3.3'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +# this is a bundle of Perl modules +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('ExtUtils::PkgConfig', '1.16', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'sources': ['ExtUtils-PkgConfig-%(version)s.tar.gz'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + ('GD', '2.76', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'sources': ['GD-%(version)s.tar.gz'], + 'checksums': ['693d9e3d709e9188a682cb9090a77b70aac12a04e84128677577b94e4331775b'], + }), + ('GD::Text', '0.86', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MV/MVERB/'], + 'sources': ['GDTextUtil-%(version)s.tar.gz'], + 'checksums': ['886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc'], + }), + ('GD::Graph', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BP/BPS/'], + 'sources': ['GDGraph-%(version)s.tar.gz'], + 'checksums': ['6f49cc4e59015480db9c9b6b18afd8c50be30886687b69411513d06f38971113'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bdf2gdfont.pl'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', 'man'], +} + +modextrapaths = {'PERL5LIB': [ + 'lib/perl5/site_perl/%(perlver)s', + 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', +]} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..c9c58812cf58 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.3' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +# This easyconfig only installs the library of GDRCopy. Please keep in mind +# that GDRCopy also needs the following kernel modules at runtime: +# +# 1. Kernel module for GDRCopy: improves Host to GPU communication +# https://github.com/NVIDIA/gdrcopy +# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' +# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 +# +# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication +# https://github.com/Mellanox/nv_peer_memory +# RPM: 'nvidia_peer_memory' +# Requirements: Mellanox HCA with MLNX_OFED 2.1 +# +# These kernel modules are not listed as system dependencies to lower the system +# requirements to build this easyconfig, as they are not needed for the build. + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.11.1-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.11.1-GCC-12.2.0.eb new file mode 100644 index 000000000000..42a88ada5cc9 --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.11.1-GCC-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.11.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6d0eb3cfa9f92d947731cc75f1750356b3bdfc07ea020553daf6af1c768e0be2'] + +builddependencies = [('CMake', '3.24.3')] + +# Build static and shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-intel-compilers-2021.4.0.eb new file mode 100644 index 000000000000..e2593941ddb3 --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-intel-compilers-2021.4.0.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.9.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a'] + +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/GKeyll/GKeyll-20220803-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GKeyll/GKeyll-20220803-foss-2020a-Python-3.8.2.eb new file mode 100644 index 000000000000..9bec3e8ff96a --- /dev/null +++ b/easybuild/easyconfigs/g/GKeyll/GKeyll-20220803-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,50 @@ +# Author J. Sassmannshause (Imperial College London/UK) + +easyblock = 'Waf' + +name = 'GKeyll' +version = '20220803' +local_commit = '4c3e568' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://gkeyll.readthedocs.io' +description = """Gkeyll v2.0 (pronounced as in the book “The Strange Case of Dr. Jekyll +and Mr. Hyde”) is a computational plasma physics code mostly written in C/C++ and LuaJIT. +Gkeyll contains solvers for gyrokinetic equations, Vlasov-Maxwell equations, and +multi-fluid equations. Gkeyll contains ab-initio and novel implementations of a number +of algorithms, and perhaps is unique in using a JIT compiled typeless dynamic language +for as its main implementation language.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True} + +github_account = 'ammarhakim' +source_urls = ['https://github.com/ammarhakim/gkyl/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['075867b602e3a50c13e72f7f0dc680c3591467ce61debd3c9a11f3e5dced0503'] + +dependencies = [ + ('Python', '3.8.2'), + ('ADIOS', '20210804', versionsuffix), + ('Eigen', '3.3.7'), + ('LuaJIT2-OpenResty', '2.1-20220411'), +] + +configopts = '--luajit-inc-dir=$EBROOTLUAJIT2MINOPENRESTY/include/luajit-2.1/ ' +configopts += '--extra-link-libs=" hdf5 mxml bz2 lz4 z zfp gomp" ' + +# Seems to be required as else all cores are being used +buildopts = ' -j %(parallel)s' + +sanity_check_paths = { + 'files': ['bin/gkyl', 'bin/gkyl', 'lib/libcomm.%s' % SHLIB_EXT, + 'lib/libdatastruct.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = [ + "gkyl -version", + "ctest_Range -?", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..22d687ed0f41 --- /dev/null +++ b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '0.9.9.8' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'GLM-0.9.9.8_fix_missing_install.patch', +] +checksums = [ + '7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592', # 0.9.9.8.tar.gz + '1cc199f9d66679b0b5e9a9fbe20bca0d9b15760fa172ca8759dd15bab35802ca', # GLM-0.9.9.8_fix_missing_install.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..226f44dc49bf --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'GLPK' +version = '5.0' + +homepage = 'https://www.gnu.org/software/glpk/' +description = """The GLPK (GNU Linear Programming Kit) package is intended for + solving large-scale linear programming (LP), + mixed integer programming (MIP), and other related problems. + It is a set of routines written in ANSI C + and organized in the form of a callable library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('GMP', '6.2.1')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.75.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.75.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..0390a9a2e541 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.75.0-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.75.0' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['6dde8e55cc4a2c83d96797120b08bcffb5f645b2e212164ae22d63c40e0e6360'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.10.8'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('gettext', '0.21.1'), + ('libxml2', '2.10.3'), + ('PCRE2', '10.40'), + ('util-linux', '2.38.1'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17-GCC-11.3.0.eb new file mode 100644 index 000000000000..ea2e6aa59ea7 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17-GCC-11.3.0.eb @@ -0,0 +1,55 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2023-02-17' + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GMAP-GSNAP-%(version)s_cleanup-headers.patch', + 'GMAP-GSNAP-%(version)s_fix-typecast.patch', +] +checksums = [ + {'gmap-gsnap-2023-02-17.tar.gz': 'd54abb6bc59da46823f5a1a9d94872a6b90468699112a6f375ddc7b91340db06'}, + {'GMAP-GSNAP-2023-02-17_cleanup-headers.patch': '7d17d4cbc717556e3a64475eb931b692e9d564b486acf6c9dbf4c2bf29853832'}, + {'GMAP-GSNAP-2023-02-17_fix-typecast.patch': 'eafe728cf00cf52320bbf4b710ef76b662df92533d22fa67dc273855c180296f'}, +] + +# with these deps you can use standard compressed files +# details in http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +# GSNAP uses MAX_STACK_READLENGTH to control the use of stack or heap memory depending on the read length +# details in http://research-pub.gene.com/gmap/src/README +# configopts = 'MAX_STACK_READLENGTH=300' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +sanity_check_commands = [ + "gmap --help", + "gsnap --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_cleanup-headers.patch b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_cleanup-headers.patch new file mode 100644 index 000000000000..99caa1f4ce8c --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_cleanup-headers.patch @@ -0,0 +1,52 @@ +Remove includes of non-existing headers +author: Alex Domingo (Vrije Universiteit Brussel) +--- src/simde/x86/avx512/fmadd.h.orig 2023-02-22 01:14:34.516573000 +0100 ++++ src/simde/x86/avx512/fmadd.h 2023-02-22 01:14:41.974985000 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/fmsub.h.orig 2023-02-22 01:28:37.589836000 +0100 ++++ src/simde/x86/avx512/fmsub.h 2023-02-22 01:28:46.136128842 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/fnmadd.h.orig 2023-02-22 01:35:50.825564000 +0100 ++++ src/simde/x86/avx512/fnmadd.h 2023-02-15 15:36:00.000000000 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/fnmsub.h.orig 2023-02-22 01:42:35.610381000 +0100 ++++ src/simde/x86/avx512/fnmsub.h 2023-02-22 01:42:43.828398000 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/scalef.h.orig 2023-02-22 01:48:02.614308000 +0100 ++++ src/simde/x86/avx512/scalef.h 2023-02-22 01:48:09.999588167 +0100 +@@ -3,7 +3,6 @@ + + #include "types.h" + #include "flushsubnormal.h" +-#include "../svml.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_fix-typecast.patch b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_fix-typecast.patch new file mode 100644 index 000000000000..16a9d28c3f28 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_fix-typecast.patch @@ -0,0 +1,13 @@ +Fix typecast syntax +author: Alex Domingo (Vrije Universiteit Brussel) +--- src/select64-common.h.orig 2023-02-22 02:29:16.028806000 +0100 ++++ src/select64-common.h 2023-02-22 02:28:24.058561000 +0100 +@@ -67,7 +67,7 @@ + return place + kSelectInByte[((x >> place) & 0xFF) | (byteRank << 8)]; + #elif defined(__GNUC__) || defined(__clang__) + // GCC and Clang won't inline the intrinsics. +- uint64_t result = uint64_t(1) << k; ++ uint64_t result = (uint64_t)(1) << k; + + asm("pdep %1, %0, %0\n\t" + "tzcnt %0, %0" diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8d18902ab40d --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.2.1' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2021b.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2021b.eb new file mode 100644 index 000000000000..0c453259ec8e --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2021b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.3.1' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2021b'} + +# must download sources via git to preserve .git directory, +# since setuptools-scm is used to determine version +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [('cURL', '7.78.0')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('XlsxWriter', '3.0.2'), + ('statsmodels', '0.13.1'), + ('pydot', '1.4.2'), + ('openpyxl', '3.0.9'), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2022a.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2022a.eb new file mode 100644 index 000000000000..2f591eb3897f --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2022a.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.3.1' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# must download sources via git to preserve .git directory, +# since setuptools-scm is used to determine version +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [('cURL', '7.83.0')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XlsxWriter', '3.0.8'), + ('statsmodels', '0.13.1'), + ('pydot', '1.4.2'), + ('openpyxl', '3.0.10'), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..565232387de3 --- /dev/null +++ b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3-GCC-11.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'Bundle' + +name = 'GOBNILP' +version = '1.6.3' +_nodots_version = version.replace('.', '') +_scip_version = '3.2.1' +_scip_nodots_version = _scip_version.replace('.', '') + +homepage = 'https://www.cs.york.ac.uk/aig/sw/gobnilp/' +description = """GOBNILP (Globally Optimal Bayesian Network learning using Integer Linear +Programming) is a C program which learns Bayesian networks from complete +discrete data or from local scores.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('SCIP', _scip_version), + ('ZIMPL', '3.3.4'), + ('SoPlex', '2.2.1'), + ('GMP', '6.2.1'), + ('libreadline', '8.1'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +default_easyblock = 'MakeCp' + +components = [ + ('LOP', _scip_version, { + 'source_urls': ['https://github.com/scipopt/scip/archive/refs/tags/'], + 'sources': ['v%s.tar.gz' % _scip_nodots_version], + 'patches': ['LOP-%(version)s_standalone-scip-lop-build.patch'], + 'checksums': [ + {'v321.tar.gz': + '015bdda4e681782fd03b61421b93aa3c1b913e5eea18bb8730d5fb9e4d67b4cb'}, + {'LOP-3.2.1_standalone-scip-lop-build.patch': + 'f996e56f1311fa4a613635b38969da731faf0ea9f10097799b1fa9a84598651e'}, + ], + 'start_dir': 'scip-%s/examples/%%(name)s' % _scip_nodots_version, + 'buildopts': '%(namelower)s COMP=gnu OPT=opt LPS=spx2', + 'files_to_copy': [(['bin/%(namelower)s'], 'bin')], + }), + (name, version, { + 'source_urls': ['http://www.cs.york.ac.uk/aig/sw/gobnilp'], + 'sources': ['%(namelower)s%(version)s.tar.gz'], + 'patches': ['%(name)s-%(version)s_use-eb-build-env.patch'], + 'checksums': [ + {'gobnilp1.6.3.tar.gz': + 'b31e5c87032f85f7404654beca47d472fd6c5dd7a5f82108bd5043ff0b8fa33c'}, + {'GOBNILP-1.6.3_use-eb-build-env.patch': + '9235ec8b9d05d9915f9961d4b46c2220e0d3b75f555a226a5667dcc69d76dae9'}, + ], + 'start_dir': '%(namelower)s' + _nodots_version, + 'files_to_copy': [(['bin/%(namelower)s'], 'bin')], + }), +] + +sanity_check_paths = { + 'files': ['bin/gobnilp', 'bin/lop'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3_use-eb-build-env.patch b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3_use-eb-build-env.patch new file mode 100644 index 000000000000..e730aa76abfa --- /dev/null +++ b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3_use-eb-build-env.patch @@ -0,0 +1,79 @@ +Use build environment and dependencies from EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2023-03-31 18:33:07.943785000 +0200 ++++ Makefile 2023-03-31 18:42:53.636293000 +0200 +@@ -5,15 +5,25 @@ + # This file was created by editing the Makefile for the linear ordering + # example in SCIP + +-# Set the path the SCIP directory +-SCIPDIR = scip +- +-# Include default project Makefile from SCIP +-include $(SCIPDIR)/make/make.project ++# Set paths and flags to SCIP libraries ++SCIPDIR = $(EBROOTSCIP) ++SCIPLIB = scip ++OBJSCIPLIB = objscip ++LPILIB = lpispx2 ++NLPILIB = nlpi.cppad ++LPSLDFLAGS = -lzimpl -lsoplex -lgmp -lreadline -lncurses -lz ++ ++# Set paths to LOP ++LOPSRC = ../scip-321/examples/LOP/src ++LOPOBJ = ../scip-321/examples/LOP/obj/cons_linearordering.o + + # This missing for scip < 3 + VALGRIND = false + ++SRCDIR = src ++OBJDIR = obj ++BINDIR = bin ++ + # Declare the phony targets + .PHONY: all doxygen manual pedmanual gobnilp clean test + +@@ -46,7 +57,7 @@ + MAINSRC = $(wildcard $(SRCDIR)/*.c) + MAINOBJ = $(notdir $(MAINSRC:.c=.o)) + +-MAIN = $(MAINNAME).$(BASE).$(LPS)$(EXEEXTENSION) ++MAIN = $(MAINNAME) + MAINFILE = $(BINDIR)/$(MAIN) + ifeq ($(OSTYPE),mingw) + MAINSHORTLINK = $(BINDIR)/$(MAINNAME).exe +@@ -63,7 +74,7 @@ + LATEXCMD = @pdflatex -halt-on-error -interaction=errorstopmode + + #Needs to appear first so that "make" makes gobnilp +-gobnilp: $(SCIP) $(MAINFILE) $(MAINSHORTLINK) ++gobnilp: $(MAINFILE) $(MAINSHORTLINK) + + #----------------------------------------------------------------------- + #---------------------------- All ---------------------------- +@@ -161,19 +172,16 @@ + + $(MAINSHORTLINK): $(MAINFILE) + @rm -f $@ +- @cd $(dir $@) && ln -s $(notdir $(MAINFILE)) $(notdir $@) + +-$(MAINFILE): $(BINDIR) $(OBJDIR) $(SCIPLIBFILE) $(LPILIBFILE) $(NLPILIBFILE) $(MAINOBJFILES) +- @echo "-> linking $@" +- @$(LINKCXX) $(STATICFLAG) $(MAINOBJFILES) \ +- $(LINKCXX_L)$(SCIPDIR)/lib $(LINKCXX_l)$(SCIPLIB)$(LINKLIBSUFFIX) \ +- $(LINKCXX_l)$(OBJSCIPLIB)$(LINKLIBSUFFIX) $(LINKCXX_l)$(LPILIB)$(LINKLIBSUFFIX) $(LINKCXX_l)$(NLPILIB)$(LINKLIBSUFFIX) \ +- $(OFLAGS) $(LPSLDFLAGS) \ +- $(LDFLAGS) $(LINKCXX_o)$@ ++$(MAINFILE): $(BINDIR) $(OBJDIR) $(MAINOBJFILES) ++ echo "-> linking $@" ++ $(CXX) -static $(MAINOBJFILES) $(LOPOBJ) \ ++ -L$(SCIPDIR)/lib -l$(SCIPLIB) -l$(OBJSCIPLIB) -l$(LPILIB) -l$(NLPILIB) \ ++ $(LDFLAGS) $(LPSLDFLAGS) -o $@ + + $(OBJDIR)/%.o: $(SRCDIR)/%.c + @echo "-> compiling $*.c" +- @$(CC) $(FLAGS) $(OFLAGS) $(BINOFLAGS) $(CFLAGS) -c -g $< $(CC_o)$@ ++ @$(CC) $(CFLAGS) $(CPPFLAGS) -I$(LOPSRC) -c -g $< -o $@ + + $(OBJDIR): + @-mkdir -p $(OBJDIR) diff --git a/easybuild/easyconfigs/g/GOBNILP/LOP-3.2.1_standalone-scip-lop-build.patch b/easybuild/easyconfigs/g/GOBNILP/LOP-3.2.1_standalone-scip-lop-build.patch new file mode 100644 index 000000000000..9fbb54ef086c --- /dev/null +++ b/easybuild/easyconfigs/g/GOBNILP/LOP-3.2.1_standalone-scip-lop-build.patch @@ -0,0 +1,41 @@ +Build LOP example standalone without triggering a full build of SCIP +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2023-03-31 18:52:55.793723000 +0200 ++++ Makefile 2023-03-31 18:54:59.590029000 +0200 +@@ -29,6 +29,7 @@ + #----------------------------------------------------------------------------- + + include $(SCIPDIR)/make/make.project ++OBJDIR = obj + + #----------------------------------------------------------------------------- + # Main Program +@@ -39,9 +40,9 @@ + MAINSRC = $(addprefix $(SRCDIR)/,$(MAINOBJ:.o=.c)) + MAINDEP = $(SRCDIR)/depend.cmain.$(OPT) + +-MAIN = $(MAINNAME).$(BASE).$(LPS)$(EXEEXTENSION) ++MAIN = $(MAINNAME) + MAINFILE = $(BINDIR)/$(MAIN) +-MAINSHORTLINK = $(BINDIR)/$(MAINNAME) ++MAINSHORTLINK = $(MAINNAME) + MAINOBJFILES = $(addprefix $(OBJDIR)/,$(MAINOBJ)) + + #----------------------------------------------------------------------------- +@@ -79,7 +80,6 @@ + + $(MAINSHORTLINK): $(MAINFILE) + @rm -f $@ +- cd $(dir $@) && ln -s $(notdir $(MAINFILE)) $(notdir $@) + + $(OBJDIR): + @-mkdir -p $(OBJDIR) +@@ -123,7 +123,7 @@ + + + # main target +-$(MAINFILE): $(BINDIR) $(OBJDIR) $(SCIPLIBFILE) $(LPILIBFILE) $(NLPILIBFILE) $(MAINOBJFILES) ++$(MAINFILE): $(BINDIR) $(OBJDIR) $(MAINOBJFILES) + @echo "-> linking $@" + ifeq ($(VERBOSE),true) + $(LINKCXX) $(MAINOBJFILES) \ diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.74.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.74.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f4d572664a79 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.74.0-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.74.0' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['347b3a719e68ba4c69ff2d57ee2689233ea8c07fc492205e573386779e42d653'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('cairo', '1.17.4'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('GLib', '2.75.0'), + ('libffi', '3.4.4'), + ('util-linux', '2.38.1'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch new file mode 100644 index 000000000000..f52f396627aa --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch @@ -0,0 +1,53 @@ +From 79eb7a47726f7e0f644d0b9bddf3840b227a2f73 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jens=20J=C3=B8rgen=20Mortensen?= +Date: Wed, 21 Sep 2022 12:10:16 +0200 +Subject: [PATCH] Test too strict for EasyBuild intel/2020b toolchain + +--- + gpaw/test/gllb/test_variants.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/gpaw/test/gllb/test_variants.py b/gpaw/test/gllb/test_variants.py +index 0b9ede0..8a51261 100644 +--- a/gpaw/test/gllb/test_variants.py ++++ b/gpaw/test/gllb/test_variants.py +@@ -1,8 +1,8 @@ +-import pytest + import numpy as np ++import pytest + from ase.build import bulk +-from gpaw.test import gen + from gpaw import GPAW ++from gpaw.test import gen + + + def run(xc): +@@ -19,7 +19,7 @@ def run(xc): + xc=xc, + convergence={'density': 1e-5}, + kpts={'size': (1, 1, 1), 'gamma': True}, +- txt='{}.out'.format(xc)) ++ txt=f'{xc}.out') + atoms.calc = calc + atoms.get_potential_energy() + eig_n = calc.get_eigenvalues(kpt=0) +@@ -35,7 +35,7 @@ def test_wrappers(xc, in_tmp_dir, add_cwd_to_setup_paths): + # Check values against regular xc + ref_eig_n = run({'GLLBLDA': 'LDA', 'GLLBPBE': 'PBE'}[xc]) + assert np.allclose(eig_n, ref_eig_n, rtol=0, atol=1e-8), \ +- "{} error = {}".format(xc, np.max(np.abs(eig_n - ref_eig_n))) ++ f'{xc} error = {np.max(np.abs(eig_n - ref_eig_n))}' + + + refs = {'GLLB': +@@ -70,5 +70,5 @@ refs = {'GLLB': + def test_eigenvalues(xc, in_tmp_dir, add_cwd_to_setup_paths): + eig_n = run(xc) + ref_eig_n = refs[xc] +- assert np.allclose(eig_n, ref_eig_n, rtol=0, atol=5e-6), \ +- "{} error = {}".format(xc, np.max(np.abs(eig_n - ref_eig_n))) ++ assert np.allclose(eig_n, ref_eig_n, rtol=0, atol=2e-5), \ ++ f'{xc} error = {np.max(np.abs(eig_n - ref_eig_n))}' +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2022a.eb index a5bf81c6abc3..2a7e04552e67 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2022a.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2022a.eb @@ -16,12 +16,15 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1), ('GPAW-22.8.0-Remove-MPI-compiler-hack.patch', 0), + ('GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch', 1), ] checksums = [ - '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c', # gpaw-22.8.0.tar.gz - # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', - '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e', # GPAW-22.8.0-Remove-MPI-compiler-hack.patch + {'gpaw-22.8.0.tar.gz': '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, + {'GPAW-22.8.0-Remove-MPI-compiler-hack.patch': '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e'}, + {'GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch': + '207d98ab3b390330f832a77edf5e436b9ec46610add6c0487acaa63b2aa489a1'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2022a.eb index 126147e70d50..8055d042a4ca 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2022a.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2022a.eb @@ -16,12 +16,15 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ ('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1), ('GPAW-22.8.0-Remove-MPI-compiler-hack.patch', 0), + ('GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch', 1), ] checksums = [ - '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c', # gpaw-22.8.0.tar.gz - # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', - '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e', # GPAW-22.8.0-Remove-MPI-compiler-hack.patch + {'gpaw-22.8.0.tar.gz': '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, + {'GPAW-22.8.0-Remove-MPI-compiler-hack.patch': '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e'}, + {'GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch': + '207d98ab3b390330f832a77edf5e436b9ec46610add6c0487acaa63b2aa489a1'}, ] dependencies = [ diff --git a/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.9.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.9.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..9cea5b81569c --- /dev/null +++ b/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.9.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'GPyTorch' +version = '1.9.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://gpytorch.ai' +description = "GPyTorch is a Gaussian process library implemented using PyTorch." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.12.1', versionsuffix), + ('scikit-learn', '0.24.2'), +] + +use_pip = True + +exts_list = [ + ('linear-operator', '0.3.0', { + 'source_tmpl': 'linear_operator-%(version)s.tar.gz', + 'checksums': ['84bf572631a7e1576de6920d81600ca0fedcf6bda2f29dbaf440d6e72ce6abab'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['0bdbba6f6d5957a0f43ef6dc7fec39c47e8a55f632ca33760c6189f259b3ccc3'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb index e510b702e299..bdc49cd4e20e 100644 --- a/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb @@ -51,7 +51,7 @@ dependencies = [ ('zstd', '1.4.0'), ] -preconfigopts = "sed -e 's/-lblas/\$LIBBLAS/g' -e 's/-llapack/\$LIBLAPACK/g' -i configure &&" +preconfigopts = r"sed -e 's/-lblas/\$LIBBLAS/g' -e 's/-llapack/\$LIBLAPACK/g' -i configure &&" configopts = '--enable-64bit ' configopts += '--enable-largefile=yes ' configopts += '--with-cairo=yes ' diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb new file mode 100644 index 000000000000..064972b3a7c9 --- /dev/null +++ b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb @@ -0,0 +1,102 @@ +easyblock = 'ConfigureMake' + +name = 'GRASS' +version = '8.2.0' + +homepage = "https://grass.osgeo.org" +description = """The Geographic Resources Analysis Support System - used + for geospatial data management and analysis, image processing, + graphics and maps production, spatial modeling, and visualization""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://grass.osgeo.org/grass%s/source' % ''.join(version.split('.')[:2])] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_GCC_ldlibs.patch'] +checksums = [ + {'grass-8.2.0.tar.gz': '621c3304a563be19c0220ae28f931a5e9ba74a53218c5556cd3f7fbfcca33a80'}, + {'GRASS-8.2.0_GCC_ldlibs.patch': '771edf64c583218d28529c53845218a6ab774179999b9b92edb4de32954edc49'}, +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('gettext', '0.21'), + ('Python', '3.9.6'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('netCDF', '4.8.1'), + ('GDAL', '3.3.2'), + ('libspatialite', '5.0.1'), + ('GEOS', '3.9.1'), + ('PROJ', '8.1.0'), + ('SQLite', '3.36'), + ('freetype', '2.11.0'), + ('FFmpeg', '4.3.2'), + ('LibTIFF', '4.3.0'), + ('cairo', '1.16.0'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('wxPython', '4.2.0'), + ('zstd', '1.5.0'), +] + +preconfigopts = "sed -e 's/-lblas/$LIBBLAS/g' -e 's/-llapack/$LIBLAPACK/g' -i configure && " + +configopts = '--enable-64bit ' +configopts += '--enable-largefile=yes ' +configopts += '--with-cairo=yes ' +configopts += '--with-cxx ' +configopts += '--with-ffmpeg --with-ffmpeg-libs=$EBROOTFFMPEG/lib --with-ffmpeg-includes=$EBROOTFFMPEG/include/* ' +configopts += '--with-fftw --with-fftw-libs=$EBROOTFFTW/lib --with-fftw-includes=$EBROOTFFTW/include ' +configopts += '--with-freetype ' +configopts += '--with-freetype-libs=$EBROOTFREETYPE/lib --with-freetype-includes=$EBROOTFREETYPE/include ' +configopts += '--with-geos=$EBROOTGEOS/bin/geos-config ' +configopts += '--without-glw ' +configopts += '--with-lapack ' +configopts += '--with-lapack-lib=$LAPACK_LIB_DIR ' +configopts += '--with-lapack-includes=$LAPACK_INC_DIR ' +configopts += '--with-blas ' +configopts += '--with-blas-lib=$BLAS_LIB_DIR ' +configopts += '--with-blas-includes=$BLAS_INC_DIR ' +configopts += '--with-netcdf=$EBROOTNETCDF/bin/nc-config ' +configopts += '--without-odbc ' +configopts += '--with-opengl ' +configopts += '--with-openmp ' +configopts += '--with-png ' +configopts += '--with-png-libs="$EBROOTLIBPNG/lib $EBROOTZLIB/lib" --with-png-includes=$EBROOTLIBPNG/include ' +configopts += '--without-postgres ' +configopts += '--with-proj --with-proj-libs=$EBROOTPROJ/lib ' +configopts += '--with-proj-includes=$EBROOTPROJ/include --with-proj-share=$EBROOTPROJ/share/proj ' +configopts += '--with-pthread ' +configopts += '--with-python ' +configopts += '--with-readline ' +configopts += '--with-readline-libs=$EBROOTLIBREADLINE/lib --with-readline-includes=$EBROOTLIBREADLINE/include ' +configopts += '--with-spatialite ' +configopts += '--with-sqlite ' +configopts += '--with-tiff-libs=$EBROOTLIBTIFF/lib --with-tiff-includes=$EBROOTLIBTIFF/include ' +configopts += '--with-wxwidgets=$EBROOTWXWIDGET/bin/wx-config ' +configopts += '--with-x ' +configopts += '--with-zlib --with-zlib-libs=$EBROOTZLIB/lib --with-zlib-includes=$EBROOTZLIB/include ' +configopts += '--with-bzlib --with-bzlib-libs=$EBROOTBZIP2/lib --with-ibzlib-includes=$EBROOTBZIP2/include ' +configopts += '--with-zstd --with-zstd-libs=$EBROOTZSTD/lib --with-zstd-includes=$EBROOTZSTD/include ' + +postinstallcmds = [ + 'ln -s grass%(version_major)s%(version_minor)s %(installdir)s/grass%(version_major)s', +] + +sanity_check_paths = { + 'files': ['bin/grass'], + 'dirs': ['grass%(version_major)s%(version_minor)s'] +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0_GCC_ldlibs.patch b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0_GCC_ldlibs.patch new file mode 100644 index 000000000000..d8af9023033b --- /dev/null +++ b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0_GCC_ldlibs.patch @@ -0,0 +1,15 @@ +Use mathlib and threads in the LDFLAGS + +Åke Sandgren, 2022-12-07 +diff -ru grass-8.2.0.orig/configure grass-8.2.0/configure +--- grass-8.2.0.orig/configure 2022-06-03 15:27:06.000000000 +0200 ++++ grass-8.2.0/configure 2022-12-07 14:23:37.234003038 +0100 +@@ -4031,7 +4031,7 @@ + SHLIB_LD_FLAGS="-Wl,-soname,\$(notdir \$@)" + SHLIB_SUFFIX=".so" + SHLIB_LD="${CC} -shared" +- LDFLAGS="-Wl,--export-dynamic" ++ LDFLAGS="-pthread -lm -Wl,--export-dynamic" + LD_SEARCH_FLAGS='-Wl,-rpath-link,${LIB_RUNTIME_DIR} -Wl,-rpath,${INST_DIR}/lib' + LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" + ;; diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.2.0.eb new file mode 100644 index 000000000000..e1e6de28f316 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.7' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..04f31f8b6035 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.7' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e1b10d918d03 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.1-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.22.1' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['59bcaeacc5646b8dbdcfa4ef20ca6e818dd234910efb4cee1bbea441a3801c69'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GLib', '2.75.0'), + ('GStreamer', '1.22.1'), + ('Gdk-Pixbuf', '2.42.10'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('Graphene', '1.10.8'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb index 3c94c21acaee..1e320e100bf1 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb @@ -13,9 +13,16 @@ toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.16.0.tar.xz': '0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ + ('Perl', '5.28.1'), ('Bison', '3.0.5'), ('flex', '2.6.4'), ('GObject-Introspection', '1.60.1', '-Python-3.7.2'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb index 92e0c55eca28..370fa85b4cf4 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb @@ -13,9 +13,16 @@ toolchain = {'name': 'GCC', 'version': '8.3.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.16.2.tar.xz': 'e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ + ('Perl', '5.30.0'), ('Bison', '3.3.2'), ('flex', '2.6.4'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb index a4c5be909161..cc7e4f4623c5 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb @@ -13,11 +13,18 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.18.4.tar.xz': '9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ ('Meson', '0.55.3'), ('Ninja', '1.10.1'), + ('Perl', '5.32.0'), ('Bison', '3.7.1'), ('flex', '2.6.4'), ('GObject-Introspection', '1.66.1'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb index 2c38b4b9151b..11f4d5afc2e8 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb @@ -13,11 +13,18 @@ toolchain = {'name': 'GCC', 'version': '10.3.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.18.4.tar.xz': '9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ ('Meson', '0.58.0'), ('Ninja', '1.10.2'), + ('Perl', '5.32.1'), ('Bison', '3.7.6'), ('flex', '2.6.4'), ('GObject-Introspection', '1.68.0'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb index 7d550bd31b6a..45f9ea5e5d02 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb @@ -13,11 +13,18 @@ toolchain = {'name': 'GCC', 'version': '11.2.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.18.5.tar.xz': '55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ ('Meson', '0.58.2'), ('Ninja', '1.10.2'), + ('Perl', '5.34.0'), ('Bison', '3.7.6'), ('flex', '2.6.4'), ('GObject-Introspection', '1.68.0'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18_fix_bad_suid.patch b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18_fix_bad_suid.patch new file mode 100644 index 000000000000..4fff14d8b7af --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18_fix_bad_suid.patch @@ -0,0 +1,22 @@ +Do NOT make files setuid or try to do setcap. +That's a recipe for disaster. + +Åke Sandgren, 20221031 +diff -ru gstreamer-1.20.2.orig/libs/gst/helpers/ptp_helper_post_install.sh gstreamer-1.20.2/libs/gst/helpers/ptp_helper_post_install.sh +--- gstreamer-1.20.2.orig/libs/gst/helpers/ptp_helper_post_install.sh 2022-05-03 00:29:29.000000000 +0200 ++++ gstreamer-1.20.2/libs/gst/helpers/ptp_helper_post_install.sh 2022-10-31 16:39:11.959435316 +0100 +@@ -11,14 +11,10 @@ + setuid-root) + echo "$0: permissions before: " + ls -l "$ptp_helper" +- chown root "$ptp_helper" || true +- chmod u+s "$ptp_helper" || true + echo "$0: permissions after: " + ls -l "$ptp_helper" + ;; + capabilities) +- echo "Calling $setcap cap_net_bind_service,cap_net_admin+ep $ptp_helper" +- $setcap cap_net_bind_service,cap_net_admin+ep "$ptp_helper" || true + ;; + none) + echo "No perms/caps to set for $ptp_helper" diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb index df69820328fd..d942105b5f7d 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb @@ -13,11 +13,18 @@ toolchain = {'name': 'GCC', 'version': '11.3.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['df24e8792691a02dfe003b3833a51f1dbc6c3331ae625d143b17da939ceb5e0a'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.20.2.tar.xz': 'df24e8792691a02dfe003b3833a51f1dbc6c3331ae625d143b17da939ceb5e0a'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ ('Meson', '0.62.1'), ('Ninja', '1.10.2'), + ('Perl', '5.34.1'), ('Bison', '3.8.2'), ('flex', '2.6.4'), ('GObject-Introspection', '1.72.0'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..a66851cc78f8 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.1-GCCcore-12.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.22.1' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.22.1.tar.xz': 'cd3ca759f926763615fdfcea63c9761198c42889bc0615ceec73e22b24fde771'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('Perl', '5.36.0'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('zlib', '1.2.12'), + ('GMP', '6.2.1'), + ('GSL', '2.7'), + ('GLib', '2.75.0'), + ('libunwind', '1.6.2'), + ('elfutils', '0.189'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.1.1-foss-2021b.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.1.1-foss-2021b.eb new file mode 100644 index 000000000000..594099d85671 --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.1.1-foss-2021b.eb @@ -0,0 +1,45 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'GTDB-Tk' +version = '2.1.1' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.4.3'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('Mash', '2.3'), + ('tqdm', '4.62.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'gtdbtk', + 'source_tmpl': 'gtdbtk-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/g/gtdbtk'], + 'checksums': ['2276723f627c5374b76b4c2cb8b07e8a218ef9f6e72091fcbc6a98ecf6c8796d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f00f26786b05 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb @@ -0,0 +1,77 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.35' + +homepage = 'https://developer.gnome.org/gtk3/stable/' +description = """GTK+ is the primary library used to construct user interfaces in GNOME. It + provides all the user interface controls, or widgets, used in a common + graphical application. Its object-oriented API allows you to construct + user interfaces without dealing with the low-level details of drawing and + device interaction. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('cairo', '1.17.4'), + ('Perl', '5.36.0'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.10'), + ('Pango', '1.50.12'), + ('libepoxy', '1.5.10'), + ('X11', '20221110'), + ('FriBidi', '1.0.12'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['ec10fe6d712ef0b3c63b5f932639c9d1ae99fce94f500f6f06965629fef60bd1'], + # fix packaging issue, see https://gitlab.gnome.org/GNOME/gtk/-/issues/5355 + 'preconfigopts': "mv testsuite/gtk/gtkresources.c gtk/ && ", + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '42.0', { + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], + 'preconfigopts': 'autoreconf -f -i && ', + }), +] + +postinstallcmds = ['gtk-update-icon-cache'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gtk3-demo', 'gtk3-demo-application', 'gtk3-icon-browser', 'gtk3-widget-factory', + 'gtk-builder-tool', 'gtk-launch', 'gtk-query-immodules-3.0', 'gtk-query-settings', + 'gtk-update-icon-cache']] + + ['lib/%s-%%(version_major)s.%s' % (x, SHLIB_EXT) for x in ['libgailutil', 'libgdk', 'libgtk']], + 'dirs': ['include/%s-%%(version_major)s.0' % x for x in ['gail', 'gtk']] + + ['share/icons/hicolor', 'share/icons/Adwaita'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GUSHR/GUSHR-2020-09-28-foss-2021b.eb b/easybuild/easyconfigs/g/GUSHR/GUSHR-2020-09-28-foss-2021b.eb new file mode 100644 index 000000000000..2e995926f1c6 --- /dev/null +++ b/easybuild/easyconfigs/g/GUSHR/GUSHR-2020-09-28-foss-2021b.eb @@ -0,0 +1,53 @@ +# author: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'GUSHR' +version = '2020-09-28' +local_commit = 'ee26d5c' + +homepage = 'https://github.com/Gaius-Augustus/GUSHR' +description = """ +Assembly-free construction of UTRs from short read RNA-Seq data on the basis of coding sequence annotation. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'https://github.com/Gaius-Augustus/GUSHR/archive', + 'http://bioinf.uni-greifswald.de/bioinf/braker/', +] +sources = [ + { + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, + }, + { + 'filename': 'RNAseq.bam', + 'extract_cmd': 'cp %s %(builddir)s/', + } +] +checksums = [ + {'GUSHR-2020-09-28.tar.gz': '81fd9c372a45af1688c2954932f94efc4c637144f874e16be41d1b18936a5303'}, + {'RNAseq.bam': '877072947678b6cfd05a7d1124e2008f88a29d56926d8eefb20ef21c137cf5aa'}, +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('AUGUSTUS', '3.4.0'), + ('GLib', '2.69.1'), +] + +sanity_check_paths = { + 'files': ['gushr.py'], + 'dirs': [], +} + +local_sanity_cmd = 'cp %(builddir)s/RNAseq.bam %(installdir)s/example && ' +local_sanity_cmd += 'cd %(installdir)s/example && ' +local_sanity_cmd += '../gushr.py -b RNAseq.bam -t augustus.gtf -g genome.fa -o gushr -c 10 ' + +sanity_check_commands = [ + local_sanity_cmd +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4c2a7cd38bab --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.10' + +homepage = 'https://docs.gtk.org/gdk-pixbuf/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('GObject-Introspection', '1.74.0'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), + ('X11', '20221110'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..017e077aa136 --- /dev/null +++ b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'GeneMark-ET' +version = '4.71' + +homepage = 'http://exon.gatech.edu/GeneMark' +description = "Eukaryotic gene prediction suite with automatic training" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = ['gmes_linux_64-%(version)s.tar.gz'] +checksums = [( + '29adf580ccee6f69d19045bedc3a53e7a71b4c39a95409be3e96d3e9dca83c95', + '629f430e7262bdb5df8f24413e65d26e35eb10ea34212145b692ee4689591e54', +)] + +download_instructions = """ +1. complete the license form: http://exon.gatech.edu/GeneMark/license_download.cgi +2. rename the tarball: `mv gmes_linux_64.tar.gz gmes_linux_64-%(version)s.tar.gz` +""" + +dependencies = [('Perl', '5.34.0')] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['gmes.cfg', 'gmes_petap.pl'], + 'dirs': ['lib'], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..63aaf53f794a --- /dev/null +++ b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'GeneMark-ET' +version = '4.71' + +homepage = 'http://exon.gatech.edu/GeneMark' +description = "Eukaryotic gene prediction suite with automatic training" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = ['gmes_linux_64-%(version)s.tar.gz'] +checksums = [( + '29adf580ccee6f69d19045bedc3a53e7a71b4c39a95409be3e96d3e9dca83c95', + '629f430e7262bdb5df8f24413e65d26e35eb10ea34212145b692ee4689591e54', +)] + +download_instructions = """ +1. complete the license form: http://exon.gatech.edu/GeneMark/license_download.cgi +2. rename the tarball: `mv gmes_linux_64.tar.gz gmes_linux_64-%(version)s.tar.gz` +""" + +# To run this code, install the key: copy key "gm_key" into user's home directory as: +# gunzip gm_key.gz +# cp gm_key_64 ~/.gm_key + +dependencies = [('Perl', '5.34.1')] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['gmes.cfg', 'gmes_petap.pl'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "gmes_petap.pl | grep 'Usage:'", +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb b/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb index dd9fd8fbd675..740580b329aa 100644 --- a/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb +++ b/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb @@ -4,12 +4,12 @@ name = 'GenomeThreader' version = '1.7.3' versionsuffix = '-Linux_x86_64-64bit' -homepage = 'http://genomethreader.org' +homepage = 'https://genomethreader.org' description = "GenomeThreader is a software tool to compute gene structure predictions." toolchain = SYSTEM -source_urls = ['http://genomethreader.org/distributions/'] +source_urls = ['https://genomethreader.org/distributions/'] sources = ['gth-%(version)s%(versionsuffix)s.tar.gz'] checksums = ['cdcf7f0c642c14c9dc6b9270e3172de96696f42c25185beabc9a1f68c9c41a57'] diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-11.3.0.eb new file mode 100644 index 000000000000..f0ed002a6259 --- /dev/null +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'GenomeTools' +version = '1.6.2' + +homepage = 'http://genometools.org' +description = "A comprehensive software library for efficient processing of structured genome annotations." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'genometools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['974825ddc42602bdce3d5fbe2b6e2726e7a35e81b532a0dc236f6e375d18adac'] + +# GenomeTools-1.6.2 has the following libraries bundled with it: +# bzip2-1.0.6, cgilua-5.1.3, expat-2.0.1, lpeg-0.10.2, lua-5.1.5, luafilesystem-1.5.0, md5-1.2, +# samtools-0.1.18, sqlite-3.33.0, tre-0.8.0, zlib-1.2.8 +# +# Bundled libraries can be globally disabled with the option useshared=yes +# However, it is preferable to use the bundled libraries due to the very old versions of some of them + +builddependencies = [('pkgconf', '1.8.0')] +dependencies = [('Pango', '1.50.7')] + +skipsteps = ['configure'] + +buildopts = 'useshared=no errorcheck=no cairo=yes threads=yes' +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/gt', 'bin/genometools-config', 'lib/libgenometools.a', 'lib/libgenometools.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +sanity_check_commands = ['gt -help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb b/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb index 93bffdd51d9f..21a8e3a9f28d 100644 --- a/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb +++ b/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb @@ -23,7 +23,7 @@ dependencies = [ ('Perl', '5.24.0'), ] -cmds_map = [("GeP.*\.pl", "cp %(source)s GeP.pl")] +cmds_map = [(r"GeP.*\.pl", "cp %(source)s GeP.pl")] files_to_copy = [(['GeP.pl'], 'bin')] diff --git a/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.0.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..33a9307aa2a2 --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '10.0.0' + +homepage = 'https://ghostscript.com' +description = """Ghostscript is a versatile processor for PostScript data with the ability to render PostScript to + different targets. It used to be part of the cups printing stack, but is no longer used for that.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a57764d70caf85e2fc0b0f59b83b92e25775631714dcdb97cc6e0cea414bb5a3'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.4'), + ('expat', '2.4.9'), + ('GLib', '2.75.0'), + ('cairo', '1.17.4'), + ('LibTIFF', '4.4.0'), + ('GTK3', '3.24.35'), +] + +# Do not use local copies of zlib, jpeg, freetype, and png +preconfigopts = "mv zlib zlib.no && mv jpeg jpeg.no && mv freetype freetype.no && mv libpng libpng.no && " +preconfigopts += 'export LIBS="$LIBS -L$EBROOTZLIB/lib -lz" && ' + +configopts = "--with-system-libtiff --enable-dynamic" + +# Avoid race condition in build if too much parallelism is used +maxparallel = 4 + +postinstallcmds = [ + # build and install shared libs + "make so && make soinstall", + # install header files + "mkdir -p %(installdir)s/include/ghostscript", + "install -v -m644 base/*.h %(installdir)s/include/ghostscript", + "install -v -m644 psi/*.h %(installdir)s/include/ghostscript", +] + +sanity_check_paths = { + 'files': ['bin/gs', 'lib/libgs.%s' % SHLIB_EXT], + 'dirs': ['lib/ghostscript', 'include/ghostscript', 'share/man'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2022a.eb b/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2022a.eb new file mode 100644 index 000000000000..a57ae34779fe --- /dev/null +++ b/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2022a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'GimmeMotifs' +version = '0.17.2' + +homepage = 'https://github.com/vanheeringen-lab/gimmemotifs' +description = "Suite of motif tools, including a motif prediction pipeline for ChIP-seq experiments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('pybedtools', '0.9.0'), + ('Pysam', '0.19.1'), + ('scikit-learn', '1.1.2'), + ('Seaborn', '0.12.1'), + ('statsmodels', '0.13.1'), + ('tqdm', '4.64.0'), + ('genomepy', '0.15.0'), + ('qnorm', '0.8.1'), + ('Arrow', '8.0.0'), # provides pyarrow, required by feather-format + ('HTSeq', '2.0.2'), # required by biofluff + ('pyBigWig', '0.3.18'), # required by biofluff +] + +use_pip = True + +exts_list = [ + ('palettable', '3.3.0', { + 'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'], + }), + ('biofluff', '3.0.4', { + 'modulename': 'fluff', + 'checksums': ['ef7b0a54103a830f197f21aa3d1ade8bdcddf613b437ea38c95260bb45324d6b'], + }), + ('diskcache', '5.4.0', { + 'checksums': ['8879eb8c9b4a2509a5e633d2008634fb2b0b35c2b36192d89655dbde02419644'], + }), + ('feather-format', '0.4.1', { + 'modulename': 'feather', + 'checksums': ['45f67e3745d394d4f160ca6d636bbfd4f8b68d01199dc1649b6e487d3e878903'], + }), + ('iteround', '1.0.4', { + 'source_urls': ['https://github.com/cgdeboer/iteround/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['445e4f0c793ae558e4db3cdee7e23d77459b9c586e8021667aa60c14ba7ff45f'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('loguru', '0.6.0', { + 'checksums': ['066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c'], + }), + ('xxhash', '3.2.0', { + 'checksums': ['1afd47af8955c5db730f630ad53ae798cf7fae0acb64cebb3cf94d35c47dd088'], + }), + ('xdg', '6.0.0', { + 'checksums': ['24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92'], + }), + ('gimmemotifs', version, { + 'preinstallopts': """sed -i '/"configparser"/d' setup.py && """, + 'checksums': ['fbf70997abce6a75451c10b96994f8dbc03152b01df5cf30bf4397c98a9b54d2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gimme'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gimme --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Giotto-Suite/Giotto-Suite-3.0.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/g/Giotto-Suite/Giotto-Suite-3.0.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..08fa5f81e1a9 --- /dev/null +++ b/easybuild/easyconfigs/g/Giotto-Suite/Giotto-Suite-3.0.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,126 @@ +easyblock = 'Bundle' + +name = 'Giotto-Suite' +version = '3.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/drieslab/Giotto' +description = """Giotto Suite is focused on building a modular platform for analyzing spatial-omics technologies + and strives to be interoperable with other popular spatial analysis tools and classes. Using established packages + optimized for large(r) data, Giotto Suite adopts fast and memory efficient methods to create an interactive + analysis.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('python-igraph', '0.10.3'), + ('python-louvain', '0.16'), + ('leidenalg', '0.9.1'), + ('networkx', '2.8.4'), + ('smfishHmrf', '1.3.3'), + ('SpatialDE', '1.1.3'), + ('scanpy', '1.9.1'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.16/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.16/data/experiment/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +# check whether correct version is installed in extension filter +# (some versions in this bundle may be newer than the ones provided by R) +local_ext_version_check = "pkgver = packageVersion('%(ext_name)s'); if (pkgver != '%(ext_version)s') " +local_stop_msg = "stop('%(ext_name)s %(ext_version)s not installed, found ', pkgver, ' instead')" +exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_stop_msg)) + +exts_list = [ + ('smfishHmrf', '0.1', { + 'checksums': ['4b098f348a3460209eedc9592288bbe20e9072f56aa13407cb65ff10aebfd5cc'], + }), + ('BiocGenerics', '0.44.0', { + 'checksums': ['8518e462c1ef103ab059d059d871afc444e48f56fe6b3afdb60dc1abf6c9b09d'], + }), + ('S4Vectors', '0.36.1', { + 'checksums': ['db4c251e674bd7cc66f4ed9d301294b3478686436204aec9c5740e0fabd59a9a'], + }), + ('IRanges', '2.32.0', { + 'checksums': ['097935916b5cb33804e1ea09fa6c4ee7ddeaa03eef99138a05b1896b28dc6a4b'], + }), + ('limma', '3.54.0', { + 'checksums': ['aae6bb0af0bd80677a01c48c96b99fc1a58c4a670a21fec87e135038972dc7cb'], + }), + ('BiocParallel', '1.32.5', { + 'checksums': ['395ed5c19fb706ca73c841c843c3a89f8a88f774a26415bfdbac0dca92a5a6f9'], + }), + ('MatrixGenerics', '1.10.0', { + 'checksums': ['09fbea178608186571acabc18cd2b81fe5c7aa2d143f5d456ceaed55e01b4815'], + }), + ('DelayedArray', '0.24.0', { + 'checksums': ['d764b4f487b49ca04150ea7d8f5f180683cd80575d67a162e4a99cd52bd8815a'], + }), + ('sparseMatrixStats', '1.10.0', { + 'checksums': ['60f523d2c70b926768070373b9fd05dafcc53e822b3dfd406fe95b4b541e02e7'], + }), + ('Matrix', '1.5-3', { + 'checksums': ['4e720f4edc97b1c09646a445851b1ce955caf6b1de8306a2283328b526fee00d'], + }), + ('DelayedMatrixStats', '1.20.0', { + 'checksums': ['63ca262c2b92966759ba9d2ebdea7500a4dd859e9f87c17408522f80693e9661'], + }), + ('beachmat', '2.14.0', { + 'checksums': ['d52485edb2919fe2b1a75999fd583c8eee7b9608fbe406bcf8d1c99312e44169'], + }), + ('RcppAnnoy', '0.0.20', { + 'checksums': ['dcc6c7e091154d0a5698472e0fc7ed77976941c7376d21e019c90c3efaeacf85'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.6.0', { + 'checksums': ['815ac82cc510995eaccfc521fdb65c153f25e8432d301b0da8fbe5f6d337b953'], + }), + ('BiocSingular', '1.14.0', { + 'checksums': ['738abd56358dd2bd56890380345b05d453be000005ba93d40571bbc8aaff3110'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('uwot', '0.1.11', { + 'checksums': ['4fcf90f1369a2a1f01db9e05a2365b155b2ada8e51e1f7f3ba5122d86affd41b'], + }), + ('dbscan', '1.1-11', { + 'checksums': ['f0498e67e612629340a2758fbe747c4d9d4ca648f002230a03499cb73735e62f'], + }), + (name, version, { + 'modulename': 'Giotto', + 'source_urls': ['https://github.com/drieslab/Giotto/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cbe08439d2e1a3edac1f46032c4c8511ef2cc9371bf49e0730ba7ee0e4c942ca'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['Giotto'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-11.2.0.eb new file mode 100644 index 000000000000..2abdf04dc938 --- /dev/null +++ b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-11.2.0.eb @@ -0,0 +1,57 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'GlimmerHMM' +version = '3.0.4c' + +homepage = 'https://ccb.jhu.edu/software/glimmerhmm' +description = """GlimmerHMM is a new gene finder based on a Generalized Hidden Markov Model. + Although the gene finder conforms to the overall mathematical framework of a GHMM, additionally + it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted + from GlimmerM. It also utilizes Interpolated Markov Models for the coding and noncoding models.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ccb.jhu.edu/software/%(namelower)s/dl'] +sources = [SOURCE_TAR_GZ] +checksums = ['31ee2ceb8f31338205b2de626d83d0f92d2cd55a04d48a6803193a2d0ad1b4a3'] + +dependencies = [ + ('Perl', '5.34.0'), +] + +start_dir = 'sources' + +# make sure -O0 is not used as compiler option +prebuildopts = "ls makefile train/makefile | xargs sed -i 's/-O0 .*//g' && " + +# also build in 'train' subdirectory to overwrite pre-compiled binaries +buildopts = "&& cd ../train && make" + +local_train_files = ['build1', 'build2', 'build-icm', 'build-icm-noframe', 'erfapp', 'falsecomp', + 'findsites', 'karlin', 'score', 'score2', 'scoreATG', 'scoreATG2', 'scoreSTOP', + 'scoreSTOP2', 'splicescore', 'trainGlimmerHMM'] +files_to_copy = [ + (['sources/%(namelower)s'], 'bin'), + (['train/%s' % x for x in local_train_files], 'bin'), + (['train/*.pm'], 'lib/perl%(perlmajver)s'), + 'trained_dir', 'README', 'train/readme.train', +] + +fix_perl_shebang_for = ['bin/trainGlimmerHMM'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['trained_dir'], +} + +sanity_check_commands = [ + "%(namelower)s -h", + r"trainGlimmerHMM -h 2>&1 | grep '^[ ]*Train GlimmerHMM module'", +] + +modextrapaths = {'PERL5LIB': 'lib/perl%(perlmajver)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb new file mode 100644 index 000000000000..f2b34303ae90 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8.1' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['844639b52444f839854cf9735203a76a9052fd485f2d4eae70d21d03a7ecaade'] + +configopts = ' --with-mpi --enable-i8' +configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' + +# select armci network as (Comex) MPI-1 two-sided +configopts += ' --with-mpi-ts' + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb new file mode 100644 index 000000000000..435986d2ef92 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8.2' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] + +configopts = ' --with-mpi --enable-i8' +configopts += ' --with-blas8="-L$MLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack8="L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 ' +configopts += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' + +# select armci network as (Comex) MPI-1 two-sided +configopts += ' --with-mpi-ts' + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb index 94a5cbb5961d..fad3ae66a6f9 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.2-GCCcore-10.3.0.eb @@ -26,6 +26,8 @@ dependencies = [ ('libtasn1', '4.17.0'), ('libidn', '1.36'), ('p11-kit', '0.24.0'), + ('zlib', '1.2.11'), + ('zstd', '1.4.9'), ] configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb index 6bcdaa9f327b..ea03e7cd2dc8 100644 --- a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb @@ -26,6 +26,8 @@ dependencies = [ ('libtasn1', '4.18.0'), ('libidn', '1.38'), ('p11-kit', '0.24.1'), + ('zlib', '1.2.11'), + ('zstd', '1.5.0'), ] configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8660253cc57c --- /dev/null +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'GnuTLS' +version = '3.7.8' + +homepage = 'https://www.gnutls.org' +description = """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple + C language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS #12, + OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('GMP', '6.2.1'), + ('nettle', '3.8'), + ('Guile', '3.0.8'), + ('libtasn1', '4.19.0'), + ('libidn', '1.41'), + ('p11-kit', '0.24.1'), + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), +] + +configopts = "--with-guile-site-dir=%(installdir)s/lib/guile --enable-openssl-compatibility " +configopts += "--with-guile-site-ccache-dir=%(installdir)s/lib/guile/site-ccache " +configopts += "--with-guile-extension-dir=%(installdir)s/lib/guile/extensions" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', + 'gnutls-serv', 'ocsptool', 'psktool', 'srptool']] + + ['lib/libgnutls%s' % x for x in ['.%s' % SHLIB_EXT, 'xx.%s' % SHLIB_EXT, '-openssl.%s' % SHLIB_EXT]], + 'dirs': ['include/gnutls', 'lib/guile'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/Godon/Godon-20210913-x86_64.eb b/easybuild/easyconfigs/g/Godon/Godon-20210913-x86_64.eb new file mode 100644 index 000000000000..aa401a18c4ff --- /dev/null +++ b/easybuild/easyconfigs/g/Godon/Godon-20210913-x86_64.eb @@ -0,0 +1,44 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +# Compilation with GO looks to use a broken dependency +# +# SO use the pre-compiled binaries! +## + +easyblock = 'Binary' + +name = 'Godon' +version = '20210913' +versionsuffix = '-x86_64' + +software_license = 'LicenseGPLv3' + +homepage = 'https://bitbucket.org/Davydov/godon/' +description = """Godon is codon models software written in Go.""" + +toolchain = SYSTEM + +source_urls = ['https://bitbucket.org/Davydov/godon/downloads'] +sources = [{ + 'download_filename': 'godon-master-linux-gnu-x86_64', + 'filename': 'godon-%(version)s-linux-gnu-x86_64', +}] +checksums = ['159058f7577093548f3ced1540d1ff9fd5f7915cdfcb8f8cd7fb40f5c202fcca'] + +extract_sources = False + +install_cmd = "mkdir -p %(installdir)s/bin/ && cp -a godon-%(version)s-linux-gnu-x86_64 %(installdir)s/bin/ && " +install_cmd += "cd %(installdir)s/bin && ln -s godon-%(version)s-linux-gnu-x86_64 godon" + +sanity_check_paths = { + 'files': ["bin/godon"], + 'dirs': [], +} + +sanity_check_commands = ["godon --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GraphDB/GraphDB-10.1.5.eb b/easybuild/easyconfigs/g/GraphDB/GraphDB-10.1.5.eb new file mode 100644 index 000000000000..454deb0fc877 --- /dev/null +++ b/easybuild/easyconfigs/g/GraphDB/GraphDB-10.1.5.eb @@ -0,0 +1,40 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## +easyblock = 'Binary' + +name = 'GraphDB' +version = '10.1.5' + +homepage = 'https://graphdb.ontotext.com/' +description = """GraphDB is an enterprise ready Semantic Graph Database, compliant +with W3C Standards. Semantic graph databases (also called RDF triplestores) provide +the core infrastructure for solutions where modelling agility, data integration, +relationship exploration and cross-enterprise data publishing and consumption are important.""" +# software_license = 'GraphDB-Free is free to use however, is not open source' +download_instructions = """Fill a form to request GraphDB at https://www.ontotext.com/products/graphdb/download/""" + +toolchain = SYSTEM + +source_urls = ['https://download.ontotext.com/owlim/125bea40-b12b-11ed-aef3-42843b1b6b38/'] +sources = ['graphdb-%(version)s-dist.zip'] +checksums = ['849377177c0571f9b6a59049df7ee9b9a19511d538872f21b415db1c5bb8285e'] + +dependencies = [ + ('Java', '11'), +] + +extract_sources = True + +sanity_check_paths = { + 'files': ['bin/graphdb', 'README'], + 'dirs': ['bin', 'conf', 'configs', 'doc', 'examples', 'lib', 'tools'], +} + +sanity_check_commands = ["graphdb -h"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b73f8a3c5b7c --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'Graphene' +version = '1.10.8' + +homepage = 'https://ebassi.github.io/graphene/' +description = "Graphene is a thin layer of types for graphic libraries" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'ebassi' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('GObject-Introspection', '1.74.0'), + ('binutils', '2.39'), +] +dependencies = [('GLib', '2.75.0')] + +configopts = "-Dgobject_types=true -Dintrospection=enabled" + +sanity_check_paths = { + 'files': ['lib/libgraphene-1.0.%s' % SHLIB_EXT, 'share/gir-1.0/Graphene-1.0.gir'], + 'dirs': ['include/graphene-1.0', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb new file mode 100644 index 000000000000..580d4e0bffd9 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Greenlet' +version = '2.0.2' + +homepage = 'https://github.com/python-greenlet/greenlet' + +description = """The greenlet package is a spin-off of Stackless, a version of CPython that +supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single +or a few OS-level threads) and are synchronized with data exchanges on "channels". +A "greenlet", on the other hand, is a still more primitive notion of micro-thread with no implicit +scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [('Python', '3.10.4')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..cc05f88f67a4 --- /dev/null +++ b/easybuild/easyconfigs/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'g2clib' +version = '1.7.0' + +homepage = 'https://github.com/NOAA-EMC/NCEPLIBS-g2c' +description = """Library contains GRIB2 encoder/decoder ('C' version).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NOAA-EMC/NCEPLIBS-g2c/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['73afba9da382fed73ed8692d77fa037bb313280879cd4012a5e5697dccf55175'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('JasPer', '2.0.33'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +sanity_check_paths = { + 'files': ['lib/libg2c.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/gbasis/gbasis-20210904-intel-2022a.eb b/easybuild/easyconfigs/g/gbasis/gbasis-20210904-intel-2022a.eb new file mode 100644 index 000000000000..035d42cae648 --- /dev/null +++ b/easybuild/easyconfigs/g/gbasis/gbasis-20210904-intel-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'gbasis' +local_commit = '2eb9e49' +version = '20210904' + +homepage = 'https://github.com/theochem/gbasis' +description = """Python library for analytical evaluation and integration of Gaussian-type basis functions and + related quantities.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/gbasis/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['86b20647d756b6979d52d721309eb7f86cdd6e01b50a78d651958e16ecbabecb'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('iodata', '1.0.0a2'), +] + +download_dep_fail = True +use_pip = True + +# inject a proper version rather than using 0.0.0 +preinstallopts = r"""sed -i 's/version="0.0.0"/version="%(version)s"/g' setup.py && """ + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/genomepy/genomepy-0.15.0-foss-2022a.eb b/easybuild/easyconfigs/g/genomepy/genomepy-0.15.0-foss-2022a.eb new file mode 100644 index 000000000000..916e64199644 --- /dev/null +++ b/easybuild/easyconfigs/g/genomepy/genomepy-0.15.0-foss-2022a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'genomepy' +version = '0.15.0' + +homepage = 'https://github.com/vanheeringen-lab/genomepy' +description = "genomepy is designed to provide a simple and straightforward way to download and use genomic data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('Biopython', '1.79'), + ('mygene', '3.2.2'), + ('pyfaidx', '0.7.1'), + ('PyYAML', '6.0'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True + +# avoid hatchling requirement to install genomepy +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ +local_preinstallopts += "rm -r paper && " + +local_postinstallcmds = [ + # copy default configuration file (only needed because we're not using hatchling for the installation) + "cp -a genomepy/config/default.yaml %(installdir)s/lib/python%(pyshortver)s/site-packages/genomepy/config/", +] + +exts_list = [ + ('diskcache', '5.4.0', { + 'checksums': ['8879eb8c9b4a2509a5e633d2008634fb2b0b35c2b36192d89655dbde02419644'], + }), + ('loguru', '0.6.0', { + 'checksums': ['066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c'], + }), + ('mysql-connector-python', '8.0.32', { + 'sources': ['mysql_connector_python-%(version)s-py2.py3-none-any.whl'], + 'checksums': ['e0299236297b63bf6cbb61d81a9d400bc01cad4743d1abe5296ef349de15ee53'], + 'modulename': 'mysqlx', + }), + ('norns', '0.1.6', { + 'checksums': ['1f3c6ccbe79b2cb3076f66a352cd76462593adbabe9ebb262f879a9d0a6634e4'], + # remove 'nose' requirement (not compatible with Python 3.10, and not really needed) + 'preinstallopts': "sed -i '/nose/d' setup.py && ", + }), + ('pyfaidx', '0.7.2.1', { + 'checksums': ['30f0d20a9e3d53353fb20eb69b7e22e6f01a53ed4f21b3e17dd408f0be5051a0'], + }), + (name, version, { + 'checksums': ['9656f94d2e47e8b1cd11abc3f8e519c39011fcd5d211d8ab940d7063b5ddbe4a'], + 'preinstallopts': local_preinstallopts, + 'postinstallcmds': local_postinstallcmds, + }), +] + +sanity_check_paths = { + 'files': ['bin/genomepy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["genomepy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gensim/gensim-4.2.0-foss-2021a.eb b/easybuild/easyconfigs/g/gensim/gensim-4.2.0-foss-2021a.eb new file mode 100644 index 000000000000..2270b2977d2c --- /dev/null +++ b/easybuild/easyconfigs/g/gensim/gensim-4.2.0-foss-2021a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'gensim' +version = '4.2.0' + +homepage = 'https://radimrehurek.com/gensim' +description = """Gensim is a Python library for topic modelling, document indexing and similarity retrieval with + large corpora.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy, pandas +] + +use_pip = True + +exts_list = [ + ('smart_open', '6.0.0', { + 'checksums': ['d60106b96f0bcaedf5f1cd46ff5524a1c3d02d5653425618bb0fa66e158d22b0'], + }), + (name, version, { + 'checksums': ['995ebd2970a31d47c100aaac10212f47e2bf12e2b06536d38883c951ff34eef1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022a.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022a.eb new file mode 100644 index 000000000000..ee3dee5c65a8 --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.12.2' + +homepage = 'https://github.com/geopandas/geopandas' +description = """GeoPandas is a project to add support for geographic data to pandas objects. +It currently implements GeoSeries and GeoDataFrame types which are subclasses of pandas.Series +and pandas.DataFrame respectively. GeoPandas objects can act on shapely geometry objects and +perform geometric operations.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Shapely', '1.8.2'), + ('Fiona', '1.8.21'), + ('matplotlib', '3.5.2'), + ('pyproj', '3.4.0'), + ('networkx', '2.8.4'), # needed by mapclassify + ('scikit-learn', '1.1.2'), # needed by mapclassify +] + +use_pip = True + +exts_list = [ + ('mapclassify', '2.4.3', { + 'checksums': ['51b81e1f1ee7f64a4ca1e9f61f01216c364a3f086a48b1be38eb057199cb19bf'], + }), + (name, version, { + 'checksums': ['0acdacddefa176525e4da6d9aeeece225da26055c4becdc6e97cf40fa97c27f4'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022b.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022b.eb new file mode 100644 index 000000000000..a887dfe6e148 --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.12.2' + +homepage = 'https://github.com/geopandas/geopandas' +description = """GeoPandas is a project to add support for geographic data to pandas objects. +It currently implements GeoSeries and GeoDataFrame types which are subclasses of pandas.Series +and pandas.DataFrame respectively. GeoPandas objects can act on shapely geometry objects and +perform geometric operations.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Shapely', '2.0.1'), + ('Fiona', '1.9.2'), + ('matplotlib', '3.7.0'), + ('pyproj', '3.5.0'), + ('networkx', '3.0'), # needed by mapclassify + ('scikit-learn', '1.2.1'), # needed by mapclassify +] + +use_pip = True + +exts_list = [ + ('mapclassify', '2.4.3', { + 'checksums': ['51b81e1f1ee7f64a4ca1e9f61f01216c364a3f086a48b1be38eb057199cb19bf'], + }), + (name, version, { + 'checksums': ['0acdacddefa176525e4da6d9aeeece225da26055c4becdc6e97cf40fa97c27f4'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..a7ad515633fc --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21.1' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('libxml2', '2.10.3'), + ('ncurses', '6.3'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21.1.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21.1.eb new file mode 100644 index 000000000000..9525991ab156 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21.1.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21.1' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +# This is a basic stripped down version of gettext without any +# dependencies on other packages used as initial builddep for XZ +# It is the first step in the cyclic dependency chain of +# XZ -> libxml2 -> gettext -> XZ + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45'] + +dependencies = [ + ('ncurses', '6.3'), +] + +configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb new file mode 100644 index 000000000000..1ed2f9c0bad2 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2022b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gh/gh-2.20.2.eb b/easybuild/easyconfigs/g/gh/gh-2.20.2.eb new file mode 100644 index 000000000000..b78e0a508e2e --- /dev/null +++ b/easybuild/easyconfigs/g/gh/gh-2.20.2.eb @@ -0,0 +1,27 @@ +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +# +easyblock = 'GoPackage' + +name = 'gh' +version = '2.20.2' + +homepage = 'https://github.com/cli/cli' +description = """gh is GitHub on the command line.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cli/cli/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['221380a32559984b64cdda81fabb60e5d4ed00db49ffe8390ddc149bef25c5a7'] + +builddependencies = [ + ('Go', '1.18.3'), +] + +installopts = './cmd/%(namelower)s' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e3089e87fd41 --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb index 214a4cc7228a..658c91a6dd56 100644 --- a/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb +++ b/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb @@ -39,6 +39,8 @@ preconfigopts = 'make configure && ' # will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" +postinstallcmds = ['cd contrib/subtree; make install'] + sanity_check_paths = { 'files': ['bin/git'], 'dirs': ['libexec/git-core', 'share'], diff --git a/easybuild/easyconfigs/g/git/git-2.38.1-GCCcore-12.2.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.38.1-GCCcore-12.2.0-nodocs.eb new file mode 100644 index 000000000000..001f08105d63 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.38.1-GCCcore-12.2.0-nodocs.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## +# updated to 2.33.1 +# J. Sassmannshausen / GSTT + +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.38.1' +versionsuffix = '-nodocs' + +homepage = 'https://git-scm.com' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91456b031324f7909f35e067dcfb907956d1a5c3d2069cfc5b4549e42089e546'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '7.86.0'), + ('expat', '2.4.9'), + ('gettext', '0.21.1'), + ('Perl', '5.36.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-egl.eb new file mode 100644 index 000000000000..0bd382da354a --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-egl.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-egl' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Mesa', '22.0.3'), + ('X11', '20220504'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..89649bba2dd6 --- /dev/null +++ b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MesonNinja' + +name = 'glib-networking' +version = '2.72.1' + +homepage = 'https://gitlab.gnome.org/GNOME/glib-networking' +description = "Network extensions for GLib" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/glib-networking/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['675a654ae55d381490c5d76b84e088f684125415fbd2d46f74dfa5522c4a1268'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('GnuTLS', '3.7.8'), + ('libidn2', '2.3.2'), +] + +sanity_check_paths = { + 'files': ['lib/gio/modules/libgiognutls.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'GIO_EXTRA_MODULES': 'lib/gio/modules'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2022.1.0.eb new file mode 100644 index 000000000000..9223b7f00cda --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2022.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.2' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da75140bca128ece795895477e53b43773e3748aa90ba6170eae7ca2c74b82d1'] + +dependencies = [ + ('Python', '3.10.4'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmsh/gmsh-4.11.1-foss-2022a.eb b/easybuild/easyconfigs/g/gmsh/gmsh-4.11.1-foss-2022a.eb new file mode 100644 index 000000000000..0be178bc9351 --- /dev/null +++ b/easybuild/easyconfigs/g/gmsh/gmsh-4.11.1-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'gmsh' +version = '4.11.1' + +homepage = 'https://gmsh.info/' +description = "Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://%(name)s.info/src/'] +sources = ['%(name)s-%(version)s-source.tgz'] +checksums = ['c5fe1b7cbd403888a814929f2fd0f5d69e27600222a18c786db5b76e8005b365'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('SWIG', '4.0.2'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PETSc', '3.17.4'), + ('SLEPc', '3.17.2'), + ('FLTK', '1.3.8'), + ('occt', '7.5.0p1'), +] + +separate_build_dir = True + +configopts = "-DENABLE_BUILD_SHARED=ON -DENABLE_WRAP_PYTHON=ON -DENABLE_METIS=1" + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/onelab.py', 'lib/%(name)s.py', 'lib/libgmsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +modextrapaths = {'PYTHONPATH': ['lib']} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.6-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..d3bd40b6b622 --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.6-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.4.6' + +homepage = 'http://gnuplot.sourceforge.net' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] +checksums = ['02fc27918200ed64d8f0c3b84fe81b95b59cd47ad99f270939ae497c19f27419'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('cairo', '1.17.4'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('libgd', '2.3.3'), + ('Pango', '1.50.12'), + ('libcerf', '2.3'), + ('X11', '20221110'), + ('Qt5', '5.15.7'), + ('Lua', '5.4.4'), + ('wxWidgets', '3.2.2.1'), +] + +preconfigopts = 'autoreconf && ' + +configopts = '--with-qt=qt5 --without-latex ' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} +# make sure that pdf terminal type is available +sanity_check_commands = ["gnuplot -e 'set terminal pdf'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gomkl/gomkl-2021b.eb b/easybuild/easyconfigs/g/gomkl/gomkl-2021b.eb new file mode 100644 index 000000000000..8d7a31b6a839 --- /dev/null +++ b/easybuild/easyconfigs/g/gomkl/gomkl-2021b.eb @@ -0,0 +1,19 @@ +easyblock = "Toolchain" + +name = 'gomkl' +version = '2021b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL""" + +toolchain = SYSTEM + +local_comp = ('GCC', '11.2.0') + +dependencies = [ + local_comp, + ('OpenMPI', '4.1.1', '', local_comp), + ('imkl', '2021.4.0'), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gomkl/gomkl-2022a.eb b/easybuild/easyconfigs/g/gomkl/gomkl-2022a.eb new file mode 100644 index 000000000000..125f99c761b2 --- /dev/null +++ b/easybuild/easyconfigs/g/gomkl/gomkl-2022a.eb @@ -0,0 +1,19 @@ +easyblock = "Toolchain" + +name = 'gomkl' +version = '2022a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL""" + +toolchain = SYSTEM + +local_comp = ('GCC', '11.3.0') + +dependencies = [ + local_comp, + ('OpenMPI', '4.1.4', '', local_comp), + ('imkl', '2022.1.0', '', ('gompi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2022.10.eb b/easybuild/easyconfigs/g/gompi/gompi-2022.10.eb new file mode 100644 index 000000000000..9d5e27529690 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2022.10.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2022.10' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2022b.eb b/easybuild/easyconfigs/g/gompi/gompi-2022b.eb new file mode 100644 index 000000000000..f49f5d2e3000 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2022b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.12.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.12.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..20cae145de02 --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.12.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.12.1' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/googletest/archive/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..5f0199119757 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [], +} + +sanity_check_commands = ["gperf --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e7e24e4484aa --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.2.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': '12.2.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..47df85eff8b7 --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.20.1' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-foss-2016b-Python-2.7.12.eb similarity index 51% rename from easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-foss-2016b-Python-2.7.12.eb rename to easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-foss-2016b-Python-2.7.12.eb index 346cabf772ef..d5d827a43aa4 100644 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-foss-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-foss-2016b-Python-2.7.12.eb @@ -1,6 +1,6 @@ easyblock = 'PythonPackage' -name = 'graphviz' +name = 'graphviz-python' version = '0.5.1' versionsuffix = '-Python-%(pyver)s' @@ -9,11 +9,19 @@ description = """Simple Python interface for Graphviz""" toolchain = {'name': 'foss', 'version': '2016b'} -sources = [SOURCE_ZIP] +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['d8f8f369a5c109d3fc971bbc1860b6848515d210aee8f5019c460351dbb00a50'] dependencies = [ ('Python', '2.7.12'), ('Graphviz', '2.38.0'), ] +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-2.7.12.eb similarity index 51% rename from easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-2.7.12.eb rename to easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-2.7.12.eb index 3d13addde204..c7c137b925d8 100644 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-2.7.12.eb @@ -1,6 +1,6 @@ easyblock = 'PythonPackage' -name = 'graphviz' +name = 'graphviz-python' version = '0.5.1' versionsuffix = '-Python-%(pyver)s' @@ -9,11 +9,19 @@ description = """Simple Python interface for Graphviz""" toolchain = {'name': 'intel', 'version': '2016b'} -sources = [SOURCE_ZIP] +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['d8f8f369a5c109d3fc971bbc1860b6848515d210aee8f5019c460351dbb00a50'] dependencies = [ ('Python', '2.7.12'), ('Graphviz', '2.38.0'), ] +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-3.5.2.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-3.5.2.eb similarity index 51% rename from easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-3.5.2.eb rename to easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-3.5.2.eb index 47c26978fe39..3b72a1b71bee 100644 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-3.5.2.eb +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-3.5.2.eb @@ -1,6 +1,6 @@ easyblock = 'PythonPackage' -name = 'graphviz' +name = 'graphviz-python' version = '0.5.1' versionsuffix = '-Python-%(pyver)s' @@ -9,11 +9,19 @@ description = """Simple Python interface for Graphviz""" toolchain = {'name': 'intel', 'version': '2016b'} -sources = [SOURCE_ZIP] +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['d8f8f369a5c109d3fc971bbc1860b6848515d210aee8f5019c460351dbb00a50'] dependencies = [ ('Python', '3.5.2'), ('Graphviz', '2.38.0'), ] +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.8.2-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.8.2-intel-2018a-Python-3.6.4.eb similarity index 63% rename from easybuild/easyconfigs/g/graphviz/graphviz-0.8.2-intel-2018a-Python-3.6.4.eb rename to easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.8.2-intel-2018a-Python-3.6.4.eb index d066bb3b71c7..e02e7841e5c8 100644 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.8.2-intel-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.8.2-intel-2018a-Python-3.6.4.eb @@ -1,6 +1,6 @@ easyblock = 'PythonPackage' -name = 'graphviz' +name = 'graphviz-python' version = '0.8.2' versionsuffix = '-Python-%(pyver)s' @@ -9,7 +9,8 @@ description = """Simple Python interface for Graphviz""" toolchain = {'name': 'intel', 'version': '2018a'} -sources = [SOURCE_ZIP] +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] checksums = ['606741c028acc54b1a065b33045f8c89ee0927ea77273ec409ac988f2c3d1091'] dependencies = [ @@ -17,4 +18,10 @@ dependencies = [ ('Graphviz', '2.40.1'), ] +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/grid/grid-20220610-intel-2022a.eb b/easybuild/easyconfigs/g/grid/grid-20220610-intel-2022a.eb new file mode 100644 index 000000000000..efcdd9e7be47 --- /dev/null +++ b/easybuild/easyconfigs/g/grid/grid-20220610-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'grid' +version = '20220610' +local_commit = '0677fc7' + +homepage = 'https://grid.qcdevs.org/' +description = """Grid is a free and open-source Python library for numerical integration, + interpolation and differentiation of interest for the quantum chemistry community.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/grid/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['d8189c33a9d5fc89ad0fa83089431944b346686519ec8d3c350848cf28b81d7a'] + +dependencies = { + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('sympy', '1.10.1'), +} + +download_dep_fail = True +use_pip = True + +preinstallopts = """sed -i 's|version=get_version()|version="%(version)s"|g' setup.py && """ + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e2b37f3dcd40 --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.22.4' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] + +builddependencies = [ + ('binutils', '2.39'), +] + +configopts = '--with-doc=no' + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gsw/gsw-3.6.16-foss-2022a.eb b/easybuild/easyconfigs/g/gsw/gsw-3.6.16-foss-2022a.eb new file mode 100644 index 000000000000..b18c6a531815 --- /dev/null +++ b/easybuild/easyconfigs/g/gsw/gsw-3.6.16-foss-2022a.eb @@ -0,0 +1,35 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'gsw' +version = '3.6.16' + +homepage = 'https://github.com/TEOS-10/GSW-python' +description = """This Python implementation of the Thermodynamic Equation of +Seawater 2010 (TEOS-10) is based primarily on numpy ufunc wrappers of the GSW-C +implementation. This library replaces the original python-gsw pure-python +implementation.. The primary reasons for this change are that by building on +the C implementation we reduce code duplication and we gain an immediate update +to the 75-term equation. +Additional benefits include a major increase in speed, a reduction in memory +usage, and the inclusion of more functions. The penalty is that a C +(or MSVC C++ for Windows) compiler is required to build the package from source.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d24d820c8b43dbf72206cf5e3b0ed800b05aa85ca40afd39c9abd19849714197'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..22956fb64c76 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.12' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['gzip-1.12_fix-gnulib-strndup-redeclaration.patch'] +checksums = [ + '5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085', # gzip-1.12.tar.gz + # gzip-1.12_fix-gnulib-strndup-redeclaration.patch + '9c67e3e88848f7ff1f19f29d87f286bac1cc8f027f7eea9bcaf53883b95032e4', +] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.29-foss-2022a.eb b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.29-foss-2022a.eb new file mode 100644 index 000000000000..f89267e310bf --- /dev/null +++ b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.29-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'HDBSCAN' +version = '0.8.29' + +homepage = 'http://hdbscan.readthedocs.io/en/latest/' +description = """The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense + regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library + provides a high performance implementation of this algorithm, along with tools for analysing the resulting + clustering.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['7e9d7351610eaadddb281e3149a74e22e329bc0b5325f631031d4b63a6a770ae'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f0286cd30bdc --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.15' + +homepage = 'https://www.hdfgroup.org/products/hdf4/' + +description = """ + HDF (also known as HDF4) is a library and multi-object file format for + storing and managing data between machines. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['HDF-4.2.15_fix-aarch64.patch'] +checksums = [ + 'dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459', # hdf-4.2.15.tar.gz + '1b4341e309cccefc6ea4310c8f8b08cc3dfe1fa9609b7fa7aee80e4dac598473', # HDF-4.2.15_fix-aarch64.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.4'), + ('Szip', '2.1.1'), + ('zlib', '1.2.12'), + ('libtirpc', '1.3.3'), +] + +preconfigopts = "LIBS='-ltirpc' " +local_common_configopts = '--with-szlib=$EBROOTSZIP CFLAGS="$CFLAGS -I$EBROOTLIBTIRPC/include/tirpc" ' +local_common_configopts += '--includedir=%(installdir)s/include/%(namelower)s ' +configopts = [ + # -fallow-argument-mismatch is required to compile with GCC 10.x + local_common_configopts + 'FFLAGS="$FFLAGS -fallow-argument-mismatch"', + # Cannot build shared libraries and Fortran... + # https://trac.osgeo.org/gdal/wiki/HDF#IncompatibilitywithNetCDFLibraries + # netcdf must be disabled to allow HDF to be used by GDAL + local_common_configopts + "--enable-shared --disable-fortran --disable-netcdf", +] + +modextrapaths = {'CPATH': 'include/hdf'} + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', + 'lib/libmfhdf.%s' % SHLIB_EXT], + 'dirs': ['include/hdf'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCCcore-8.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCC-8.3.0-serial.eb similarity index 87% rename from easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCCcore-8.3.0-serial.eb rename to easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCC-8.3.0-serial.eb index 7bc2b35825e0..9862e5f86f12 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCCcore-8.3.0-serial.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCC-8.3.0-serial.eb @@ -7,17 +7,13 @@ description = """HDF5 is a data model, library, and file format for storing and It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.""" -toolchain = {'name': 'GCCcore', 'version': '8.3.0'} +toolchain = {'name': 'GCC', 'version': '8.3.0'} toolchainopts = {'pic': True} source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8'] -builddependencies = [ - ('binutils', '2.32'), -] - dependencies = [ ('zlib', '1.2.11'), ('Szip', '2.1.1'), diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2022a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2022a.eb new file mode 100644 index 000000000000..3091b947d74a --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2022a.eb @@ -0,0 +1,28 @@ +# Updated to version 1.10.8, needed for HISAT2-2.2.1 +# J. Sassmannshausen + +name = 'HDF5' +version = '1.10.8' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['66ec544b195a4cb9f6ffed034fd82e52429d6112747c2996ab69853f606e546b'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +# needed to build HL-tools: gif2h5 gif2h5 and h5watch +# beware that gif tools are affected by multiple CVEs: CVE-2018-17433, CVE-2018-17436, CVE-2020-10809 +# configopts = "--enable-hltools" + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCCcore-11.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCC-11.3.0-serial.eb similarity index 87% rename from easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCCcore-11.3.0-serial.eb rename to easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCC-11.3.0-serial.eb index 494b13353297..ce6efc4e6ba4 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCCcore-11.3.0-serial.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCC-11.3.0-serial.eb @@ -8,17 +8,13 @@ description = """HDF5 is a data model, library, and file format for storing and It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.""" -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchain = {'name': 'GCC', 'version': '11.3.0'} toolchainopts = {'pic': True} source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] -builddependencies = [ - ('binutils', '2.38'), -] - dependencies = [ ('zlib', '1.2.12'), ('Szip', '2.1.1'), diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCCcore-11.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCC-11.3.0-serial.eb similarity index 87% rename from easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCCcore-11.3.0-serial.eb rename to easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCC-11.3.0-serial.eb index b73831007ebb..60a4e24dfdb2 100644 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCCcore-11.3.0-serial.eb +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCC-11.3.0-serial.eb @@ -7,17 +7,13 @@ description = """HDF5 is a data model, library, and file format for storing and It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.""" -toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchain = {'name': 'GCC', 'version': '11.3.0'} toolchainopts = {'pic': True} source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53'] -builddependencies = [ - ('binutils', '2.38'), -] - dependencies = [ ('zlib', '1.2.12'), ('Szip', '2.1.1'), diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2022b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2022b.eb new file mode 100644 index 000000000000..fc3bdeb419ee --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2022b.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.0' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +# replace src include path with installation dir for $H5BLD_CPPFLAGS +_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g' +postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb new file mode 100644 index 000000000000..8c20eb4138ec --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb @@ -0,0 +1,25 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.0' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g' +postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2022a.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2022a.eb new file mode 100644 index 000000000000..1e8dd76e7080 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2022a.eb @@ -0,0 +1,90 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package + for sensitive protein sequence searching based on the pairwise + alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('Python', '3.10.4'), +] + +_binaries_help = [ + 'cstranslate', 'cstranslate_mpi', 'hhalign', 'hhalign_mpi', 'hhalign_omp', 'hhconsensus', + 'hhfilter', 'hhmake' +] + +_binaries_h = [ + 'a3m_database_extract', 'a3m_database_filter', 'a3m_database_reduce', 'a3m_extract', 'a3m_reduce', + 'hhblits', 'hhblits_ca3m', 'hhblits_mpi', 'hhblits_omp', 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp' +] + +_binaries_version = ['ffindex_build', 'ffindex_from_fasta', 'ffindex_modify'] + +_binaries_v = ['ffindex_from_fasta_with_split'] + +_binaries_helpless = [ + 'ffindex_apply', 'ffindex_apply_mpi', 'ffindex_get', + 'ffindex_order', 'ffindex_reduce', 'ffindex_unpack' +] + +_scriptfiles = ['hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py'] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries_help] + + ['bin/%s' % x for x in _binaries_h] + + ['bin/%s' % x for x in _binaries_version] + + ['bin/%s' % x for x in _binaries_v] + + ['bin/%s' % x for x in _binaries_helpless] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +sanity_check_commands = ['%s --help' % x for x in _binaries_help] +sanity_check_commands += ['%s -h' % x for x in _binaries_h] +sanity_check_commands += ['%s --version' % x for x in _binaries_version] +sanity_check_commands += ['%s -v' % x for x in _binaries_v] +sanity_check_commands += ['%s 2>&1 | grep USAGE' % x for x in _binaries_helpless] + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022a.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022a.eb new file mode 100644 index 000000000000..6ddb5b2dc0e5 --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022a.eb @@ -0,0 +1,61 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + {'hisat2-2.2.1-source.zip': '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1'}, + {'hisat2-libname-fix.patch': '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726'}, +] + +dependencies = [ + ('ncbi-vdb', '3.0.2'), + ('SRA-Toolkit', '3.0.3'), # provides NGS +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR="$EBROOTSRAMINTOOLKIT" NCBI_VDB_DIR="$EBROOTNCBIMINVDB" ' +# add new libncbi-ngs from the NGS merge into SRA-Toolkit v3 +buildopts += 'SRA_LIB="-lncbi-ngs-c++ -lngs-c++ -lncbi-ngs -lncbi-vdb -ldl"' + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb index 97dfa48ddc7f..6d170d9620c7 100644 --- a/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb @@ -28,8 +28,8 @@ postinstallcmds = [ ( "cd %(installdir)s/bin && " "sed -i '1 i#!/usr/bin/env perl' *.pl && " - "sed -i 's,\.\.\/bin/,,g' *.sh ncbiBlastConfig.txt && " - "sed -i 's,\.\./database,$EBROOTHLAMINER/database,g' *.sh && " + r"sed -i 's,\.\.\/bin/,,g' *.sh ncbiBlastConfig.txt && " + r"sed -i 's,\.\./database,$EBROOTHLAMINER/database,g' *.sh && " "sed -i 's,/home/pubseq/BioSw/bwa/bwa-0.5.9/bwa,bwa,g' *.sh" ), ] diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022a.eb new file mode 100644 index 000000000000..1e4307e38031 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022a.eb @@ -0,0 +1,79 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# Fotis Georgatos +# Updated by: Filip Kružík (INUITS) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a +# component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + {'hmmer-3.3.2.tar.gz': '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'}, + {'HMMER-3.3.2_fix_perl.patch': '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d'}, +] + +builddependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.10.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.10.eb new file mode 100644 index 000000000000..453f6a14c839 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.10.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022.10'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022b.eb new file mode 100644 index 000000000000..286030ee6568 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-gomkl-2022a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-gomkl-2022a.eb new file mode 100644 index 000000000000..170c480afe8b --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-gomkl-2022a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'gomkl', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.09.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.09.eb new file mode 100644 index 000000000000..fb7197f51a4f --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.09.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.09'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.11.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.11.eb new file mode 100644 index 000000000000..6b5eb683de86 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.11.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.11'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.12.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.12.eb new file mode 100644 index 000000000000..b2d20c3f7900 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.12.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.12'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022b.eb new file mode 100644 index 000000000000..8b309fa2a4b2 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.03.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.03.eb new file mode 100644 index 000000000000..10fe0118177e --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.03.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2023.03'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021b.eb new file mode 100755 index 000000000000..9f525d9df189 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'iomkl', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.2-foss-2022a.eb new file mode 100644 index 000000000000..241a26b0ee64 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.2-foss-2022a.eb @@ -0,0 +1,41 @@ +# Updated to PythonBundle and latest version from Pypi +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'HTSeq' +version = '2.0.2' + +homepage = 'https://github.com/simon-anders/htseq' +description = """HTSeq is a Python library to facilitate processing and analysis + of data from high-throughput sequencing (HTS) experiments.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('SWIG', '4.0.2')] + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['e2c7442d6ff3f97293cfa0da276576f0996eae0a66eb3c2006332ef198f7ea09'], + 'modulename': '%(name)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-count', 'bin/%(namelower)s-qa'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s/scripts'], +} + +sanity_check_commands = ['%(namelower)s-count --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.17-GCC-12.2.0.eb new file mode 100644 index 000000000000..c0a8278c4ed9 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.17-GCC-12.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.17' + +homepage = "https://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['763779288c40f07646ec7ad98b96c378c739171d162ad98398868783b721839f'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('cURL', '7.86.0'), +] + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSplotter/HTSplotter-0.15-foss-2022a.eb b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-0.15-foss-2022a.eb new file mode 100644 index 000000000000..e9af6f663733 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-0.15-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'HTSplotter' +version = '0.15' + +homepage = 'https://github.com/CBIGR/HTSplotter' +description = """HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro +perturbation screens.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('Seaborn', '0.12.1'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('minio', '7.1.13', { + 'checksums': ['8828615a20cde82df79c5a52005252ad29bb022cde25177a4a43952a04c3222c'], + }), + ('pypdf', '3.4.1', { + 'checksums': ['8b0badc787062e8fb0d8393eb2a76903717fb24e5cc84e2b03cde5ac3881700f'], + }), + ('PyPDF2', '3.0.1', { + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + 'modulename': 'PyPDF2', + }), + ('PyPDF3', '1.0.6', { + 'checksums': ['c946f3273419e37258e35e72273f49904ab15723d87a761c1115ef99799f8c5f'], + 'modulename': 'PyPDF3', + }), + (name, version, { + 'checksums': ['9504709ac2d04dbcd0694ca0370a44b7e302b667771fb492b596d9662a2a85a9'], + 'modulename': 'HTSplotter', + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2022b.eb b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2022b.eb new file mode 100644 index 000000000000..00810cd3b194 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2022b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'HTSplotter' +version = '2.11' + +homepage = 'https://github.com/CBIGR/HTSplotter' +description = """HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro +perturbation screens.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('h5py', '3.8.0'), + ('Seaborn', '0.12.2'), + ('tqdm', '4.64.1'), +] + +use_pip = True + +exts_list = [ + ('minio', '7.1.13', { + 'checksums': ['8828615a20cde82df79c5a52005252ad29bb022cde25177a4a43952a04c3222c'], + }), + ('pypdf', '3.6.0', { + 'checksums': ['7d7bd0603f4e87a7064597aa968fcf77a065b596cfbe6e5003a5b00a043db230'], + }), + ('PyPDF2', '3.0.1', { + 'modulename': 'PyPDF2', + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + }), + ('PyPDF3', '1.0.6', { + 'modulename': 'PyPDF3', + 'checksums': ['c946f3273419e37258e35e72273f49904ab15723d87a761c1115ef99799f8c5f'], + }), + (name, version, { + 'modulename': 'HTSplotter', + 'checksums': ['51c0cee4e8eeecfd03f32dd707e0fa433cec91abb9334ec1d28e7f82615dbe29'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb index 5662fb3cc49e..61d5d7f6ffc9 100644 --- a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb @@ -30,7 +30,8 @@ dependencies = [ ('freetype', '2.10.4'), ] -preconfigopts = "./autogen.sh && " +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb index 57ecf2bd16cf..2be2036a9b2a 100644 --- a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb @@ -27,7 +27,8 @@ dependencies = [ ('freetype', '2.11.0'), ] -preconfigopts = "./autogen.sh && " +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb index af1f8d0d274e..389711e52307 100644 --- a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb @@ -27,7 +27,8 @@ dependencies = [ ('freetype', '2.12.1'), ] -preconfigopts = "./autogen.sh && " +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e39adfe0f434 --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '5.3.1' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['77c8c903f4539b050a6d3a5be79705c7ccf7b1cb66d68152a651486e261edbd2'] + +builddependencies = [ + ('binutils', '2.39'), + ('GObject-Introspection', '1.74.0'), + ('pkgconf', '1.9.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('ICU', '72.1'), + ('cairo', '1.17.4'), + ('freetype', '2.12.1'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.1.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.1.3.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..649dff6c4353 --- /dev/null +++ b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.1.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,64 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'Health-GPS' +version = '1.1.3.0' + +homepage = 'https://github.com/imperialCHEPI/healthgps' +description = """ +Health-GPS microsimulation is part of the STOP project, and support researchers +and policy makers in the analysis of the health and economic impacts of alternative +measures to tackle chronic diseases and obesity in children. The model reproduces +the characteristics of a population and simulates key individual event histories +associated with key components of relevant behaviours, such as physical activity, +and diseases such as diabetes or cancer. +To run the test-jobs with HealthGPS.Tests the data-directory, found in your installation +folder, must be in the current path. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/imperialCHEPI/healthgps/archive'] +sources = ['v.%(version)s.tar.gz'] +patches = ['Health-GPS-20220316-CMake.patch'] + +checksums = [ + '62ff13811ca0ec313aa166bb53bc89516c3135bc78a6fba6711c5a0d8d4c98ec', # Health-GPS-1.1.3.0.tar.gz + '315e70c12edfe15535dbd54ac99ea66d41df3989a0917b8da7f024fdea2af609', # Health-GPS-20220316-CMake.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('crossguid', '20190529'), + ('nlohmann_json', '3.10.5'), + ('rapidcsv', '8.64'), + ('fmt', '9.1.0'), + ('googletest', '1.11.0'), + ('cxxopts', '3.0.0', '', SYSTEM), + ('indicators', '2.2'), +] + +# We need to make sure we find the data-dir, so we just link it. +# This is bash, so we need to do a hack about the source directory. +prebuildopts = 'ln -s ../healthgps*/data data && ' + +files_to_copy = [ + (['src/HealthGPS.Console/HealthGPS.Console', 'src/HealthGPS.Tests/HealthGPS.Tests'], 'bin'), + 'data' +] + +sanity_check_paths = { + 'files': ['bin/HealthGPS.Console', 'bin/HealthGPS.Tests'], + 'dirs': ['data'], +} + +sanity_check_commands = ['HealthGPS.Tests'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.2.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.2.2.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..9b0f805733bf --- /dev/null +++ b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.2.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,68 @@ +# Contribution from Imperial College London, UK +# Author Israel Vieira +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'Health-GPS' +version = '1.2.2.0' + +homepage = 'https://github.com/imperialCHEPI/healthgps' +description = """ +Health-GPS microsimulation is part of the STOP project, and supports researchers +and policy makers in the analysis of the health and economic impacts of alternative +measures to tackle chronic diseases and obesity in children. The model reproduces +the characteristics of a population and simulates key individual event histories +associated with key components of relevant behaviours, such as physical activity, +and diseases such as diabetes or cancer. +To run the test-jobs with HealthGPS.Tests the data-directory, found in your installation +folder, must be in the current path. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/imperialCHEPI/healthgps/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Health-GPS-20220316-CMake.patch'] + +checksums = [ + 'c90a076e5cd0ca2d12b57b78318bbed4a30c93d472a9eaa51e16d541a55fe160', # Health-GPS-1.2.2.0.tar.gz + '315e70c12edfe15535dbd54ac99ea66d41df3989a0917b8da7f024fdea2af609', # Health-GPS-20220316-CMake.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), +] + +# TBB is optional, include to link the application against the system library (GCC STL Only). +dependencies = [ + ('crossguid', '20190529'), + ('nlohmann_json', '3.10.5'), + ('rapidcsv', '8.64'), + ('fmt', '9.1.0'), + ('googletest', '1.11.0'), + ('cxxopts', '3.0.0', '', SYSTEM), + ('indicators', '2.2'), + ('tbb', '2021.5.0'), # optional - some HPC do not support non-OpenMP threads well. +] + +# We need to make sure we find the data-dir, so we just link it. +# This is bash, so we need to do a hack about the source directory. +prebuildopts = 'ln -s ../healthgps*/data data && ' + +files_to_copy = [ + (['src/HealthGPS.Console/HealthGPS.Console', 'src/HealthGPS.Tests/HealthGPS.Tests'], 'bin'), + 'data' +] + + +sanity_check_paths = { + 'files': ['bin/HealthGPS.Console', 'bin/HealthGPS.Tests'], + 'dirs': ['data'], +} + +sanity_check_commands = ['HealthGPS.Tests'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/Health-GPS/Health-GPS-20220316-CMake.patch b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-20220316-CMake.patch new file mode 100644 index 000000000000..d6c9d394e7e1 --- /dev/null +++ b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-20220316-CMake.patch @@ -0,0 +1,42 @@ +Patch to removed the build dependency to vcpkg as we are using EasyBuild for that +author: J. Sassmannshausen +diff --git a/healthgps.orig/CMakePresets.json b/healthgps/CMakePresets.json +index d29ef60..b3a3132 100644 +--- a/healthgps.orig/CMakePresets.json ++++ b/healthgps/CMakePresets.json +@@ -6,9 +6,9 @@ + "description": "Shared configuration presets", + "hidden": true, + "generator": "Ninja", +- "binaryDir": "${sourceDir}/out/build/${presetName}", ++ "binaryDir": "${sourceDir}/build", + "cacheVariables": { +- "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}" ++ "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install/${presetName}" + } + }, + { +@@ -18,15 +18,7 @@ + "inherits": "base", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", +- "CMAKE_CXX_COMPILER": "g++", +- "CMAKE_TOOLCHAIN_FILE": { +- "value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", +- "type": "FILEPATH" +- } +- }, +- "vendor": { +- "microsoft.com/VisualStudioSettings/CMake/1.0": { "hostOS": [ "Linux" ] }, +- "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": { "sourceDir": "$env{HOME}/.vs/$ms{projectDirName}" } ++ "CMAKE_CXX_COMPILER": "g++" + } + }, + { +@@ -108,4 +100,4 @@ + "configurePreset": "x64-debug" + } + ] +-} +\ No newline at end of file ++} diff --git a/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.5-GCC-11.3.0.eb b/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.5-GCC-11.3.0.eb new file mode 100644 index 000000000000..113308b15085 --- /dev/null +++ b/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.5-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'CMakeMake' + +name = 'HepMC3' +version = '3.2.5' + +homepage = 'http://hepmc.web.cern.ch/hepmc/' +description = """HepMC is a standard for storing Monte Carlo event data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://hepmc.web.cern.ch/hepmc/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['cd0f75c80f75549c59cc2a829ece7601c77de97cb2a5ab75790cac8e1d585032'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4') +] + +configopts = '-DHEPMC3_ENABLE_ROOTIO=OFF -Dmomentum=GEV -Dlength=MM ' +configopts += '-DHEPMC3_ENABLE_PYTHON=ON ' +configopts += '-DHEPMC3_Python_SITEARCH310=%(installdir)s/lib/python%(pyshortver)s/site-packages' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libHepMC3.%s' % SHLIB_EXT], + 'dirs': ['include/HepMC3'] +} +sanity_check_commands = ["python -c 'import pyHepMC3'"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/h/HiCExplorer/HiCExplorer-3.7.2-foss-2022a.eb b/easybuild/easyconfigs/h/HiCExplorer/HiCExplorer-3.7.2-foss-2022a.eb new file mode 100644 index 000000000000..be8ef5e31a22 --- /dev/null +++ b/easybuild/easyconfigs/h/HiCExplorer/HiCExplorer-3.7.2-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'HiCExplorer' +version = '3.7.2' + +homepage = 'http://hicexplorer.readthedocs.org/' +description = """HiCexplorer addresses the common tasks of Hi-C analysis from processing to visualization.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), # required for krbalancing + ('conan', '1.58.0'), # required for krbalancing +] + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('scikit-learn', '1.1.2'), + ('Biopython', '1.79'), + ('PyTables', '3.8.0'), + ('h5py', '3.7.0'), + ('pybedtools', '0.9.0'), + ('Unidecode', '1.3.6'), + ('cooler', '0.9.1'), + ('pyGenomeTracks', '3.8'), + ('pyBigWig', '0.3.18'), + ('imbalanced-learn', '0.10.1'), + ('Hyperopt', '0.2.7'), + ('IPython', '8.5.0'), # for ipykernel + ('graphviz-python', '0.20.1'), + ('krbalancing', '0.5.0b0'), +] + +use_pip = True + +exts_list = [ + # stick to termcolor 1.x, to avoid hatchling required build dependency + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('cleanlab', '2.2.0', { + 'checksums': ['401e27dee2531a06ea9abe8a73fab8f29c1c92758ece2f8b84e171a9310b0a71'], + }), + ('fit-nbinom', '1.1', { + 'sources': ['fit_nbinom-%(version)s.tar.gz'], + 'checksums': ['bd9600f24f00ab0ec7e8d96b7fcf1ff96ea37d129c9258e0be4bee3262a1688b'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), + ('hic2cool', '0.8.3', { + 'checksums': ['c244b89bd23a021c80b0a5b2a5d827dc2f313a4e6497e1ac45044fdc3b109a77'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + (name, version, { + 'source_urls': ['https://github.com/deeptools/HiCExplorer/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['dca71065dd4e549d578db96870b8d650b48f3dc852918ef19a345f436f612037'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17-foss-2022a.eb b/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17-foss-2022a.eb new file mode 100644 index 000000000000..c01429eabad9 --- /dev/null +++ b/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'HiCMatrix' +version = '17' + +homepage = 'https://github.com/deeptools/HiCMatrix' +description = "This library implements the central class of HiCExplorer to manage Hi-C interaction matrices." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTables', '3.8.0'), + ('cooler', '0.9.1'), +] + +use_pip = True + +exts_list = [ + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/deeptools/HiCMatrix/archive/'], + 'checksums': ['40d0d0ed670ca8084bd67ec1fe9eb7aff6c180ca0e0fca277f5ad76d25ed97bb'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2021a.eb b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2021a.eb new file mode 100644 index 000000000000..bedb87011ed1 --- /dev/null +++ b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'HighFive' +version = '2.6.2' + +homepage = 'https://github.com/BlueBrain/HighFive' +description = """HighFive is a modern header-only C++11 friendly interface for libhdf5.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +github_account = 'BlueBrain' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ab51b9fbb49e877dd1aa7b53b4b26875f41e4e0b8ee0fc2f1d735e0d1e43d708'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1') +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('Boost', '1.76.0'), + ('Eigen', '3.3.9'), +] + +sanity_check_paths = { + 'files': ['include/highfive/H5File.hpp'], + 'dirs': [], +} + +configopts = '-DHIGHFIVE_USE_EIGEN=ON -DHIGHFIVE_PARALLEL_HDF5=ON' + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2022a.eb b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2022a.eb new file mode 100644 index 000000000000..d0d48e20834b --- /dev/null +++ b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'HighFive' +version = '2.6.2' + +homepage = 'https://github.com/BlueBrain/HighFive' +description = """HighFive is a modern header-only C++11 friendly interface for libhdf5.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'BlueBrain' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ab51b9fbb49e877dd1aa7b53b4b26875f41e4e0b8ee0fc2f1d735e0d1e43d708'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38') +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('Boost', '1.79.0'), + ('Eigen', '3.4.0'), +] + +sanity_check_paths = { + 'files': ['include/highfive/H5File.hpp'], + 'dirs': [], +} + +configopts = '-DHIGHFIVE_USE_EIGEN=ON -DHIGHFIVE_PARALLEL_HDF5=ON' + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..987a76bd0c10 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.0.3' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('googletest', '1.11.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f1833e66b171 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.0.3' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('googletest', '1.12.1'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/HyperQueue/HyperQueue-0.13.0.eb b/easybuild/easyconfigs/h/HyperQueue/HyperQueue-0.13.0.eb new file mode 100644 index 000000000000..bcb5f1b6be5f --- /dev/null +++ b/easybuild/easyconfigs/h/HyperQueue/HyperQueue-0.13.0.eb @@ -0,0 +1,28 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'PackedBinary' + +name = 'HyperQueue' +version = '0.13.0' + +homepage = 'https://it4innovations.github.io/hyperqueue/' +description = """HyperQueue lets you build a computation plan consisting of a large amount of tasks +and then execute it transparently over a system like SLURM/PBS. It dynamically groups jobs into SLURM/PBS jobs +and distributes them to fully utilize allocated nodes. +You thus do not have to manually aggregate your tasks into SLURM/PBS jobs.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/It4innovations/hyperqueue/releases/download/v%(version)s/'] +sources = ['hq-v%(version)s-linux-x64.tar.gz'] +checksums = ['4c3dac11cc01ef2a0c222099e484fd1b23ac52d8db234855ec1f0685543b4e0d'] + +sanity_check_paths = { + 'files': ['hq'], + 'dirs': [], +} + +sanity_check_commands = ['hq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb similarity index 97% rename from easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb rename to easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb index 4e2be23df1d7..f9b60c91c8e6 100644 --- a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb @@ -3,7 +3,7 @@ easyblock = 'PythonBundle' -name = 'hyperopt' +name = 'Hyperopt' version = '0.2.4' local_python_versionsuffix = '-Python-%(pyver)s' local_java_versionsuffix = '-Java-%(javaver)s' @@ -43,7 +43,7 @@ exts_list = [ ('lightgbm', '2.3.1', { 'checksums': ['bd1817be401e74c0d8b049e97ea2f35d2ce155cfa130119ce4195ea207bd6388'], }), - (name, version, { + ('hyperopt', version, { 'use_pip_extras': 'SparkTrials,MongoTrials,ATPE', 'checksums': ['6e72089a42eb70cf84b0567d4552a908adff7cfc5cf6b1c38add41adc775d9c6'], }), diff --git a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.5-fosscuda-2020b.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.5-fosscuda-2020b.eb similarity index 96% rename from easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.5-fosscuda-2020b.eb rename to easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.5-fosscuda-2020b.eb index 8a744cd8d263..e78c32c2658b 100644 --- a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.5-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.5-fosscuda-2020b.eb @@ -2,7 +2,7 @@ easyblock = 'PythonBundle' -name = 'hyperopt' +name = 'Hyperopt' version = '0.2.5' homepage = 'https://github.com/hyperopt/hyperopt' @@ -40,7 +40,7 @@ exts_list = [ ('py4j', '0.10.9.2', { 'checksums': ['624f97c363b8dd84822bc666b12fa7f7d97824632b2ff3d852cc491359ce7615'], }), - (name, version, { + ('hyperopt', version, { 'use_pip_extras': 'SparkTrials,MongoTrials,ATPE', 'checksums': ['bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc'], }), diff --git a/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2021a.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2021a.eb new file mode 100644 index 000000000000..9cc986b48f52 --- /dev/null +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Hyperopt' +version = '0.2.7' + +homepage = 'http://hyperopt.github.io/hyperopt/' +description = """hyperopt is a Python library for optimizing over awkward search spaces with real-valued, + discrete, and conditional dimensions.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('py4j', '0.10.9.5', { + 'checksums': ['276a4a3c5a2154df1860ef3303a927460e02e97b047dc0a47c1c3fb8cce34db6'], + }), + ('hyperopt', version, { + 'checksums': ['1bf89ae58050bbd32c7307199046117feee245c2fd9ab6255c7308522b7ca149'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2022a.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2022a.eb new file mode 100644 index 000000000000..fed0543f3665 --- /dev/null +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Hyperopt' +version = '0.2.7' + +homepage = 'http://hyperopt.github.io/hyperopt/' +description = """hyperopt is a Python library for optimizing over awkward search spaces with real-valued, + discrete, and conditional dimensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('py4j', '0.10.9.7', { + 'checksums': ['0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb'], + }), + ('hyperopt', version, { + 'checksums': ['1bf89ae58050bbd32c7307199046117feee245c2fd9ab6255c7308522b7ca149'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-intel-2021a.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-intel-2021a.eb new file mode 100644 index 000000000000..900b8bfcad7d --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-intel-2021a.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'Hypre' +version = '2.21.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e380f914fe7efe22afc44cdf553255410dc8a02a15b2e5ebd279ba88817feaf5'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.27.0-foss-2022b.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.27.0-foss-2022b.eb new file mode 100644 index 000000000000..f04fecd72d42 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.27.0-foss-2022b.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.27.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['507a3d036bb1ac21a55685ae417d769dd02009bde7e09785d0ae7446b4ae1f98'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.2.1-gomkl-2021a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.2.1-gomkl-2021a.eb new file mode 100644 index 000000000000..a21aff6972d6 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.2.1-gomkl-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.2.1' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['89474be911bfcdb34cbf0d98b8ec48b578c27a89fdb1ae4ee7513f1ef8d9249e'] + +builddependencies = [('pkgconfig', '1.5.4', '-python')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('HDF5', '1.10.7'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.7.0-intel-2022a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.7.0-intel-2022a.eb new file mode 100644 index 000000000000..c29d68aa634a --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.7.0-intel-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.7.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['3fcf37884383c5da64846ab510190720027dca0768def34dd8dcb659dbe5cbf3'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('HDF5', '1.12.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.8.0-foss-2022b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.8.0-foss-2022b.eb new file mode 100644 index 000000000000..8b6ce0047410 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.8.0-foss-2022b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.8.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['6fead82f0c4000cf38d53f9c030780d81bfa0220218aee13b90b7701c937d95f'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('mpi4py', '3.1.4'), + ('HDF5', '1.14.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/humann/humann-3.6-foss-2022a.eb b/easybuild/easyconfigs/h/humann/humann-3.6-foss-2022a.eb new file mode 100644 index 000000000000..1e8577eb47da --- /dev/null +++ b/easybuild/easyconfigs/h/humann/humann-3.6-foss-2022a.eb @@ -0,0 +1,37 @@ +# Humann +easyblock = 'PythonBundle' + +name = 'humann' +version = '3.6' + +homepage = 'http://huttenhower.sph.harvard.edu/humann' + +description = """HUMAnN v3 is a pipeline for efficiently + and accurately determining the coverage and abundance + of microbial pathways in a community from metagenomic data. +Sequencing a metagenome typically produces millions + of short DNA/RNA reads. This process, referred + to as functional profiling, aims to describe the metabolic potential + of a microbial community and its members. More generally, + functional profiling answers the question: + What are the microbes in my community-of-interest doing (or capable of doing)?""" + +toolchain = {'name': 'foss', 'version': '2022a'} + + +dependencies = { + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +} + + +exts_list = [ + (name, version, { + 'checksums': ['addce81db58bacfdd5465423455d25e385aa8dd14349253c3a7054bf7d3747dc'], + }), + +] + + +use_pip = True +sanity_pip_check = True diff --git a/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..5e59a4c56308 --- /dev/null +++ b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +# Contribution from Imperial College London/UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'hunspell' +version = '1.7.1' + +homepage = 'https://hunspell.github.io/' +description = """Hunspell is a spell checker and morphological analyzer +library and program designed for languageswith rich morphology and +complex word compounding or character encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/hunspell/hunspell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6e3557624c608b3e6525b8bd277706db4f5a857c28fdb3cfa8d0d2b67776da8a'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('gettext', '0.21'), +] + +preconfigopts = "autoreconf -vfi && " + +sanity_check_commands = [ + 'hunspell -h', +] + +sanity_check_paths = { + 'files': ['bin/hunspell', 'lib/libhunspell-%(version_major_minor)s.a', + 'lib/libhunspell-%%(version_major_minor)s.%s' % SHLIB_EXT, 'lib/pkgconfig/hunspell.pc'], + 'dirs': ['include/hunspell'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f6483901c2b3 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.8.0' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['20b2bd4df436827d8e50f7afeafb6f967259f2fb374ce7330244f8d0ed2dde6f'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('numactl', '2.0.16'), + ('libxml2', '2.10.3'), + ('libpciaccess', '0.17'), +] + +configopts = "--enable-libnuma=$EBROOTNUMACTL " +configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..108e338d4830 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.68.2' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a7eb2b0c9a18560d8197fe35047ceb58e7e8ab7623a3e5a82613f6a2cd71cffa'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ICU/ICU-72.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/ICU/ICU-72.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..9b141a4671dd --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-72.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '72.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68'] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8', '-bare'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-10.3.0.eb b/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-10.3.0.eb new file mode 100644 index 000000000000..6b69859e2595 --- /dev/null +++ b/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-10.3.0.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Updated: Pavel Grochal (INUITS) +# License: GPLv2 + +# "make install" doesnt copy all the compiled binaries so we use the "MakeCp" easyblock +# to be sure everything is copied and we run ./configure in prebuildopts + +# modified by Tom Strempel +easyblock = 'MakeCp' + +name = 'IDBA-UD' +version = '1.1.3' + +homepage = 'https://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/' +description = """ IDBA-UD is a iterative De Bruijn Graph De Novo Assembler for Short Reads +Sequencing data with Highly Uneven Sequencing Depth. It is an extension of IDBA algorithm. +IDBA-UD also iterates from small k to a large k. In each iteration, short and low-depth +contigs are removed iteratively with cutoff threshold from low to high to reduce the errors +in low-depth and high-depth regions. Paired-end reads are aligned to contigs and assembled +locally to generate some missing k-mers in low-depth regions. With these technologies, IDBA-UD +can iterate k value of de Bruijn graph to a very large value with less gaps and less branches +to form long contigs in both low-depth and high-depth regions.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/loneknightpy/idba/releases/download/%(version)s'] +sources = ['idba-%(version)s.tar.gz'] +checksums = ['030e24463c6d725c1c202baabf773b605b51e310844fd0f27f4688ecfbae26d0'] + +prebuildopts = './configure && ' + +# we delete every .o and Makefile file which is left in bin folder +buildopts = ' && rm -fr bin/*.o bin/Makefile*' + +files_to_copy = ["bin", "script", "ChangeLog", "NEWS"] + +pretestopts = "cd test && " +runtest = "check" + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["idba", "idba_hybrid", "idba_tran", + "idba_ud", "parallel_blat", "idba_tran_test"]], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.16.0-Java-11.eb b/easybuild/easyconfigs/i/IGV/IGV-2.16.0-Java-11.eb new file mode 100755 index 000000000000..d30a9dbd0fc5 --- /dev/null +++ b/easybuild/easyconfigs/i/IGV/IGV-2.16.0-Java-11.eb @@ -0,0 +1,34 @@ +# EasyBuild easyconfig +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by Adam Huffman +# Big Data Institute, University of Oxford + +easyblock = 'Tarball' + +name = 'IGV' +version = '2.16.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/software/igv/' +description = """This package contains command line utilities for + preprocessing, computing feature count density (coverage), sorting, and + indexing data files.""" + +toolchain = SYSTEM + +source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_major)s.%(version_minor)s'] +sources = ['%(name)s_%(version)s.zip'] +checksums = ['7fe76a793b1aa9ac90a1733acfe4ea01fd8e7e42729e9daee84e79e1f43b2a26'] + +dependencies = [('Java', '11', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IJulia/IJulia-1.23.3-Julia-1.6.7.eb b/easybuild/easyconfigs/i/IJulia/IJulia-1.23.3-Julia-1.6.7.eb new file mode 100644 index 000000000000..06667a1bbf80 --- /dev/null +++ b/easybuild/easyconfigs/i/IJulia/IJulia-1.23.3-Julia-1.6.7.eb @@ -0,0 +1,75 @@ +easyblock = 'JuliaBundle' + +name = 'IJulia' +version = '1.23.3' +_julia_ver = '1.6.7' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/JuliaLang/IJulia.jl' +description = "Julia kernel for Jupyter" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Parsers', '2.4.2', { + 'source_urls': ['https://github.com/JuliaData/Parsers.jl/archive/'], + 'checksums': ['44036a59b047f704d6b7841e3edf12fe2a53aa797254086fdd0709f0cdebac89'], + }), + ('JSON', '0.21.3', { + 'source_urls': ['https://github.com/JuliaIO/JSON.jl/archive/'], + 'checksums': ['bd02a015da24b03f79d55967b29f5ceaba2477b559242576d74f02623bb1b6b1'], + }), + ('MbedTLS', '1.1.7', { + 'source_urls': ['https://github.com/JuliaLang/MbedTLS.jl/archive/'], + 'checksums': ['3df27a16ea31acf4eaf6cc9f3bd25b81960c10662722ffa22b13cb0e6ac11b12'], + }), + ('VersionParsing', '1.3.0', { + 'source_urls': ['https://github.com/JuliaInterop/VersionParsing.jl/archive/'], + 'checksums': ['f90fe419e1a40ef0eccfaaed1d1b7792d9115a059a82d0c23e3c04c944d0f8ca'], + }), + ('Conda', '1.7.0', { + 'source_urls': ['https://github.com/JuliaPy/Conda.jl/archive/'], + 'checksums': ['2077b1192e1cfa206caf441d9d91b0ca83aa935db89918f1fd69cd25c2415ced'], + }), + ('SoftGlobalScope', '1.1.0', { + 'source_urls': ['https://github.com/stevengj/SoftGlobalScope.jl/archive/'], + 'checksums': ['8d4264386c859403938498cd9ddd5e94e10181deba4a3e71d391b16750e3848b'], + }), + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('libsodium_jll', '1.0.20+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libsodium_jll.jl/archive/'], + 'sources': [{'filename': 'libsodium-v%(version)s.tar.gz'}], + 'checksums': ['f7c3a17acc3a478ec10a4a49a0dd04694140f4483644ec9db638706ea9844aba'], + }), + ('ZeroMQ_jll', '4.3.4+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/ZeroMQ_jll.jl/archive/'], + 'sources': [{'filename': 'ZeroMQ-v%(version)s.tar.gz'}], + 'checksums': ['aa98ae3c7e050fc6bdf0b0132bb607dea2f6c062da7870b1ecada9f3c8ea8d72'], + }), + ('ZMQ', '1.2.1', { + 'source_urls': ['https://github.com/JuliaInterop/ZMQ.jl/archive/'], + 'checksums': ['8b42555340d0208e5a36cd5e8f29a3f0d44c13c064382d4b1e5d00c1c4a9dd96'], + }), + (name, version, { + 'source_urls': ['https://github.com/JuliaLang/IJulia.jl/archive/'], + 'checksums': ['1471ed94093efd24bae5e6ff1d3f7fa61901bf8834a737eeae2a9e620f50f07c'], + 'preinstallopts': "mkdir -p %(installdir)s/jupyter && export JUPYTER_DATA_DIR=%(installdir)s/jupyter && ", + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'jupyter', +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IJulia/IJulia-1.24.0-Julia-1.8.5.eb b/easybuild/easyconfigs/i/IJulia/IJulia-1.24.0-Julia-1.8.5.eb new file mode 100644 index 000000000000..4bdcde0a98d7 --- /dev/null +++ b/easybuild/easyconfigs/i/IJulia/IJulia-1.24.0-Julia-1.8.5.eb @@ -0,0 +1,80 @@ +easyblock = 'JuliaBundle' + +name = 'IJulia' +version = '1.24.0' +_julia_ver = '1.8.5' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/JuliaLang/IJulia.jl' +description = "Julia kernel for Jupyter" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('SnoopPrecompile', '2.10.0', { + 'source_urls': ['https://github.com/timholy/SnoopCompile.jl/archive/'], + 'checksums': ['e7af878e693c105ab5d792c8672b1534112f10b9693a2722a5aa8099c18c6d9a'], + 'start_dir': '%(name)s', + }), + ('Parsers', '2.5.1', { + 'source_urls': ['https://github.com/JuliaData/Parsers.jl/archive/'], + 'checksums': ['72494acac42c7dff16e1a6ac1305f13001f3743e0021d158d097399f0567d926'], + }), + ('JSON', '0.21.3', { + 'source_urls': ['https://github.com/JuliaIO/JSON.jl/archive/'], + 'checksums': ['bd02a015da24b03f79d55967b29f5ceaba2477b559242576d74f02623bb1b6b1'], + }), + ('MbedTLS', '1.1.7', { + 'source_urls': ['https://github.com/JuliaLang/MbedTLS.jl/archive/'], + 'checksums': ['3df27a16ea31acf4eaf6cc9f3bd25b81960c10662722ffa22b13cb0e6ac11b12'], + }), + ('VersionParsing', '1.3.0', { + 'source_urls': ['https://github.com/JuliaInterop/VersionParsing.jl/archive/'], + 'checksums': ['f90fe419e1a40ef0eccfaaed1d1b7792d9115a059a82d0c23e3c04c944d0f8ca'], + }), + ('Conda', '1.7.0', { + 'source_urls': ['https://github.com/JuliaPy/Conda.jl/archive/'], + 'checksums': ['2077b1192e1cfa206caf441d9d91b0ca83aa935db89918f1fd69cd25c2415ced'], + }), + ('SoftGlobalScope', '1.1.0', { + 'source_urls': ['https://github.com/stevengj/SoftGlobalScope.jl/archive/'], + 'checksums': ['8d4264386c859403938498cd9ddd5e94e10181deba4a3e71d391b16750e3848b'], + }), + ('libsodium_jll', '1.0.20+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libsodium_jll.jl/archive/'], + 'sources': [{'filename': 'libsodium-v%(version)s.tar.gz'}], + 'checksums': ['f7c3a17acc3a478ec10a4a49a0dd04694140f4483644ec9db638706ea9844aba'], + }), + ('ZeroMQ_jll', '4.3.4+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/ZeroMQ_jll.jl/archive/'], + 'sources': [{'filename': 'ZeroMQ-v%(version)s.tar.gz'}], + 'checksums': ['aa98ae3c7e050fc6bdf0b0132bb607dea2f6c062da7870b1ecada9f3c8ea8d72'], + }), + ('ZMQ', '1.2.1', { + 'source_urls': ['https://github.com/JuliaInterop/ZMQ.jl/archive/'], + 'checksums': ['8b42555340d0208e5a36cd5e8f29a3f0d44c13c064382d4b1e5d00c1c4a9dd96'], + }), + (name, version, { + 'preinstallopts': "mkdir -p %(installdir)s/jupyter && export JUPYTER_DATA_DIR=%(installdir)s/jupyter && ", + 'source_urls': ['https://github.com/JuliaLang/IJulia.jl/archive/'], + 'checksums': ['85b3ee48aee1688bcb89b8fb93c332551e3a75cfc7d17bb346daed36dedc358e'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'jupyter', +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022a.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022a.eb new file mode 100644 index 000000000000..41596b5c2c51 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022b.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022b.eb new file mode 100644 index 000000000000..de35e64fb685 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022b.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022a.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022a.eb new file mode 100644 index 000000000000..fb15cec75f5f --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022b.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022b.eb new file mode 100644 index 000000000000..18ee2daf4b49 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022b.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'iimpi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IOR/IOR-3.3.0-gompi-2022a.eb b/easybuild/easyconfigs/i/IOR/IOR-3.3.0-gompi-2022a.eb new file mode 100644 index 000000000000..770777c7b5ec --- /dev/null +++ b/easybuild/easyconfigs/i/IOR/IOR-3.3.0-gompi-2022a.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Author: Robert Mijakovic +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'IQ-TREE' +version = '2.2.2.3' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +# Including 'usempi' will take precedence and override IQTREE_FLAGS and produces only 'iqtree-mpi' binary + +source_urls = ['https://github.com/iqtree/iqtree2/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'IQ-TREE-2.1.2_use_EB_LSD2.patch', + 'IQ-TREE-2.2.1_fix-mpi.patch', +] +checksums = [ + {'v2.2.2.3.tar.gz': 'fb15dfcdf63ce20f371763fff925804809f2fd5b7faaad1fb09a6f2bc7c2ba01'}, + {'IQ-TREE-2.1.2_use_EB_LSD2.patch': 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816'}, + {'IQ-TREE-2.2.1_fix-mpi.patch': '9ead6808efd11d4c01dd265cca6094cffd6377746d3b2fc84b43d2faeee0777c'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('LSD2', '2.3'), +] + +local_conf_opts = ' -DUSE_LSD2=ON ' +configopts = [ + '-DIQTREE_FLAGS=omp' + local_conf_opts, + '-DIQTREE_FLAGS=mpi -DCMAKE_C_COMPILER="$MPICC" -DCMAKE_CXX_COMPILER="$MPICXX"' + local_conf_opts, +] + +sanity_check_paths = { + 'files': ['bin/iqtree2', 'bin/iqtree2-mpi'], + 'dirs': [], +} + +sanity_check_commands = [ + "iqtree2 --help", + "mkdir -p $TMPDIR/{test-omp,test-mpi}", + "cd $TMPDIR/test-omp && cp -a %(installdir)s/example.phy . && iqtree2 -s example.phy", + "cd $TMPDIR/test-mpi && cp -a %(installdir)s/example.phy . && mpirun -np 1 iqtree2-mpi -s example.phy", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb index fe42a2e870a7..515926174ff5 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb @@ -44,7 +44,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel local_kerneldir = '%(installdir)s/IRkernel' @@ -53,8 +56,6 @@ postinstallcmds = [ 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir) ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb index db893db1a39c..68c33b16ff99 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb @@ -45,7 +45,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel # We start the kernel with default bitmapType 'cairo'. This is a more sensible default @@ -58,8 +61,6 @@ postinstallcmds = [ ' %s/kernels/ir/kernel.json') % local_kerneldir ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb index 32f9762476cd..c9b0e435d6c0 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb @@ -44,7 +44,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel local_kerneldir = '%(installdir)s/IRkernel' @@ -53,8 +56,6 @@ postinstallcmds = [ 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir) ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb index 51142541134e..6aba48fcb510 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb @@ -45,7 +45,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel # We start the kernel with default bitmapType 'cairo'. This is a more sensible default @@ -58,8 +61,6 @@ postinstallcmds = [ ' %s/kernels/ir/kernel.json') % local_kerneldir ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb index 4f72aab2b802..33da48260c8d 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb @@ -45,7 +45,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel # We start the kernel with default bitmapType 'cairo'. This is a more sensible default @@ -58,8 +61,6 @@ postinstallcmds = [ ' %s/kernels/ir/kernel.json') % local_kerneldir ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..1e1a3e3a6255 --- /dev/null +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,69 @@ +easyblock = 'Bundle' + +name = 'IRkernel' +version = '1.3.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://irkernel.github.io' +description = """The R kernel for the 'Jupyter' environment executes R code + which the front-end (Jupyter Notebook or other front-ends) submits to the + kernel via the network.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('ZeroMQ', '4.3.4'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('repr', '1.1.5', { + 'checksums': ['8cc9071446553affbdf58f9106f34c409d797cbda20b3cdf6b95350dd2095efa'], + }), + ('IRdisplay', '1.1', { + 'checksums': ['83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b'], + }), + ('pbdZMQ', '0.3-9', { + 'checksums': ['d033238d0a9810581f6b40c7c75263cfc495a585653bbff98e957c37954e0fb6'], + }), + (name, version, { + 'checksums': ['e1c6d8bddc23e5039dd9c537feb371f937d60028fb753b90345698c58ae424a6'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} + +# IPython notebook looks for the json kernel file in kernels/IRkernel +# We start the kernel with default bitmapType 'cairo'. This is a more sensible default +# for headless nodes. See https://github.com/IRkernel/IRkernel/issues/388 +local_kerneldir = '%(installdir)s/IRkernel' +postinstallcmds = [ + 'mkdir -p %s/kernels/ir' % local_kerneldir, + 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir), + ('sed -i \'s/"IRkernel::main()"/"options(bitmapType=\\x27cairo\\x27); IRkernel::main()"/g\'' + ' %s/kernels/ir/kernel.json') % local_kerneldir +] + +sanity_check_paths = { + 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], + 'dirs': [name], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2022a.eb b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2022a.eb new file mode 100644 index 000000000000..83ecef81cdc0 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2022a.eb @@ -0,0 +1,59 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.2.1' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6022b2b64624b8bcec3333fe48d5f74ff6ebceb3bdf98258ba7d7fbbc76b99ab'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Bison', '3.8.2'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('expat', '2.4.8'), + ('HDF5', '1.12.2'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('VTK', '9.2.2'), + ('zlib', '1.2.12'), +] + +local_sys_deps = ['EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' +configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..7392f5fd08ae --- /dev/null +++ b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-11.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': '11.3.0'} + +source_urls = ['https://microbiology.se/sw/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['6f6d7ff6350f82439dee5348f6e8bda512be25193c603d4e56cc215c520091bf'] + +dependencies = [('Perl', '5.34.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/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..67ede6c655f7 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.0-53' + +homepage = 'https://www.imagemagick.org/' +description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/ImageMagick/ImageMagick/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4d4cade8f435736b62382b472fe75206b8eef540a968860ace5476a96799b5ef'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20221110'), + ('Ghostscript', '10.0.0'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '2.1.4'), + ('LibTIFF', '4.4.0'), + ('LittleCMS', '2.14'), + ('Pango', '1.50.12'), +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'etc/%(name)s-%(version_major)s', + 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.6-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ea408912dc76 --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.6-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.6' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ea5592230f5ab917bea3ceab266cf38eb4aa4a523078d46eac0f5a89c52304db'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['lib/libImath.%s' % SHLIB_EXT], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/InParanoid/InParanoid-5.0-20220607-GCC-10.3.0.eb b/easybuild/easyconfigs/i/InParanoid/InParanoid-5.0-20220607-GCC-10.3.0.eb new file mode 100644 index 000000000000..5a860841eb56 --- /dev/null +++ b/easybuild/easyconfigs/i/InParanoid/InParanoid-5.0-20220607-GCC-10.3.0.eb @@ -0,0 +1,62 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'Tarball' + +name = 'InParanoid' +version = '5.0-20220607' +local_commit = '79d8e39bb243d403ce57b699c1ae104a8a640389' + +homepage = 'https://inparanoid.sbc.su.se' +description = """InParanoid: ortholog groups with inparalogs.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://bitbucket.org/sonnhammergroup/inparanoid/get/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['efe1a35bbb70608385780c4bf62969a29c46dd8132fbe472034422d23ad4b0c2'] # for commit 79d8e39 + +# NOTE some dependencies are not listed on the web site such as Java! +dependencies = [ + ('Perl', '5.32.1'), # brings libmoose-perl and libparallel-forkmanager-perl + ('BioPerl', '1.7.8'), + ('Java', '11', '', SYSTEM), + ('BLAST', '2.2.26', '-Linux_x86_64', SYSTEM), + ('DIAMOND', '2.0.13'), +] + +# NOTE inparanoid.pl uses only local (same directory) paths, so patch it +postinstallcmds = [ + "rm -rf %(installdir)s/docker/ %(installdir)s/singularity/", + "chmod a+rx %(installdir)s/*.pl", + "chmod -x %(installdir)s/*.jar", + "perl -i -pe 's|helpfile = \"help\"|helpfile = \"%(installdir)s/help\"|' %(installdir)s/inparanoid.pl", + "perl -i -pe 's|seqstat = \"|seqstat = \"%(installdir)s/|' %(installdir)s/inparanoid.pl", + "perl -i -pe 's|blastParser = \"|blastParser = \"%(installdir)s/|' %(installdir)s/inparanoid.pl", + "perl -i -pe 's|diamondParser = \"|diamondParser = \"%(installdir)s/|' %(installdir)s/inparanoid.pl", + r"""perl -i -pe 's|copy\("\./|copy\("%(installdir)s/|' %(installdir)s/inparanoid.pl""", + r"perl -i -pe 's|\./$blastParser|$blastParser|g' %(installdir)s/inparanoid.pl", +] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['inparanoid.pl', 'blast_parser.pl', 'diamondParser.pl'], + 'dirs': ['matrices', 'testInput'], +} + +modextrapaths = { + 'PATH': '', +} + +sanity_check_commands = [ + "cd %(builddir)s && inparanoid.pl -input-dir %(installdir)s/testInput/", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Inferelator/Inferelator-0.6.1-foss-2022a.eb b/easybuild/easyconfigs/i/Inferelator/Inferelator-0.6.1-foss-2022a.eb new file mode 100644 index 000000000000..6507aebe1f97 --- /dev/null +++ b/easybuild/easyconfigs/i/Inferelator/Inferelator-0.6.1-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Inferelator' +version = '0.6.1' + +homepage = 'https://github.com/flatironinstitute/inferelator' +description = """Inferelator 3.0 is a package for gene regulatory network inference that is based on + regularized regression.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('inferelator', version, { + 'checksums': ['4ae106ca5f67c876983f025013e8b1464c1eaaf9e54f204888bf90369c8e6852'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021a.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021a.eb new file mode 100644 index 000000000000..2f490f5de246 --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021a.eb @@ -0,0 +1,40 @@ +## +# 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:: BSD +# Updated:: Denis Kristak (INUITS) +# Updated:: Sebastien Moretti (SIB) +# $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': '2021a'} +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/idemux/idemux-0.1.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/i/idemux/idemux-0.1.6-GCCcore-10.2.0.eb index d156b3c22fc1..2b39682fdb87 100644 --- a/easybuild/easyconfigs/i/idemux/idemux-0.1.6-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/i/idemux/idemux-0.1.6-GCCcore-10.2.0.eb @@ -19,15 +19,17 @@ builddependencies = [ dependencies = [ ('Python', '3.8.6'), ('coverage', '5.5'), - ('tqdm', '4.60.0'), ] use_pip = True exts_list = [ ('pytest-runner', '5.3.0', { - 'checksums': ['ca3f58ff4957e8be6c54c55d575b235725cbbcf4dc0d5091c29c6444cfc8a5fe'], 'modulename': 'ptr', + 'checksums': ['ca3f58ff4957e8be6c54c55d575b235725cbbcf4dc0d5091c29c6444cfc8a5fe'], + }), + ('tqdm', '4.60.0', { + 'checksums': ['ebdebdb95e3477ceea267decfc0784859aa3df3e27e22d23b83e9b272bf157ae'], }), (name, version, { 'checksums': ['590980baaf810c8a02705efd50eb4ace644c360470fc3dc4491d077bbb6b26fc'], diff --git a/easybuild/easyconfigs/i/igraph/igraph-0.10.3-foss-2022a.eb b/easybuild/easyconfigs/i/igraph/igraph-0.10.3-foss-2022a.eb new file mode 100644 index 000000000000..7500c79b9889 --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.10.3-foss-2022a.eb @@ -0,0 +1,40 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.10.3' + +homepage = 'https://igraph.org' +description = """igraph is a collection of network analysis tools with the emphasis on +efficiency, portability and ease of use. igraph is open source and free. igraph can be +programmed in R, Python and C/C++.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['5f72398c7847bb167f85159b7a9fe1fe69ce0f241c5de5d30b2b347f9dc3f7c6'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.9.13'), + ('zlib', '1.2.12'), + ('arpack-ng', '3.8.0'), +] + +# Build static and shared libraries +configopts = ["-DBUILD_SHARED_LIBS=OFF", "-DBUILD_SHARED_LIBS=ON"] + +sanity_check_paths = { + 'files': ['include/igraph/igraph.h'] + ['lib/libigraph.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/iimkl/iimkl-2022b.eb b/easybuild/easyconfigs/i/iimkl/iimkl-2022b.eb new file mode 100644 index 000000000000..634c1d810929 --- /dev/null +++ b/easybuild/easyconfigs/i/iimkl/iimkl-2022b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimkl' +version = '2022b' + +homepage = 'https://software.intel.com/en-us/intel-cluster-toolkit-compiler/' +description = """Intel C/C++ and Fortran compilers, alongside Intel Math Kernel Library (MKL).""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('imkl', local_comp_ver, '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.09.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.09.eb new file mode 100644 index 000000000000..f29ac7e5524f --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.09.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.09' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.11.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.11.eb new file mode 100644 index 000000000000..49aa4591617b --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.11.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.11' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.12.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.12.eb new file mode 100644 index 000000000000..eb3bcfddd792 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.12.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.12' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.0.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.8.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022b.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022b.eb new file mode 100644 index 000000000000..91d6d4d70554 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022b' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2023.03.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2023.03.eb new file mode 100644 index 000000000000..0bb3e2c0aba6 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2023.03.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2023.03' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.9.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2021a.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2021a.eb new file mode 100644 index 000000000000..284a8b29cb82 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2021a.eb @@ -0,0 +1,72 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'PythonBundle' + +name = 'imagecodecs' +version = '2022.9.26' + +homepage = 'https://github.com/cgohlke/imagecodecs' +description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, +compression, and decompression functions for use in the tifffile, czifile, zarr, and other +scientific image input/output modules.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +local_openjpeg_maj_min = '2.4' +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # required for numpy + ('matplotlib', '3.4.2'), + ('Brotli', '1.0.9'), + ('bzip2', '1.0.8'), + ('Blosc', '1.21.0'), + ('Blosc2', '2.0.4'), + ('CFITSIO', '3.49'), + ('CharLS', '2.3.4'), + ('giflib', '5.2.1'), + ('jxrlib', '1.1'), + ('LittleCMS', '2.12'), + ('LERC', '3.0'), + ('libaec', '1.0.6'), + ('libavif', '0.11.1'), + ('libdeflate', '1.8'), + ('libjpeg-turbo', '2.0.6'), + ('libjxl', '0.5'), + ('LibLZF', '3.6'), + ('libpng', '1.6.37'), + ('XZ', '5.2.5'), + ('LibTIFF', '4.2.0'), + ('libwebp', '1.2.0'), + ('lz4', '1.9.3'), + ('OpenJPEG', local_openjpeg_maj_min + '.0'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), + ('zlib-ng', '2.0.6'), + ('Zopfli', '1.0.3'), + ('zfp', '1.0.0'), + ('zstd', '1.4.9'), + ('Brunsli', '0.1'), + ('HDF5', '1.10.7'), + ('h5py', '3.2.1'), + ('libheif', '1.12.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bitshuffle', '0.3.5', { + 'source_urls': ['https://github.com/kiyo-masui/bitshuffle/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['c3f4461d8013e3d9db0d58defec77b143164652de505a1fba3df088eaa19be2f'], + }), + (name, version, { + 'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix", + 'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-%s/:$CPATH && " % local_openjpeg_maj_min, + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['04d5757d8fd7819844b0f8d9eed05025dca4962f280d0010b42c7c9c993fe371'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.22.2-foss-2022a.eb b/easybuild/easyconfigs/i/imageio/imageio-2.22.2-foss-2022a.eb new file mode 100644 index 000000000000..a340e81b29ed --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.22.2-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.22.2' + +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': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['db7010cd10712518819a4187baf61b05988361ea20c23e829918727b27acb977'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pillow', '9.1.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.10.1-foss-2022a.eb b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.10.1-foss-2022a.eb new file mode 100644 index 000000000000..71e4129bc239 --- /dev/null +++ b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.10.1-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'imbalanced-learn' +version = '0.10.1' + +homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' +description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in + datasets showing strong between-class imbalance.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('scikit-learn', '1.1.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + # Python 3.10.4 uses joblib 1.1.0 but imbalanced-learn 0.10.1 needs joblib >=1.1.1 + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + (name, version, { + 'modulename': 'imblearn', + 'checksums': ['bc7609619ec3c38c442292928239ad3d10b5deb0af8a29c83822b7b57b319f8b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.9.0-foss-2021b.eb b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.9.0-foss-2021b.eb new file mode 100644 index 000000000000..ba39fe52cf23 --- /dev/null +++ b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.9.0-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'imbalanced-learn' +version = '0.9.0' + +homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' +description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in + datasets showing strong between-class imbalance.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('scikit-learn', '1.0.1'), +] + +exts_list = [ + (name, version, { + 'modulename': 'imblearn', + 'checksums': ['836a4c137cc3c10310d4f6cd5ec34600ff488d7f8c243a997c3f9b551c91d0b2'], + }), +] + +use_pip = True + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..565a626ba4fe --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,36 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('Pillow', '9.1.1'), + ('matplotlib', '3.5.2'), + ('scikit-image', '0.19.3'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('Shapely', '1.8.2'), + ('imageio', '2.22.2'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + {'imgaug-0.4.0.tar.gz': '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7'}, + {'imgaug-0.4.0_openvc_requirement.patch': '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a.eb new file mode 100644 index 000000000000..643f7eaca510 --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a.eb @@ -0,0 +1,34 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Pillow', '9.1.1'), + ('matplotlib', '3.5.2'), + ('scikit-image', '0.19.3'), + ('OpenCV', '4.6.0', '-contrib'), + ('Shapely', '1.8.2'), + ('imageio', '2.22.2'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + {'imgaug-0.4.0.tar.gz': '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7'}, + {'imgaug-0.4.0_openvc_requirement.patch': '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.0-iimpi-2022.09.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.0-iimpi-2022.09.eb new file mode 100644 index 000000000000..ed5487ee5658 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.0-iimpi-2022.09.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.09'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022.11.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022.11.eb new file mode 100644 index 000000000000..ff00372cf4e2 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022.11.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.11'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022b.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022b.eb new file mode 100644 index 000000000000..91a574e686f9 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022b.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022b'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.0.0-iimpi-2022.12.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.0.0-iimpi-2022.12.eb new file mode 100644 index 000000000000..b7a82175d15d --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.0.0-iimpi-2022.12.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.12'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023.03.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023.03.eb new file mode 100644 index 000000000000..3809bf2daac1 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023.03.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2023.03'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb new file mode 100755 index 000000000000..a6e0651ef645 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb @@ -0,0 +1,14 @@ +name = 'imkl' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iompi', 'version': '2021b'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18222/'] +sources = ['l_onemkl_p_%(version)s.640_offline.sh'] +checksums = ['9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb new file mode 100644 index 000000000000..2eb923c837ed --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb @@ -0,0 +1,19 @@ +## +# Author: Robert Mijakovic +## +name = 'imkl' +version = '2022.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18721/'] +sources = ['l_onemkl_p_%(version)s.223_offline.sh'] +checksums = ['4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e'] + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb new file mode 100644 index 000000000000..82776023871b --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2022.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18898/'] +sources = ['l_onemkl_p_%(version)s.8748_offline.sh'] +checksums = ['07d7caedd4b9f025c6fd439a0d2c2f279b18ecbbb63cadb864f6c63c1ed942db'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb new file mode 100644 index 000000000000..3daf55958a30 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19038/'] +sources = ['l_onemkl_p_%(version)s.16993_offline.sh'] +checksums = ['eedd4b795720de776b1fc5f542ae0fac37ec235cdb567f7c2ee3182e73e3e59d'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb new file mode 100644 index 000000000000..4e6e5afb3444 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2023.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19138/'] +sources = ['l_onemkl_p_%(version)s.25398_offline.sh'] +checksums = ['0d61188e91a57bdb575782eb47a05ae99ea8eebefee6b2dfe20c6708e16e9927'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.1.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0.eb new file mode 100644 index 000000000000..2dd371edc01c --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cd17b7fe-500e-4305-a89b-bd5b42bfd9f8/'] +sources = ['l_onemkl_p_%(version)s.46342_offline.sh'] +checksums = ['cc28c94cab23c185520b93c5a04f3979d8da6b4c90cee8c0681dd89819d76167'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.7.0-intel-compilers-2022.2.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.7.0-intel-compilers-2022.2.0.eb new file mode 100644 index 000000000000..8f400fabac49 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.7.0-intel-compilers-2022.2.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.7.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18926/'] +sources = ['l_mpi_oneapi_p_%(version)s.8711_offline.sh'] +checksums = ['4eb1e1487b67b98857bc9b7b37bcac4998e0aa6d1b892b2c87b003bf84fb38e9'] + +dependencies = [('UCX', '1.13.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.7.1-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/i/impi/impi-2021.7.1-intel-compilers-2022.2.1.eb new file mode 100644 index 000000000000..68aeb9beb636 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.7.1-intel-compilers-2022.2.1.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.7.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19010/'] +sources = ['l_mpi_oneapi_p_%(version)s.16815_offline.sh'] +checksums = ['90e7804f2367d457cd4cbf7aa29f1c5676287aa9b34f93e7c9a19e4b8583fff7'] + +dependencies = [('UCX', '1.13.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb new file mode 100644 index 000000000000..86153bb28f51 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.8.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2023.0.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19131/'] +sources = ['l_mpi_oneapi_p_%(version)s.25329_offline.sh'] +checksums = ['0fcb1171fc42fd4b2d863ae474c0b0f656b0fa1fdc1df435aa851ccd6d1eaaf7'] + +dependencies = [('UCX', '1.13.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.9.0-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.9.0-intel-compilers-2023.1.0.eb new file mode 100644 index 000000000000..6e886d07ac18 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.9.0-intel-compilers-2023.1.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.9.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/718d6f8f-2546-4b36-b97b-bc58d5482ebf/'] +sources = ['l_mpi_oneapi_p_%(version)s.43482_offline.sh'] +checksums = ['5c170cdf26901311408809ced28498b630a494428703685203ceef6e62735ef8'] + +dependencies = [('UCX', '1.14.0')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.0-foss-2021b.eb b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.0-foss-2021b.eb new file mode 100644 index 000000000000..37e665fc2b5b --- /dev/null +++ b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.0-foss-2021b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'infercnvpy' +version = '0.4.0' + +homepage = 'https://github.com/icbi-lab/infercnvpy' +description = "Infer copy number variation (CNV) from scRNA-seq data. Plays nicely with Scanpy." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('leidenalg', '0.8.8'), + ('scanpy', '1.8.2'), +] + +use_pip = True + +# avoid hatchling requirement to install infercnvpy +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('setuptools', '65.6.0', { + 'checksums': ['d1eebf881c6114e51df1664bc2c9133d022f78d12d5f4f665b9191f084e2862d'], + }), + ('gtfparse', '1.2.1', { + 'checksums': ['559d4d36b0bd5d4494f925cab3c00cd969783ebb6408fa025df92663965834b8'], + }), + ('pyreadr', '0.4.7', { + 'checksums': ['901110d62b4bedaef288f4db81425fb696edc721fe2c34c1083f5fb11050a73c'], + }), + ('tqdm', '4.64.1', { + 'checksums': ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['00b8d78726db0a70bdb4d887fd503a484873244a60b9f58a0979aa75ba6e48cb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.2-foss-2022a.eb b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.2-foss-2022a.eb new file mode 100644 index 000000000000..58e1804543bb --- /dev/null +++ b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.2-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'infercnvpy' +version = '0.4.2' + +homepage = 'https://github.com/icbi-lab/infercnvpy' +description = "Infer copy number variation (CNV) from scRNA-seq data. Plays nicely with Scanpy." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('IPython', '8.5.0'), + ('leidenalg', '0.9.1'), + ('scanpy', '1.9.1'), + ('polars', '0.15.6'), # required by gtfparse +] + +use_pip = True + +# avoid hatchling requirement to install infercnvpy +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('setuptools', '67.6.1', { + 'checksums': ['257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a'], + }), + ('gtfparse', '2.0.1', { + 'checksums': ['c45439af58cb48120910bebe4625371d8fb5735f12a749e8933c9d6f2b1a558c'], + }), + ('pyreadr', '0.4.7', { + 'checksums': ['901110d62b4bedaef288f4db81425fb696edc721fe2c34c1083f5fb11050a73c'], + }), + ('session-info', '1.0.0', { + 'sources': ['session_info-%(version)s.tar.gz'], + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['3cfd23afc2dbbca3508a305032c032440d2af292d037d43a7b5046c7bd36ed22'], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb new file mode 100644 index 000000000000..17262278b137 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb @@ -0,0 +1,33 @@ +name = 'intel-compilers' +version = '2022.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18849/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.8772_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18909/'], + 'filename': 'l_fortran-compiler_p_%(version)s.8773_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2022.2.0.8772_offline.sh': + '8ca97f7ea8abf7876df6e10ce2789ea8cbc310c100ad7bf0b5ffccc4f3c7f2c9'}, + {'l_fortran-compiler_p_2022.2.0.8773_offline.sh': + '4054e4bf5146d55638d21612396a19ea623d22cbb8ac63c0a7150773541e0311'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb new file mode 100644 index 000000000000..a6ae81701053 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb @@ -0,0 +1,33 @@ +name = 'intel-compilers' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19030/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.16991_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/18998/'], + 'filename': 'l_fortran-compiler_p_%(version)s.16992_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2022.2.1.16991_offline.sh': + '3f0f02f9812a0cdf01922d2df9348910c6a4cb4f9dfe50fc7477a59bbb1f7173'}, + {'l_fortran-compiler_p_2022.2.1.16992_offline.sh': + '64f1d1efbcdc3ac2182bec18313ca23f800d94f69758db83a1394490d9d4b042'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb new file mode 100644 index 000000000000..8d97d1ec3e5e --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb @@ -0,0 +1,33 @@ +name = 'intel-compilers' +version = '2023.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19123/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.25393_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/19105/'], + 'filename': 'l_fortran-compiler_p_%(version)s.25394_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2023.0.0.25393_offline.sh': + '473eb019282c2735d65c6058f6890e60b79a5698ae18d2c1e4489fed8dd18a02'}, + {'l_fortran-compiler_p_2023.0.0.25394_offline.sh': + 'fd7525bf90646c8e43721e138f29c9c6f99e96dfe5648c13633f30ec64ac8b1b'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.1.0.eb new file mode 100644 index 000000000000..91d2ec40b6e5 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.1.0.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/89283df8-c667-47b0-b7e1-c4573e37bd3e/', + ], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.46347_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/150e0430-63df-48a0-8469-ecebff0a1858/', + ], + 'filename': 'l_fortran-compiler_p_%(version)s.46348_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2023.1.0.46347_offline.sh': + '3ac1c1179501a2646cbb052b05426554194573b4f8e2344d7699eed03fbcfa1d'}, + {'l_fortran-compiler_p_2023.1.0.46348_offline.sh': + '7639af4b6c928e9e3ba92297a054f78a55f4f4d0db9db0d144cc6653004e4f24'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.09.eb b/easybuild/easyconfigs/i/intel/intel-2022.09.eb new file mode 100644 index 000000000000..8e5967bdb58c --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.09.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.09' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.2.0' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.11.eb b/easybuild/easyconfigs/i/intel/intel-2022.11.eb new file mode 100644 index 000000000000..9dd32ad27d5a --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.11.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.11' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.12.eb b/easybuild/easyconfigs/i/intel/intel-2022.12.eb new file mode 100644 index 000000000000..d93caf59b407 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.12.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.12' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.0.0' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.8.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022b.eb b/easybuild/easyconfigs/i/intel/intel-2022b.eb new file mode 100644 index 000000000000..a2553d65c7e6 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022b.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2023.03.eb b/easybuild/easyconfigs/i/intel/intel-2023.03.eb new file mode 100644 index 000000000000..9c71d4bc13ea --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2023.03.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2023.03' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.1.0' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.9.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..68c3f09136f5 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Perl', '5.36.0'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/iodata/iodata-1.0.0a2-intel-2022a.eb b/easybuild/easyconfigs/i/iodata/iodata-1.0.0a2-intel-2022a.eb new file mode 100644 index 000000000000..1328e3eb2c7a --- /dev/null +++ b/easybuild/easyconfigs/i/iodata/iodata-1.0.0a2-intel-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'iodata' +version = '1.0.0a2' + +homepage = 'https://github.com/theochem/iodata' +description = """Python library for reading, writing, and converting computational chemistry file formats and + generating input files.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/iodata/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c72ea17282d110ca3f85113f670bc9309ea68b4f86e1684b44778455622141bb'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True + +# inject correct version rather than relying on dynamically determined version +preinstallopts = r"""sed -i "s/version=VERSION/version='%(version)s'/g" setup.py && """ + +sanity_check_paths = { + 'files': ['bin/iodata-convert'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["iodata-convert --help"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/i/iomkl/iomkl-2021b.eb b/easybuild/easyconfigs/i/iomkl/iomkl-2021b.eb new file mode 100755 index 000000000000..3ebbaf3278bc --- /dev/null +++ b/easybuild/easyconfigs/i/iomkl/iomkl-2021b.eb @@ -0,0 +1,18 @@ +easyblock = 'Toolchain' + +name = 'iomkl' +version = '2021b' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Compiler toolchain including Intel compilers, Open MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2021.4.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('OpenMPI', '4.1.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', ('iompi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iompi/iompi-2021b.eb b/easybuild/easyconfigs/i/iompi/iompi-2021b.eb new file mode 100755 index 000000000000..f2a3e584b448 --- /dev/null +++ b/easybuild/easyconfigs/i/iompi/iompi-2021b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iompi' +version = '2021b' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = """Intel C/C++ and Fortran compilers, alongside Open MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2021.4.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('OpenMPI', '4.1.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2022a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2022a.eb new file mode 100644 index 000000000000..0d3dd0f948f0 --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'ipympl' +version = '0.9.3' + +homepage = 'https://matplotlib.org/ipympl' +description = """Leveraging the Jupyter interactive widgets framework, ipympl enables the +interactive features of matplotlib in the Jupyter notebook and in JupyterLab. +Besides, the figure canvas element is a proper Jupyter interactive widget which +can be positioned in interactive widget layouts. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d113cd55891bafe9b27ef99b6dd111a87beb6bb2ae550c404292272103be8013'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.11-linux-amd64.eb b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.11-linux-amd64.eb new file mode 100644 index 000000000000..02ff2d9db54a --- /dev/null +++ b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.11-linux-amd64.eb @@ -0,0 +1,25 @@ +easyblock = 'Binary' + +name = 'irodsfs' +version = '0.8.11' +versionsuffix = '-linux-amd64' + +homepage = 'https://github.com/cyverse/irodsfs' +description = """FUSE implementation of iRODS Client written in Golang.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cyverse/irodsfs/releases/download/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['4d93a5b6a64aa3c6bde25769fd6a7fd32c0a8ced4ffa6e87795f5926db0a78c9'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.12-linux-amd64.eb b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.12-linux-amd64.eb new file mode 100644 index 000000000000..fb7c54c2f531 --- /dev/null +++ b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.12-linux-amd64.eb @@ -0,0 +1,25 @@ +easyblock = 'Binary' + +name = 'irodsfs' +version = '0.8.12' +versionsuffix = '-linux-amd64' + +homepage = 'https://github.com/cyverse/irodsfs' +description = """FUSE implementation of iRODS Client written in Golang.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cyverse/irodsfs/releases/download/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['aa5382dc82cf9d002255d289348286a908b78e1246940ee605e92b4adf8586dd'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.9-linux-amd64.eb b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.9-linux-amd64.eb new file mode 100644 index 000000000000..503020560f81 --- /dev/null +++ b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.9-linux-amd64.eb @@ -0,0 +1,25 @@ +easyblock = 'Binary' + +name = 'irodsfs' +version = '0.8.9' +versionsuffix = '-linux-amd64' + +homepage = 'https://github.com/cyverse/irodsfs' +description = """FUSE implementation of iRODS Client written in Golang.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cyverse/irodsfs/releases/download/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['47a5ee716b00e4c4c3da74d39bed189a160d86eff91aab4904e772dca62e004b'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.1-foss-2022a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.1-foss-2022a.eb new file mode 100644 index 000000000000..b821886818f9 --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.1-foss-2022a.eb @@ -0,0 +1,37 @@ +# 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.1' + +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': '2022a'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['f9258355b5e9eb13bd33c5fa720f0cbebacea7d0a4a42b71b0fb14501ee14229'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['bin/jags', 'libexec/jags-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["echo 'list modules' | jags"] + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2f1a4dceeccf --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '4.0.0' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['977c4c2e4210f4e37313cd2232d99e73d57ab561917b3c060bcdd5e83a0a13f1'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.2.0.eb new file mode 100644 index 000000000000..0d6ce04a2739 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.3.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..7a8ca29098b1 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..29e5a68235b0 --- /dev/null +++ b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Judy' +version = '1.0.5' + +homepage = 'http://judy.sourceforge.net/' +description = "A C library that implements a dynamic array." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://downloads.sourceforge.net/judy'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['Judy-1.0.5_parallel-make.patch'] # fix Make dependencies, so parallel build also works + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] +checksums = [ + 'd2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb', # Judy-1.0.5.tar.gz + '14c2eba71088f3db9625dc4605c6d7183d72412d75ef6c9fd9b95186165cf009', # Judy-1.0.5_parallel-make.patch +] + +preconfigopts = "sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac && " +preconfigopts += "autoreconf -i && " + +configopts = '--enable-shared --enable-static' + +sanity_check_paths = { + 'files': ["include/%(name)s.h", "lib/lib%(name)s.a", "lib/lib%(name)s.la", "lib/lib%%(name)s.%s" % SHLIB_EXT], + 'dirs': ["share/man"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb index 9488e9084d18..2d06511dc08b 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb index 1ceea6444d5b..aed8623dde71 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb index 65d335bfb8cc..3101c0d69fb3 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb index 55407f9c4f07..8d0d71e88c91 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb index 79469033db5a..acf27d328de3 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb index d77bb480f1b8..6ba496e97b27 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb index 84b7a95dba28..9f61082c329a 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb index 07b8c3a4138e..149083b00cc2 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb index dcca93e78719..152b7ec1d726 100644 --- a/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb +++ b/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb @@ -28,4 +28,19 @@ sanity_check_paths = { sanity_check_commands = ['julia --help'] +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb new file mode 100644 index 000000000000..f0b02f1ec3c4 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb @@ -0,0 +1,46 @@ +# 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.8.5' +versionsuffix = '-linux-x86_64' + +homepage = 'https://julialang.org' +description = "Julia is a high-level, high-performance dynamic programming language for numerical computing" + +toolchain = SYSTEM + +source_urls = ['https://julialang-s3.julialang.org/bin/linux/x64/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['e71a24816e8fe9d5f4807664cbbb42738f5aa9fe05397d35c81d4c5d649b9d05'] + +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'] + +_depot_paths = ':'.join([ + # default shared directory in install dir + '%(installdir)s/share/julia', + # allow users to add their own packages to Julia + '~/.julia', +]) + +modextravars = { + 'JULIA_DEPOT_PATH': _depot_paths, + # 'set JULIA_HISTORY to user's DEPOT_PATH (~/.julia) + # by default it will point to the DEPOT_PATH (install dir) of the last module loaded + # https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_HISTORY + 'JULIA_HISTORY': '~/.julia/logs/repl_history.jl', +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-3.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-3.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..9f427a4cb205 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-3.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,112 @@ +easyblock = 'PythonBundle' + +name = 'JupyterHub' +version = '3.0.0' + +homepage = 'https://jupyter.org' +description = """JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed + for centralized deployments in companies, university classrooms and research labs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = { + ('binutils', '2.38'), +} + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('Mako', '1.2.0'), + ('configurable-http-proxy', '4.5.3'), + ('OpenSSL', '1.1', '', SYSTEM), + ('jupyter-server-proxy', '3.2.2') # This is optional, but commonly used together +] + +use_pip = True + +exts_list = [ + ('certipy', '0.1.3', { + 'checksums': ['695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859'], + }), + ('pamela', '1.0.0', { + 'checksums': ['65c9389bef7d1bb0b168813b6be21964df32016923aac7515bdf05366acbab6c'], + }), + ('greenlet', '1.1.3.post0', { + 'checksums': ['f5e09dc5c6e1796969fd4b775ea1417d70e49a5df29aaa8e5d10675d9e11872c'], + }), + ('SQLAlchemy', '1.4.42', { + 'checksums': ['177e41914c476ed1e1b77fd05966ea88c094053e17a85303c4ce007f88eff363'], + }), + ('alembic', '1.8.1', { + 'checksums': ['cd0b5e45b14b706426b833f06369b9a6d5ee03f826ec3238723ce8caaf6e5ffa'], + }), + ('oauthlib', '3.2.1', { + 'checksums': ['1565237372795bf6ee3e5aba5e2a85bd5a65d0e2aa5c628b9a97b7d7a0da3721'], + }), + ('pyOpenSSL', '21.0.0', { + 'modulename': 'OpenSSL', + 'checksums': ['5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3'], + }), + ('python-json-logger', '2.0.4', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['764d762175f99fcc4630bd4853b09632acb60a6224acb27ce08cd70f0b1b81bd'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('ruamel.yaml.clib', '0.2.6', { + 'modulename': False, + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + }), + ('jupyter-telemetry', '0.1.0', { + 'source_tmpl': 'jupyter_telemetry-%(version)s.tar.gz', + 'checksums': ['445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314'], + }), + ('jupyterhub', version, { + 'checksums': ['05cdfebd800cf3e55566fb5b61110c5f64fed8ca3c56ef0142290baffbc7fb69'], + }), + ('batchspawner', '1.2.0', { + 'checksums': ['b1924bb4f3a3f527a1e312ecdaff3dbc5acfd91e6b13cf074a62cd74340a2e21'], + }), + ('jupyterhub-systemdspawner', '0.16', { + 'modulename': 'systemdspawner', + 'checksums': ['a7aeea1e8cb081a9c4de14475504199bbe249d93ea317da5c09d536b7b11b300'], + }), + ('jupyterhub-simplespawner', '0.1', { + 'modulename': 'simplespawner', + 'checksums': ['5fcc295b310dd7a99c0f00226be311121fd99b36a5d127e8685f3ffa29712d0d'], + }), + ('ldap3', '2.9.1', { + 'checksums': ['f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f'], + }), + ('jupyterhub-ldapauthenticator', '1.3.2', { + 'modulename': 'ldapauthenticator', + 'checksums': ['758081bbdb28b26313bb18c9d8aa2b8fcdc9162e4d3ab196c626567e64f1ab8b'], + }), + ('PyJWT', '2.5.0', { + 'modulename': 'jwt', + 'checksums': ['e77ab89480905d86998442ac5788f35333fa85f65047a534adc38edf3c88fc3b'], + }), + ('jupyterhub-jwtauthenticator-v2', '2.0.3', { + 'modulename': 'jwtauthenticator', + 'checksums': ['b94b6dff8246250904c5ee511da3f062680eb657dabe766d75993cbe72747d41'], + }), + ('onetimepass', '1.0.1', { + 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], + }), + ('jupyterhub-nativeauthenticator', '1.1.0', { + 'modulename': 'nativeauthenticator', + 'checksums': ['190e760da620acea25246eb215ff671da7aee8a1603f9cbf3c359a404f009088'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyterhub'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/jupyterhub'], +} + +sanity_pip_check = True + +sanity_check_commands = ['jupyterhub --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb old mode 100755 new mode 100644 index adc0ec676957..83e3efa4e84f --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb @@ -48,14 +48,20 @@ exts_list = [ ('jupyterlab_server', '2.6.0', { 'checksums': ['f300adf6bb0a952bebe9c807a3b2a345d62da39b476b4f69ea0dc6b5f3f6b97d'], }), - (name, version, { - 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + ('jupyterlab', version, { 'checksums': ['7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23'], }), ] sanity_check_commands = ["jupyter lab --help"] -modextravars = {'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab'} +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb old mode 100755 new mode 100644 index 97db9ab8ef0c..d4ac5f149b9f --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb @@ -48,14 +48,20 @@ exts_list = [ ('jupyterlab_server', '2.7.0', { 'checksums': ['31457ef564febc42043bc539356c804f6f9144f602e2852150bf0820ed6d7e18'], }), - (name, version, { - 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + ('jupyterlab', version, { 'checksums': ['6d2ada6a333861f33a1b555d3cb7b07aa9d1ab80f07997b3d0c43878a98c1174'], }), ] sanity_check_commands = ["jupyter lab --help"] -modextravars = {'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab'} +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb old mode 100755 new mode 100644 index c48fd54eda30..303ede676424 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb @@ -48,14 +48,20 @@ exts_list = [ ('jupyterlab_server', '2.10.3', { 'checksums': ['3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a'], }), - (name, version, { - 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + ('jupyterlab', version, { 'checksums': ['5e4e99868c4f385372686767781408acbb9004b690b198b45597ba869802334b'], }), ] sanity_check_commands = ["jupyter lab --help"] -modextravars = {'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab'} +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.5.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1ce74b3d8a8c --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '3.5.0' + +homepage = "https://jupyter.org/" +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.10', { + 'checksums': ['ad9f048c5b5a4c3802524474ce40a622fae789860a86f10cc4f7e5f9cf9b46ab'], + }), + ('notebook_shim', '0.1.0', { + 'checksums': ['7897e47a36d92248925a2143e3596f19c60597708f7bef50d81fcd31d7263e85'], + }), + ('nbclassic', '0.4.8', { + 'checksums': ['c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283'], + }), + ('jupyterlab_server', '2.13.0', { + 'checksums': ['2040298a133458aa22f287a877d6bb91ff973f6298d562264f9f7b75e92a5ace'], + }), + ('jupyterlab', version, { + 'checksums': ['e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2'], + }), +] + +sanity_check_commands = ["jupyter lab --help"] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 000000000000..cc8ee4c2d2e8 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,123 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +# Downgrade to foss/2021b: T. Hoffmann (EMBL) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.23' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.33.1', '-nodocs'), + ('matplotlib', '3.5.2'), # required by some jax tests; also loads Pillow/9.1.1 +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', '0.3.22', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.22.tar.gz + '680a6f5265ba26d5515617a95ae47244005366f879a5c321782fde60f34e6d0d', + # tensorflow-cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057.tar.gz + '9a7a7a87356bdeef5874fae135de380466482b593469035be3609a9cd2c153c4', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'patches': [ + 'jax-0.3.9_relax-test-tolerance.patch', + 'jax-0.3.23_correctly-skip-from_dlpack-tests.patch', + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + ], + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + + "JAX_ENABLE_X64=true pytest -vv tests", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.3.23.tar.gz': 'fa8c68a82fa2fcf3d272bf239c77e7028bb6077466a53349ce85f6e85ed623db'}, + {'jax-0.3.9_relax-test-tolerance.patch': + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d'}, + {'jax-0.3.23_correctly-skip-from_dlpack-tests.patch': + 'a69ce7280ca8bb42e671217f00d9147f8c64b4b7ba65dea7f05f2c6de757b279'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2022a.eb b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2022a.eb new file mode 100644 index 000000000000..769a042f02fa --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2022a.eb @@ -0,0 +1,117 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.23' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', '0.3.22', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.22.tar.gz + '680a6f5265ba26d5515617a95ae47244005366f879a5c321782fde60f34e6d0d', + # tensorflow-cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057.tar.gz + '9a7a7a87356bdeef5874fae135de380466482b593469035be3609a9cd2c153c4', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'patches': [ + 'jax-0.3.9_relax-test-tolerance.patch', + 'jax-0.3.23_correctly-skip-from_dlpack-tests.patch', + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + ], + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.3.23.tar.gz': 'fa8c68a82fa2fcf3d272bf239c77e7028bb6077466a53349ce85f6e85ed623db'}, + {'jax-0.3.9_relax-test-tolerance.patch': + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d'}, + {'jax-0.3.23_correctly-skip-from_dlpack-tests.patch': + 'a69ce7280ca8bb42e671217f00d9147f8c64b4b7ba65dea7f05f2c6de757b279'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23_correctly-skip-from_dlpack-tests.patch b/easybuild/easyconfigs/j/jax/jax-0.3.23_correctly-skip-from_dlpack-tests.patch new file mode 100644 index 000000000000..7354e39c8e3e --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23_correctly-skip-from_dlpack-tests.patch @@ -0,0 +1,15 @@ +np.from_dlpack was not added until numpy 1.23 +Patch based off https://github.com/google/jax/pull/12900 and added by Simon Branford (University of Birmingham) +diff --git a/tests/array_interoperability_test.py b/tests/array_interoperability_test.py +index cc2f3a6c08d..ac04ee637c8 100644 +--- a/tests/array_interoperability_test.py ++++ b/tests/array_interoperability_test.py +@@ -200,7 +200,7 @@ def testNumpyToJax(self, shape, dtype): + "shape": shape, "dtype": dtype} + for shape in all_shapes + for dtype in torch_dtypes)) +- @unittest.skipIf(numpy_version < (1, 22, 0), "Requires numpy 1.22 or newer") ++ @unittest.skipIf(numpy_version < (1, 23, 0), "Requires numpy 1.23 or newer") + @jtu.skip_on_devices("gpu") + def testJaxToNumpy(self, shape, dtype): + rng = jtu.rand_default(self.rng()) diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23_relax-testPoly5-tolerance.patch b/easybuild/easyconfigs/j/jax/jax-0.3.23_relax-testPoly5-tolerance.patch new file mode 100644 index 000000000000..38729edac87c --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23_relax-testPoly5-tolerance.patch @@ -0,0 +1,14 @@ +Relax the tolerance for the testPoly5 test +Patch by Simon Branford (University of Birmingham) +--- tests/lax_numpy_test.py 2022-10-12 16:23:43.000000000 +0100 ++++ tests/lax_numpy_test.py 2022-10-21 13:33:59.871417000 +0100 +@@ -1277,6 +1277,9 @@ + if jtu.device_under_test() == "tpu": + tol[np.int32] = tol[np.float32] = 1e-1 + tol = jtu.tolerance(dtype, tol) ++ if rank == 2 and dtype == np.int8 and a_shape == (12,): ++ # relax tolerance (from 1e-3) for testPoly5 ++ tol = 2e-3 + args_maker = lambda: [rng(a_shape * rank, dtype)] + self._CheckAgainstNumpy(np.poly, jnp.poly, args_maker, check_dtypes=False, tol=tol) + self._CompileAndCheck(jnp.poly, args_maker, check_dtypes=True, rtol=tol, atol=tol) diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..4ddfd6746ecc --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,130 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.25' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'f0fe8d4c04fab1f157854a1aa3c136377901cdef' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', version, { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.25.tar.gz + '73ebc7868631cd9d520385557bbd7f08762d748a5a6a1bebef0f3b8d7ba748ef', + # tensorflow-f0fe8d4c04fab1f157854a1aa3c136377901cdef.tar.gz + '9ebba3031e8a81993682e4b9e43891ebb8480b6287e635df8e7efaa45ab5ede7', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + 'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch', + 'jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch', + 'jax-0.4.4_cusparse.patch', + ], + 'checksums': [ + {'jax-v0.3.25.tar.gz': '49e8ce88ddd7dd0de86116c9d75d98a577a9061377ec423493fbac5ea29f79f0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + {'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch': + '70f16f2dba03ab162ce6e13ea61774524b485e9630209bbd4bec81fd16c8812f'}, + {'jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch': + '335a8e206d14338176bf4136a131afe5d7b75999ac2c67f0ae79031322e25936'}, + {'jax-0.4.4_cusparse.patch': '7414115533cce9f37c60850c09c69563a0ed6477c73f03c4132b9c2ae75ae60f'}, + ], + # deliberately not testing in parallel, as that results in (additional) failing tests; + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, + # see https://github.com/google/jax/issues/7323 and + # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; + # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; + # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + + "JAX_ENABLE_X64=true pytest -vv tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a.eb b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a.eb new file mode 100644 index 000000000000..fb821e58e1d0 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a.eb @@ -0,0 +1,114 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.25' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'f0fe8d4c04fab1f157854a1aa3c136377901cdef' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', version, { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.25.tar.gz + '73ebc7868631cd9d520385557bbd7f08762d748a5a6a1bebef0f3b8d7ba748ef', + # tensorflow-f0fe8d4c04fab1f157854a1aa3c136377901cdef.tar.gz + '9ebba3031e8a81993682e4b9e43891ebb8480b6287e635df8e7efaa45ab5ede7', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + 'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch', + ], + 'checksums': [ + {'jax-v0.3.25.tar.gz': '49e8ce88ddd7dd0de86116c9d75d98a577a9061377ec423493fbac5ea29f79f0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + {'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch': + '70f16f2dba03ab162ce6e13ea61774524b485e9630209bbd4bec81fd16c8812f'}, + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch new file mode 100644 index 000000000000..50eef092964f --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch @@ -0,0 +1,14 @@ +This test is known to fail on certain CPU arquitectures +see https://github.com/google/jax/issues/14793 +author: Alex Domingo (Vrije Universiteit Brussel) +--- tests/qdwh_test.py.orig 2023-04-06 10:38:07.838718000 +0200 ++++ tests/qdwh_test.py 2023-04-06 10:38:24.168026081 +0200 +@@ -168,7 +168,7 @@ + [dict(m=m, n=n) for m, n in [(10, 10), (8, 8)]], + log_cond=np.linspace(1, 4, 4), + ) +- def testQdwhWithOnRankDeficientInput(self, m, n, log_cond): ++ def disabled_testQdwhWithOnRankDeficientInput(self, m, n, log_cond): + """Tests qdwh with rank-deficient input.""" + a = jnp.triu(jnp.ones((m, n))).astype(_QDWH_TEST_DTYPE) + diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch new file mode 100644 index 000000000000..8a70ed941cf2 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch @@ -0,0 +1,14 @@ +Skip flaky tests with cuSPARSE as its API is quite variable, +might solve itself in future versions of CUDA or jax +see https://github.com/google/jax/issues/14663 +author: Alex Domingo (Vrije Universiteit Brussel) +--- tests/sparse_test.py.orig 2023-04-06 23:41:58.192895000 +0200 ++++ tests/sparse_test.py 2023-04-06 23:59:56.319161821 +0200 +@@ -1173,6 +1173,7 @@ + ], + dtype=jtu.dtypes.floating + jtu.dtypes.complex, + ) ++ @unittest.skip("CUSPARSE_OPERATION_NON_TRANSPOSE is not supported with CUSPARSE_SPMM_COO_ALG2 on CUDA 11.7.0") + def test_bcoo_dot_general_cusparse( + self, lhs_shape, rhs_shape, dtype, lhs_contracting, rhs_contracting): + rng = jtu.rand_small(self.rng()) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a-CUDA-11.7.0.eb new file mode 100755 index 000000000000..ef6d2138b864 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,116 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = '43e9d313548ded301fa54f25a4192d3bcb123330' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.4.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('jaxlib', '0.4.4', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + {'jaxlib-v0.4.4.tar.gz': '881f402c7983b56b185e182d5315dd64c9f5320be96213d0415996ece1826806'}, + {'tensorflow-43e9d313548ded301fa54f25a4192d3bcb123330.tar.gz': + '23aae276b2705bfbdaea3c472da24130598f13ac0439cfb7149befb781d97a8f'}, + {'jaxlib_local-tensorflow-repo.sed': 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5'}, + {'TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch': + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.0.0', { + 'checksums': ['d10982f7702422bea8635d5284b8bed629f51919fc122ac1e1e4abf45ec8f785'], + }), + (name, version, { + 'patches': [ + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + 'jax-0.4.4_cusparse.patch', + ], + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + + "JAX_ENABLE_X64=true pytest -vv tests", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.4.4.tar.gz': '755eb9b12ab4880e78690f28fc7bd2b491be4e551d8b966e6974753c878dd2c0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + {'jax-0.4.4_cusparse.patch': '7414115533cce9f37c60850c09c69563a0ed6477c73f03c4132b9c2ae75ae60f'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a.eb b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a.eb new file mode 100755 index 000000000000..4404537f35ca --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a.eb @@ -0,0 +1,107 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.4' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = '43e9d313548ded301fa54f25a4192d3bcb123330' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.4.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('jaxlib', '0.4.4', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + {'jaxlib-v0.4.4.tar.gz': '881f402c7983b56b185e182d5315dd64c9f5320be96213d0415996ece1826806'}, + {'tensorflow-43e9d313548ded301fa54f25a4192d3bcb123330.tar.gz': + '23aae276b2705bfbdaea3c472da24130598f13ac0439cfb7149befb781d97a8f'}, + {'jaxlib_local-tensorflow-repo.sed': 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5'}, + {'TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch': + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.0.0', { + 'checksums': ['d10982f7702422bea8635d5284b8bed629f51919fc122ac1e1e4abf45ec8f785'], + }), + (name, version, { + 'patches': ['jax-0.3.23_relax-testPoly5-tolerance.patch'], + 'runtest': "pytest -n %(parallel)s tests", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.4.4.tar.gz': '755eb9b12ab4880e78690f28fc7bd2b491be4e551d8b966e6974753c878dd2c0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.4_cusparse.patch b/easybuild/easyconfigs/j/jax/jax-0.4.4_cusparse.patch new file mode 100755 index 000000000000..ab9a4479fe3a --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.4_cusparse.patch @@ -0,0 +1,39 @@ +Skip tests: + ** On entry to cusparseSpMM_bufferSize(): matrix B and C must be in column-major order + cuSparseTest.test_coo_matmat1 + cuSparseTest.test_coo_matmat3 + cuSparseTest.test_coo_matmat5 + test_coo_sorted_indices_gpu_lowerings + ** On entry to cusparseSpMM_bufferSize(): opA != CUSPARSE_OPERATION_NON_TRANSPOSE is not supported with CUSPARSE_SPMM_COO_ALG2 + cuSparseTest.test_coo_matmat6 + cuSparseTest.test_coo_matmat7 + ** On entry to cusparseSpMM_bufferSize(): CUSPARSE_SPMM_COO_ALG2 does not support 64-bit indices + test_coo_matmat_layout +Patch by Simon Branford (University of Birmingham) +--- tests/sparse_test.py.orig 2023-02-23 08:59:00.381238000 +0000 ++++ tests/sparse_test.py 2023-02-23 10:39:59.054404886 +0000 +@@ -445,6 +445,8 @@ + with self.gpu_matmul_dtype_warning_context(dtype): + self.assertAllClose(op(M) @ v, jit(matvec)(*args), rtol=MATMUL_TOL) + ++ @unittest.skip("""1, 3, 5: On entry to cusparseSpMM_bufferSize(): matrix B and C must be in column-major order; ++6, 7: On entry to cusparseSpMM_bufferSize(): opA != CUSPARSE_OPERATION_NON_TRANSPOSE is not supported with CUSPARSE_SPMM_COO_ALG2""") + @jtu.sample_product( + shape=[(5, 8), (8, 5), (5, 5), (8, 8)], + dtype=all_dtypes, +@@ -465,6 +467,7 @@ + with self.gpu_matmul_dtype_warning_context(dtype): + self.assertAllClose(op(M) @ B, jit(matmat)(*args), rtol=MATMUL_TOL) + ++ @unittest.skip("On entry to cusparseSpMM_bufferSize(): CUSPARSE_SPMM_COO_ALG2 does not support 64-bit indices") + def test_coo_matmat_layout(self): + # Regression test for https://github.com/google/jax/issues/7533 + d = jnp.array([1.0, 2.0, 3.0, 4.0]) +@@ -494,6 +497,7 @@ + + @unittest.skipIf(not GPU_LOWERING_ENABLED, "test requires cusparse/hipsparse") + @unittest.skipIf(jtu.device_under_test() != "gpu", "test requires GPU") ++ @unittest.skip("On entry to cusparseSpMM_bufferSize(): matrix B and C must be in column-major order") + def test_coo_sorted_indices_gpu_lowerings(self): + dtype = jnp.float32 + diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8dc21fe2bd74 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932', # jbigkit-2.1.tar.gz + '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce', # jbigkit-2.1_libpath.patch + '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696', # jbigkit-2.1_shlib.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8d87581a8421 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.2.1' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ed51b0b37098af4ca6ed31c22324635263f8ad6471889e0592a9c0dba9136aea'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..aae1125cf83c --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.3.0' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb b/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb index 401fa1f345d0..39190893ab0c 100644 --- a/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb @@ -39,7 +39,7 @@ skipsteps = ['configure'] prebuildopts = './autogen.sh --prefix=%(installdir)s &&' # Make sure there are no "not found" in the sanitycheck output -sanity_check_commands = [('! jhbuild', 'sanitycheck| grep not\ found')] +sanity_check_commands = [('! jhbuild', r'sanitycheck| grep not\ found')] sanity_check_paths = { 'files': ['bin/jhbuild'], diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..4f44b8686e1a --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Autotools', '20210726'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..06922fad5b80 --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8ffe5702c242 --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..82ffdd9d1abb --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.16' +local_suff = '-20220414' + +homepage = 'https://github.com/json-c/json-c' +description = """JSON-C implements a reference counting object model that allows you to easily construct JSON objects + in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON +objects.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['3ecaeedffd99a60b1262819f9e60d7d983844073abc74e495cb822b251904185'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +# disable using Valgrind during the tests to avoid failures caused by using an OS Valgrind +pretestopts = 'USE_VALGRIND=0 ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libjson-c.a', 'lib/libjson-c.%s' % SHLIB_EXT, 'lib/pkgconfig/json-c.pc'], + 'dirs': ['include/json-c'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..83241cc32e21 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = "PythonBundle" + +name = 'jupyter-contrib-nbextensions' +version = '0.7.0' + +homepage = 'https://github.com/ipython-contrib/jupyter_contrib_nbextensions' +description = 'A collection of various notebook extensions for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('jupyter_contrib_core', '0.4.2', { + 'checksums': ['1887212f3ca9d4487d624c0705c20dfdf03d5a0b9ea2557d3aaeeb4c38bdcabb'], + }), + ('jupyter_highlight_selected_word', '0.2.0', { + 'checksums': ['9fa740424859a807950ca08d2bfd28a35154cd32dd6d50ac4e0950022adc0e7b'], + }), + ('jupyter_nbextensions_configurator', '0.6.1', { + 'checksums': ['4b9e1270ccc1f8e0a421efb8979a737f586813023a4855b9453f61c3ca599b82'], + }), + ('jupyter_contrib_nbextensions', version, { + 'checksums': ['06e33f005885eb92f89cbe82711e921278201298d08ab0d886d1ba09e8c3e9ca'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/jupyter-contrib', 'bin/jupyter-contrib-nbextension', 'bin/jupyter-nbextensions_configurator'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.5.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..9c9d20a4914f --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = "PythonBundle" + +name = 'jupyter-matlab-proxy' +version = '0.5.0' + +homepage = 'https://github.com/mathworks/jupyter-matlab-proxy' +description = 'MATLAB Integration for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('jupyter-server-proxy', '3.2.2'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('matlab-proxy', '0.5.4'), +] + +use_pip = True + +exts_list = [ + ('jupyter_matlab_proxy', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['50425827b1ac157c8aa52fa44435ad33013520605699033bb2a1d97441b6a22b'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], +} + +sanity_check_commands = [ + "python -c 'import jupyter_matlab_proxy'", + "python -c 'import jupyter_matlab_kernel'", +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..37c5915ff8ee --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2-GCCcore-10.3.0.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = '0.6.2' + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = """Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('IPython', '7.25.0'), +] + +use_pip = True + +exts_list = [ + ('websocket-client', '1.4.1', { + 'modulename': 'websocket', + 'checksums': ['f9611eb65c8241a67fb373bef040b3cf8ad377a9f6546a12b620b6511e8ea9ef'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('requests-unixsocket', '0.3.0', { + 'checksums': ['28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e'], + }), + ('jupyter_server', '1.11.1', { + 'checksums': ['ab7ab1cc38512f15026cbcbb96300fb46ec8b24aa162263d9edd00e0a749b1e8'], + }), + (name, version, { + 'patches': [ + 'jupyter-resource-usage-0.6.1_compatibility.patch', + 'jupyter-resource-usage-0.6.2_fix_update_cpu.patch', + ], + 'checksums': [ + '735acfe9516c68d1f50c25f74b236075da2adde49f734b24f6d2578ab9aa8d0c', # jupyter-resource-usage-0.6.2.tar.gz + # jupyter-resource-usage-0.6.1_compatibility.patch + 'b030065413bac04bd40088cd92be98bac3e92d68189d03d338986444af3953f4', + # jupyter-resource-usage-0.6.2_fix_update_cpu.patch + 'e2d2ea15211c90faebb57c1170a105f94fe0fd28055a69969dd53dad9ff7f990', + ], + }), +] + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter/', +} + +sanity_check_paths = { + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + 'lib/python%(pyshortver)s/site-packages/jupyter_server' + ], + 'files': ['bin/jupyter-server'], +} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2_fix_update_cpu.patch b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2_fix_update_cpu.patch new file mode 100644 index 000000000000..181500591a53 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2_fix_update_cpu.patch @@ -0,0 +1,16 @@ +# Author: Caspar van Leeuwen, SURF +# If the CPU was idle (i.e. cpuPercent=0), the display showing CPU usage wouldn't update, +# because of a faulty logic. This patch fixes that. +# See https://github.com/jupyter-server/jupyter-resource-usage/pull/147 +diff -Nru jupyter-resource-usage-0.6.2.orig/jupyter_resource_usage/static/main.js jupyter-resource-usage-0.6.2/jupyter_resource_usage/static/main.js +--- jupyter-resource-usage-0.6.2.orig/jupyter_resource_usage/static/main.js 2022-09-30 19:02:36.892711996 +0200 ++++ jupyter-resource-usage-0.6.2/jupyter_resource_usage/static/main.js 2022-09-30 19:02:59.994787990 +0200 +@@ -74,7 +74,7 @@ + + // Handle CPU display + var cpuPercent = data['cpu_percent']; +- if (cpuPercent) { ++ if (cpuPercent !== undefined) { + // Remove hide CSS class if the metrics API gives us a CPU percent to display + $('#jupyter-resource-usage-display-cpu').removeClass('jupyter-resource-usage-hide'); + var maxCpu = data['cpu_count']; diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3de71514e8cd --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.3-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = '0.6.3' + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = """Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['230faa15c19a8aa0456028c327c9c00759d2ef5713096ee3a0eb82c85be8d9c2'], + }), +] + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter/', +} + +sanity_check_paths = { + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + ], + 'files': [], +} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..883460432b68 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '3.2.2' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.8.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('simpervisor', '0.4', { + 'checksums': ['cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5'], + }), + (name, version, { + 'checksums': ['54690ea9467035d187c930c599e76065017baf16e118e6eebae0d3a008c4d946'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-1.21.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-1.21.0-GCCcore-11.3.0.eb new file mode 100755 index 000000000000..b511014596ee --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-1.21.0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = '1.21.0' + +homepage = "https://jupyter.org/" +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('jupyter_server', version, { + 'checksums': ['d0adca19913a3763359be7f0b8c2ea8bfde356f4b8edd8e3149d7d0fbfaa248b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlab-lmod/jupyterlab-lmod-1.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyterlab-lmod/jupyterlab-lmod-1.0.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..b52bbae206b2 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlab-lmod/jupyterlab-lmod-1.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'Binary' + +name = 'jupyterlab-lmod' +version = '1.0.2' + +homepage = 'https://github.com/cmd-ntrf/jupyter-lmod' +description = """ JupyterLab extension that allows user to interact with environment modules +before launching kernels. The extension use Lmod's Python interface to accomplish +module related task like loading, unloading, saving collection, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://registry.npmjs.org/jupyterlab-lmod/-'] +sources = [SOURCE_TGZ] +checksums = ['f6db445f14741ef342f3dbc857afea1ea347893adb6bdbef9027c42522cfbf7a'] + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('jupyterlmod', '3.0.0'), +] + +# WARNING: this module of jupyterlab-lmod will replace the JupyterLab App directory (JUPYTERLAB_DIR) +# current version of jupyterlab-lmod can only be installed as source extension in JUPYTERLAB_DIR +# this is not an issue with the default installation of JupyterLab in EB as it has no apps/extensions +_jupyterlab_dir = '%(installdir)s/share/jupyter/lab' + +install_cmd = "mkdir -p %s && " % _jupyterlab_dir +install_cmd += "JUPYTERLAB_DIR=%s " % _jupyterlab_dir +install_cmd += "jupyter labextension install %s" % SOURCE_TGZ + +sanity_check_commands = [ + "jupyter labextension check %(name)s", +] + +sanity_check_paths = { + 'files': [], + 'dirs': ["%s/%s" % (_jupyterlab_dir, x) for x in ['extensions', 'schemas', 'staging', 'static', 'themes']], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + 'JUPYTERLAB_DIR': _jupyterlab_dir, +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-3.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-3.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..85768e925c3e --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-3.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'jupyterlmod' +version = '3.0.0' + +# This easyconfig only installs the notebook extension of Jupyter Lmod +# not the extension for Jupyter Lab + +homepage = 'https://github.com/cmd-ntrf/jupyter-lmod' +description = """Jupyter interactive notebook server extension that allows user to interact with +environment modules before launching kernels. The extension use Lmod's Python +interface to accomplish module related task like loading, unloading, saving +collection, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['da769078650766b1fca6ef1e673d15ddd6ce7428001e05cc364cba246a77c3fe'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..6257a6cbb8be --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +# Update: Thomas Hoffmann (EMBL) +## + +easyblock = 'CMakeMake' + +name = 'jxrlib' +version = '1.1' + +homepage = 'https://github.com/4creators/jxrlib' +description = """Open source implementation of jpegxr""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/'] +sources = ['%(name)s_%(version)s.orig.tar.gz'] +patches = [('jxrlib-%(version)s_cmake.patch', 1)] +checksums = [ + 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303', # jxrlib_1.1.orig.tar.gz + 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74', # jxrlib-1.1_cmake.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['JxrDecApp', 'JxrEncApp'] + +modextrapaths = {'CPATH': 'include/jxrlib'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/k/KITE/KITE-1.1-gompi-2022a.eb b/easybuild/easyconfigs/k/KITE/KITE-1.1-gompi-2022a.eb new file mode 100644 index 000000000000..cfd3b1b4d0f9 --- /dev/null +++ b/easybuild/easyconfigs/k/KITE/KITE-1.1-gompi-2022a.eb @@ -0,0 +1,40 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'KITE' +version = '1.1' + +homepage = 'https://github.com/quantum-kite/kite' +description = """KITE is an open-source Python/C++ software suite for efficient real-space tight-binding (TB) +simulations of electronic structure and bulk quantum transport properties of disordered systems scalable to +multi billions of atomic orbitals.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/quantum-kite/kite/archive/'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + 'a480fe46f2220ab6c2d6b9914e0673580121de703523dc22658fe50dc676e47e', # 1.1.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Eigen', '3.4.0'), + ('HDF5', '1.12.2'), +] + +sanity_check_paths = { + 'files': ['bin/KITEx'], + 'dirs': [], +} + +sanity_check_commands = ['KITEx |grep "^Starting program..."'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/k/KMCP/KMCP-0.9.1.eb b/easybuild/easyconfigs/k/KMCP/KMCP-0.9.1.eb new file mode 100644 index 000000000000..9afb54946de2 --- /dev/null +++ b/easybuild/easyconfigs/k/KMCP/KMCP-0.9.1.eb @@ -0,0 +1,24 @@ +easyblock = 'GoPackage' + +name = 'KMCP' +version = '0.9.1' + +homepage = 'https://bioinf.shenwei.me/kmcp' + +description = """ +KMCP: accurate metagenomic profiling of both prokaryotic and viral populations +by pseudo-mapping +""" + +toolchain = SYSTEM + +github_account = 'shenwei356' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e75012e82d0abf89971e4afbdf783829fd289da1c703dcee6a936ea9f4f1cf0a'] + +builddependencies = [('Go', '1.18.3')] + +installopts = './kmcp' + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022a.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022a.eb new file mode 100644 index 000000000000..1445dd5e9251 --- /dev/null +++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'KaHIP' +version = '3.14' + +homepage = 'https://kahip.github.io/' +description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ["lib/libkahip_static.a", "lib/libkahip.%s" % SHLIB_EXT] + + ["lib/libparhip_interface_static.a", "lib/libparhip_interface.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["kaHIP_interface.h", "parhip_interface.h"]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022b.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022b.eb new file mode 100644 index 000000000000..719fd73c34d8 --- /dev/null +++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022b.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'KaHIP' +version = '3.14' + +homepage = 'https://kahip.github.io/' +description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ["lib/libkahip_static.a", "lib/libkahip.%s" % SHLIB_EXT] + + ["lib/libparhip_interface_static.a", "lib/libparhip_interface.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["kaHIP_interface.h", "parhip_interface.h"]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..ecbb94f8b360 --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'Kaleido' +version = '0.2.1' + +homepage = 'https://github.com/plotly/Kaleido' +description = "Fast static image export for web-based visualization libraries with zero dependencies" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = ['kaleido-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl'] +checksums = ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..fda9c28356f5 --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +# Contribution from the NIHR Biomedical Research Centre +easyblock = 'CMakeMake' + +name = 'Kalign' +version = '3.3.5' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['75f3a127d2a9eef1eafd931fb0785736eb3f82826be506e7edd00daf1ba26212'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['bin/kalign'], + 'dirs': [], +} + +sanity_check_commands = ["kalign --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb index f9110e0bf893..49423ef59293 100644 --- a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb @@ -23,6 +23,7 @@ dependencies = [ ('util-linux', '2.36'), ] +prebuildopts = 'sed -i "s/rsync -a /cp /" %(builddir)s/userApps/kent/src/parasol/makefile && ' buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' buildopts += 'MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb index 23a32baffb95..7f53d9e08561 100644 --- a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb @@ -24,6 +24,7 @@ dependencies = [ ('OpenSSL', '1.1', '', SYSTEM), ] +prebuildopts = 'sed -i "s/rsync -a /cp /" %(builddir)s/userApps/kent/src/parasol/makefile && ' buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' buildopts += 'MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb index 866d7dadb81c..a971d0c16842 100644 --- a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb @@ -27,6 +27,7 @@ dependencies = [ ('freetype', '2.11.0'), ] +prebuildopts = 'sed -i "s/rsync -a /cp /" %(builddir)s/userApps/kent/src/parasol/makefile && ' buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442-GCC-11.3.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442-GCC-11.3.0.eb new file mode 100644 index 000000000000..9f19803cbeb7 --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442-GCC-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '442' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +patches = ['%(name)s-442_openssl.patch'] +checksums = [ + {'userApps.v442.src.tgz': 'c54711b4a4c35de3c8c3094ed21b95a8b330e4132e19ef4c21020b24406d910c'}, + {'Kent_tools-442_openssl.patch': '219ff93006553098c21d5ff05248163c952a5086e2547b2b29f88a2d1a0a2e53'}, +] + +dependencies = [ + ('MariaDB', '10.9.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('util-linux', '2.38'), + ('OpenSSL', '1.1', '', SYSTEM), + ('freetype', '2.12.1'), +] + +prebuildopts = 'sed -i "s/rsync -a /cp -a /" %(builddir)s/userApps/kent/src/parasol/makefile && ' + +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s 2>&1 | grep '^usage:'" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442_openssl.patch b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442_openssl.patch new file mode 100644 index 000000000000..7d41735813ce --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442_openssl.patch @@ -0,0 +1,60 @@ +Patch to ensure SSL will be picked up by EasyBuild and not the OS. Important for older OpenSSL versions +original Author: J. Sassmannshausen / GSTT +updated for v442 by Samuel Moors (Vrije Universiteit Brussel) +diff -ur userApps.orig/kent/src/inc/common.mk userApps/kent/src/inc/common.mk +--- userApps.orig/kent/src/inc/common.mk 2023-01-18 01:19:26.000000000 +0100 ++++ userApps/kent/src/inc/common.mk 2023-02-01 14:06:02.404382429 +0100 +@@ -133,7 +133,7 @@ + ifneq (${SSL_DIR}, "/usr/include/openssl") + ifneq ($(UNAME_S),Darwin) + ifneq ($(wildcard ${SSL_DIR}),) +- L+=-L${SSL_DIR}/lib ++ L+=-L${SSL_DIR}/lib -lssl -lcrypto + endif + endif + HG_INC+=-I${SSL_DIR}/include +@@ -142,44 +142,6 @@ + ifeq (${IS_HGWDEV},yes) + L+=/hive/groups/browser/freetype/freetype-2.10.0/objs/.libs/libfreetype.a -lbz2 + L+=/usr/lib64/libssl.a /usr/lib64/libcrypto.a -lkrb5 -lk5crypto -ldl +-else +- ifeq (${CONDA_BUILD},1) +- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl +- else +- ifneq ($(wildcard /opt/homebrew/Cellar/openssl@3/3.0.7/lib/libssl.a),) +- L+=/opt/homebrew/Cellar/openssl@3/3.0.7/lib/libssl.a +- else +- ifneq ($(wildcard /opt/local/lib/libssl.a),) +- L+=/opt/local/lib/libssl.a +- else +- ifneq ($(wildcard /usr/lib/x86_64-linux-gnu/libssl.a),) +- L+=/usr/lib/x86_64-linux-gnu/libssl.a +- else +- ifneq ($(wildcard /usr/local/opt/openssl/lib/libssl.a),) +- L+=/usr/local/opt/openssl/lib/libssl.a +- else +- L+=-lssl +- endif +- endif +- endif +- endif +- ifneq ($(wildcard /opt/homebrew/Cellar/openssl@3/3.0.7/lib/libcrypto.a),) +- L+=/opt/homebrew/Cellar/openssl@3/3.0.7/lib/libcrypto.a +- else +- ifneq ($(wildcard /opt/local/lib/libcrypto.a),) +- L+=/opt/local/lib/libcrypto.a +- else +- ifneq ($(wildcard /usr/local/opt/openssl/lib/libcrypto.a),) +- L+=/usr/local/opt/openssl/lib/libcrypto.a +- else +- L+=-lcrypto +- endif +- endif +- endif +- ifneq ($(wildcard /opt/homebrew/Cellar/zstd/1.5.2/lib/libzstd.a),) +- L+=/opt/homebrew/Cellar/zstd/1.5.2/lib/libzstd.a +- endif +- endif + endif + + # autodetect where libm is installed diff --git a/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 000000000000..f8e15be69549 --- /dev/null +++ b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'Keras' +version = '2.4.3' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-2.5.0' + +homepage = 'https://keras.io/' +description = """ +Keras is a deep learning API written in Python, running on top of the machine learning platform TensorFlow. +""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('Theano', '1.1.2', '-PyMC'), + ('PyYAML', '5.3.1'), + ('TensorFlow', local_tf_version), # provides h5py 2.1.0 +] + +use_pip = True + +exts_list = [ + ('Keras_Applications', '1.0.8', { + 'checksums': ['5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + (name, version, { + 'checksums': ['fedd729b52572fb108a98e3d97e1bac10a81d3917d2103cc20ab2a5f03beb973'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..49027ca7778e --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PackedBinary' + +name = 'Kraken' +version = '1.1.1' + +homepage = 'https://ccb.jhu.edu/software/%(namelower)s/' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# Part is compiled with CXX, the rest is in Perl +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.1_CXX-CXXFLAGS.patch'] +checksums = [ + '73e48f40418f92b8cf036ca1da727ca3941da9b78d4c285b81ba3267326ac4ee', # v1.1.1.tar.gz + '84c017d6a80ccaac1e23561c83cac90bcc3d62baa8d31657a7dafbc2c3f29726', # Kraken-1.1.1_CXX-CXXFLAGS.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('wget', '1.21.3'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_%(namelower)s.sh %(installdir)s' + +sanity_check_paths = { + 'files': ['add_to_library.sh', 'build_kraken_db.sh', 'check_for_jellyfish.sh', 'classify', 'clean_db.sh', + 'cp_into_tempfile.pl', 'db_shrink', 'db_sort', 'download_genomic_library.sh', + 'download_taxonomy.sh', 'kraken', 'kraken-build', 'kraken-filter', 'krakenlib.pm', + 'kraken-mpa-report', 'kraken-report', 'kraken-translate', 'make_seqid_to_taxid_map', + 'read_merger.pl', 'report_gi_numbers.pl', 'set_lcas', 'shrink_db.sh', + 'standard_installation.sh', 'upgrade_db.sh', 'verify_gi_numbers.pl'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2022a.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2022a.eb new file mode 100644 index 000000000000..9ed7324537c9 --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2022a.eb @@ -0,0 +1,70 @@ +easyblock = 'PackedBinary' + +name = 'Kraken2' +version = '2.1.2' + +homepage = 'https://github.com/DerrickWood/kraken2/wiki' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# part is compiled with $CXX, the rest is in Perl +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'openmp': True, 'cstd': 'c++11'} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-2.1.1_fix_installation_for_easybuild.patch', + '%(name)s-%(version)s_fix_ncbi_https_server.patch', +] +checksums = [ + 'e5f431e8bc3d5493a79e1d8125f4aacbad24f9ea2cc9657b66da06a32bef6ff3', # v2.1.2.tar.gz + # Kraken2-2.1.1_fix_installation_for_easybuild.patch + '5ea9093becbdf7705a29fd2e56050118700c850ac5374aae5ee9b5e5924d3a11', + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch +] + +dependencies = [ + ('Perl', '5.34.1'), + ('BLAST+', '2.13.0'), + ('wget', '1.21.3'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_kraken2.sh %(installdir)s/bin' + +# Kraken2 databases can be downloaded from https://benlangmead.github.io/aws-indexes/k2 +# or built as described in https://github.com/DerrickWood/kraken2/wiki/Manual#kraken-2-databases +# The following commands will build and install the standard databases (100GB) in local_db_path +# local_db_path = '%(installdir)s/db' +# postinstallcmds = [ +# 'mkdir %s' % local_db_path, +# 'cd %%(installdir)s/bin && ./kraken2-build --standard --threads %%(parallel)s --db %s' % local_db_path, +# ] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + '16S_gg_installation.sh', '16S_rdp_installation.sh', '16S_silva_installation.sh', 'add_to_library.sh', + 'build_db', 'build_gg_taxonomy.pl', 'build_kraken2_db.sh', 'build_rdp_taxonomy.pl', 'build_silva_taxonomy.pl', + 'classify', 'clean_db.sh', 'cp_into_tempfile.pl', 'download_genomic_library.sh', 'download_taxonomy.sh', + 'dump_table', 'estimate_capacity', 'kraken2', 'kraken2-build', 'kraken2-inspect', 'kraken2lib.pm', + 'lookup_accession_numbers.pl', 'make_seqid2taxid_map.pl', 'mask_low_complexity.sh', 'rsync_from_ncbi.pl', + 'scan_fasta_file.pl']], + 'dirs': [], +} + +sanity_check_commands = [ + 'kraken2 --help', + 'kraken2-build --help', + 'kraken2-inspect --help', + 'build_db -h', + 'classify -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.3-GCC-11.3.0.eb b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..7e0b6557dddb --- /dev/null +++ b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.3-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'KrakenUniq' +version = '1.0.3' + +homepage = 'https://github.com/fbreitwieser/krakenuniq/' +description = """KrakenUniq: confident and fast metagenomics classification using unique k-mer counts""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'fbreitwieser' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['559b45081688118b4872e1b9153f83d0ae3414649a1b299ab4f9996d9e154403'] + +dependencies = [ + ('Jellyfish', '2.3.0'), + ('Perl', '5.34.1'), + ('bzip2', '1.0.8'), + ('Compress-Raw-Zlib', '2.202'), +] + +extract_sources = True + +install_cmd = './install_krakenuniq.sh -l %(installdir)s/bin %(installdir)s ' + +sanity_check_commands = [ + 'krakenuniq --version', + 'krakenuniq-download --db %(installdir)s/DBDIR taxonomy && rm -r %(installdir)s/DBDIR' +] +sanity_check_paths = { + 'files': ['bin/krakenuniq', 'bin/krakenuniq-build', 'bin/krakenuniq-report'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8eb58d4954b6 --- /dev/null +++ b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# this is a bug fix to make sure the symlinks in bin are not getting destroyed +# by Easybuild when it is tidying up +# This build also links updateTaxonomy.sh and updateAccessions.sh in the bin folder +# so users can install their own Taxonomy database + +easyblock = 'Tarball' + +name = 'KronaTools' +version = '2.8.1' + +homepage = 'https://github.com/marbl/Krona/wiki/KronaTools' +description = """Krona Tools is a set of scripts to create Krona charts from +several Bioinformatics tools as well as from text and XML files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/marbl/Krona/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['f3ab44bf172e1f846e8977c7443d2e0c9676b421b26c50e91fa996d70a6bfd10'] + +dependencies = [('Perl', '5.34.1')] + +postinstallcmds = [ + "cd %(installdir)s && ./install.pl --prefix=%(installdir)s;", + "cd %(installdir)s/bin && ln -s ../updateAccessions.sh . && ln -s ../updateTaxonomy.sh .", +] + +sanity_check_paths = { + 'files': ['bin/ktClassifyBLAST', 'bin/ktImportBLAST', 'bin/ktImportTaxonomy', + 'bin/updateAccessions.sh', 'bin/updateTaxonomy.sh'], + 'dirs': ['data', 'img', 'scripts'], +} + +sanity_check_commands = [ + "updateAccessions.sh --help", + "ktImportText", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2022a.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2022a.eb new file mode 100644 index 000000000000..18ebd60e3a9b --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2022a.eb @@ -0,0 +1,50 @@ +# 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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['kallisto-%(version)s_use-external-htslib.patch'] +checksums = [ + {'v0.48.0.tar.gz': '1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0'}, + {'kallisto-0.48.0_use-external-htslib.patch': 'fa9a96c7f8731006b6c87e1397429a292ebb3aa3e5d3db4fc9520d8c8a13f920'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('HTSlib', '1.15.1'), +] + +parallel = 1 + +configopts = '-DUSE_HDF5=ON' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = [ + "kallisto version", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto index -i ts.idx transcripts.fasta.gz", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto quant -i ts.idx -o out -b 100 reads_{1,2}.fastq.gz", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0_use-external-htslib.patch b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0_use-external-htslib.patch new file mode 100644 index 000000000000..87a4f6a0e314 --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0_use-external-htslib.patch @@ -0,0 +1,74 @@ +Use external HTSlib from EasyBuild environment +author: Alex Domingo (Vrije Univeristeit Brussel) +--- CMakeLists.txt.orig 2023-02-21 14:15:06.928502000 +0100 ++++ CMakeLists.txt 2023-02-21 14:20:48.902166000 +0100 +@@ -41,22 +41,6 @@ + message("shared build") + ENDIF(LINK MATCHES static) + +- +-include(ExternalProject) +-ExternalProject_Add(htslib +- PREFIX ${PROJECT_SOURCE_DIR}/ext/htslib +- SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/htslib +- BUILD_IN_SOURCE 1 +- CONFIGURE_COMMAND autoheader && autoconf && ${PROJECT_SOURCE_DIR}/ext/htslib/configure +- --prefix=${PREFIX} --disable-bz2 --disable-lzma --disable-libcurl +- BUILD_COMMAND make lib-static +- INSTALL_COMMAND "" +-) +- +-include_directories(${htslib_PREFIX}/src/htslib) +- +- +- + # add_compile_options(-Wdeprecated-register) + + add_subdirectory(src) +--- src/CMakeLists.txt.orig 2023-02-21 14:20:56.996543000 +0100 ++++ src/CMakeLists.txt 2023-02-21 15:10:35.835647000 +0100 +@@ -3,7 +3,7 @@ + + list(REMOVE_ITEM sources main.cpp) + +-include_directories(../ext/htslib) ++include_directories(SYSTEM $ENV{EBROOTHTSLIB}/include) + + add_library(kallisto_core ${sources} ${headers}) + target_include_directories(kallisto_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +@@ -11,7 +11,8 @@ + add_executable(kallisto main.cpp) + + find_package( Threads REQUIRED ) +-target_link_libraries(kallisto kallisto_core pthread ${CMAKE_CURRENT_SOURCE_DIR}/../ext/htslib/libhts.a) ++find_library($ENV{EBROOTHTSLIB}/lib hts) ++target_link_libraries(kallisto kallisto_core pthread hts) + + if(LINK MATCHES static) + set(BUILD_SHARED_LIBS OFF) +--- src/kseq.h.orig 2023-02-21 15:34:20.910947000 +0100 ++++ src/kseq.h 2023-02-21 17:09:01.242218765 +0100 +@@ -28,6 +28,8 @@ + #include + #include + ++#include "htslib/kstring.h" ++ + #define KS_SEP_SPACE 0 // isspace(): \t, \n, \v, \f, \r + #define KS_SEP_TAB 1 // isspace() && !' ' + #define KS_SEP_LINE 2 // line separator: "\n" (Unix) or "\r\n" (Windows) +@@ -74,14 +76,6 @@ + return (int)ks->buf[ks->begin++]; \ + } + +-#ifndef KSTRING_T +-#define KSTRING_T kstring_t +-typedef struct __kstring_t { +- size_t l, m; +- char *s; +-} kstring_t; +-#endif +- + #ifndef kroundup32 + #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) + #endif diff --git a/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2021b.eb b/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2021b.eb new file mode 100644 index 000000000000..5095d96038d9 --- /dev/null +++ b/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'kb-python' +version = '0.27.3' + +homepage = 'https://www.kallistobus.tools/' +description = """kallisto | bustools is a workflow for pre-processing single-cell RNA-seq data. + Pre-processing single-cell RNA-seq involves: (1) association of reads with their cells of origin, + (2) collapsing of reads according to unique molecular identifiers (UMIs), and (3) generation of + gene or feature counts from the reads to generate a cell x gene matrix.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('h5py', '3.6.0'), + ('IPython', '7.26.0'), + ('loompy', '3.0.7'), + ('Pysam', '0.17.0'), + ('Python', '3.9.6'), + ('scanpy', '1.8.2'), + ('scikit-learn', '1.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('shortuuid', '1.0.11', { + 'checksums': ['fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789'], + }), + ('ngs-tools', '1.8.3', { + 'checksums': ['c50e36105654cdea14b4c7971994a3e710157663aaf0fd72c4d83a486f12cdb0'], + }), + ('tenacity', '8.1.0', { + 'checksums': ['e48c437fdf9340f5666b92cd7990e96bc5fc955e1298baf4a907e3972067a445'], + }), + ('plotly', '5.13.0', { + 'checksums': ['81a3aae4021d5ab91790fc71c3433791f41bfc71586e857f7777f429a955039a'], + }), + (name, version, { + 'sources': ['kb_python-%(version)s.tar.gz'], + 'checksums': ['dc98f6ceb4402d666b7e0d19be17c63d33e8b710a35cdc33de7c0f457122f43f'], + }), +] + +sanity_check_commands = ['kb info | grep "kb_python %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-11.3.0.eb b/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..45b6114f29de --- /dev/null +++ b/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'kineto' +version = '0.4.0' + +homepage = 'https://github.com/pytorch/kineto' +description = "A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/pytorch/kineto/archive/'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.4', '-bare'), +] + +start_dir = 'libkineto' + +sanity_check_paths = { + 'files': ['lib/libkineto.a'], + 'dirs': ['include/kineto'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..fe21c19fe3a2 --- /dev/null +++ b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'krbalancing' +version = '0.5.0b0' + +homepage = 'https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm' +description = "A C++ extension for Python which computes K.R. balanced matrices." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('pybind11', '2.9.2'), + ('conan', '1.58.0'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/dilawar/Knight-Ruiz-Matrix-balancing-algorithm/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'patches': ['krbalancing-0.5.0b0_fix-CMakeLists.patch'], + 'checksums': [ + {'krbalancing-0.5.0b0.tar.gz': 'b53d7cd1e84759b0dde7a6fa277d4ffe9bdbaead65db9a9a06aa2653ff0594ea'}, + {'krbalancing-0.5.0b0_fix-CMakeLists.patch': + '6950ef427402c26a403fb97f3b44f0cd3d29f01f0c41b0c3b7b2da3f0bbbee00'}, + ], + 'preinstallopts': "export CONAN_USER_HOME=%(builddir)s && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0_fix-CMakeLists.patch b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0_fix-CMakeLists.patch new file mode 100644 index 000000000000..cef69f9315ca --- /dev/null +++ b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0_fix-CMakeLists.patch @@ -0,0 +1,42 @@ +remove workaround for problem with conan and pybind11 (which is fixed in recent conan versions), +and fix for: ERROR: No remote 'conan-center' defined in remotes +author: Kenneth Hoste (HPC-UGent) +see also https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm/issues/24 +--- Knight-Ruiz-Matrix-balancing-algorithm-0.5.0b0/CMakeLists.txt.orig 2023-02-15 10:51:06.719532727 +0100 ++++ Knight-Ruiz-Matrix-balancing-algorithm-0.5.0b0/CMakeLists.txt 2023-02-15 10:50:25.589499665 +0100 +@@ -27,31 +27,20 @@ + message(STATUS " project version ${CMAKE_PROJECT_VERSION}") + add_definitions(-DCMAKE_PROJECT_VERSION=\"${CMAKE_PROJECT_VERSION}\") + +-# pybind11 config file has a bug that makes is impossible to use with +-# conan_cmake_configure. +-# https://github.com/conan-io/conan-center-index/pull/4445 + conan_cmake_configure(REQUIRES +- # pybind11/2.6.1 ++ pybind11/2.6.1 + eigen/3.3.9 + GENERATORS cmake_find_package) +-# find_package(pybind11 REQUIRED) + + conan_cmake_autodetect(settings) + conan_cmake_install(PATH_OR_REFERENCE . + BUILD missing +- REMOTE conan-center ++ REMOTE conancenter + SETTINGS ${settings}) + ++find_package(pybind11 REQUIRED) + find_package(Eigen3 REQUIRED) + +- +-# hack around pybind11 bug +-# https://github.com/conan-io/conan-center-index/pull/4445 +-conan_cmake_run(REQUIRES pybind11/2.6.1 +- BASIC_SETUP NO_OUTPUT_DIRS CMAKE_TARGETS +- BUILD missing) +- +- + pybind11_add_module(krbalancing src/krbalancing.cpp) +-target_link_libraries(krbalancing PRIVATE Eigen3::Eigen CONAN_PKG::pybind11) ++target_link_libraries(krbalancing PRIVATE Eigen3::Eigen pybind11::pybind11) + target_link_libraries(krbalancing PRIVATE OpenMP::OpenMP_CXX) diff --git a/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb index e7a9e16bb550..40c4ad013931 100644 --- a/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb @@ -32,6 +32,8 @@ sanity_check_paths = { 'dirs': ['share'], } -sanity_check_commands = [("prover9 -h 2>&1 | grep 'Usage: prover9 \[-h\] \[-x\] \[-p\] \[-t \] \[-f \]'", '')] +sanity_check_commands = [( + r"prover9 -h 2>&1 | grep 'Usage: prover9 \[-h\] \[-x\] \[-p\] \[-t \] \[-f \]'", '' +)] moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4008e0b34555 --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + {'lame-3.100.tar.gz': 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e'}, + {'LAME-3.99.5_check-tgetent.patch': '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [('ncurses', '6.3')] + +preconfigopts = "autoconf && " + +# configure is broken: add workaround to find libncurses... +configure_cmd_prefix = "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LASSO-Python/LASSO-Python-2.0.0-foss-2022b.eb b/easybuild/easyconfigs/l/LASSO-Python/LASSO-Python-2.0.0-foss-2022b.eb new file mode 100644 index 000000000000..df13c6cd070c --- /dev/null +++ b/easybuild/easyconfigs/l/LASSO-Python/LASSO-Python-2.0.0-foss-2022b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'LASSO-Python' +version = '2.0.0' + +homepage = 'https://open-lasso-python.github.io/lasso-python/' +description = """This python library is designed for general purpose usage in +the field of Computer Aided Engineering (CAE). It's name originates from the +original initiator and donator of the project Lasso GmbH. The library is now +maintained by an open-source community.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('h5py', '3.8.0'), + ('SciPy-bundle', '2023.02'), + ('plotly.py', '5.13.1'), + ('matplotlib', '3.7.0'), + ('scikit-learn', '1.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.2.0', { + 'modulename': 'markdown_it', + 'checksums': ['7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + (name, version, { + 'modulename': 'lasso', + 'source_tmpl': 'lasso_python-%(version)s.tar.gz', + 'checksums': ['67776e1876764680ac179fb750695aac63ecdbdf4f1ac8439f7e76fa3956727c'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..b1976a9c3c2b --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'LERC' +version = '3.0' + +homepage = 'https://github.com/Esri/lerc' +description = """LERC is an open-source image or raster format which supports rapid encoding and decoding +for any pixel type (not just RGB or Byte). Users set the maximum compression error per pixel while encoding, +so the precision of the original input image is preserved (within user defined error bounds).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8c0148f5c22d823eff7b2c999b0781f8095e49a7d3195f13c68c5541dd5740a1'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +postinstallcmds = [ + "cd %(builddir)s/lerc-%(version)s/src/LercTest && sed -i -e 's@../LercLib/include/@@' main.cpp", + "cp %(builddir)s/lerc-%(version)s/src/LercTest/main.cpp %(installdir)s/test.c", +] + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cd %(builddir)s && g++ %(installdir)s/test.c -o lerctest -lLerc && ./lerctest", +] + +sanity_check_paths = { + 'files': ['include/Lerc_c_api.h', 'include/Lerc_types.h', 'lib/libLerc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6c38a24f2d41 --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'LERC' +version = '4.0.0' + +homepage = 'https://github.com/Esri/lerc' +description = """LERC is an open-source image or raster format which supports rapid encoding and decoding +for any pixel type (not just RGB or Byte). Users set the maximum compression error per pixel while encoding, +so the precision of the original input image is preserved (within user defined error bounds).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +postinstallcmds = [ + "cd %(builddir)s/lerc-%(version)s/src/LercTest && sed -i -e 's@../LercLib/include/@@' main.cpp", + "cp %(builddir)s/lerc-%(version)s/src/LercTest/main.cpp %(installdir)s/test.c", +] + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cd %(builddir)s && g++ %(installdir)s/test.c -o lerctest -lLerc && ./lerctest", +] + +sanity_check_paths = { + 'files': ['include/Lerc_c_api.h', 'include/Lerc_types.h', 'lib/libLerc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.3-GCC-11.3.0.eb b/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..3bcded3044d4 --- /dev/null +++ b/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.3-GCC-11.3.0.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'LHAPDF' +version = '6.5.3' + +homepage = 'http://lhapdf.hepforge.org/' +description = """ +Les Houches Parton Density Function + +LHAPDF is the standard tool for evaluating parton distribution functions (PDFs) in high-energy physics. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hepforge.org/archive/lhapdf/'] +sources = [SOURCE_TAR_GZ] +checksums = ['57435cd695e297065d53e69bd29090765c934936b6a975ff8c559766f2230359'] + +dependencies = [ + ('Python', '3.10.4'), +] + +configopts = "--disable-static --enable-python" + +sanity_check_paths = { + 'files': ["bin/lhapdf", "bin/lhapdf-config", "lib/libLHAPDF.%s" % SHLIB_EXT], + 'dirs': ["share/LHAPDF"], +} + +sanity_check_commands = [ + "lhapdf --version", + "lhapdf-config --version", + "python -c 'import lhapdf'", +] + +modloadmsg = """ +To use/install your own PDF data, you need to adjust the $LHAPDF_DATA_PATH: +export LHAPDF_DATA_PATH=/local/.../path/:$LHAPDF_DATA_PATH` +Then you can run `lhapdf update` followed by `lhapdf install your_pdf`. +""" + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + # 'LHAPDF_DATA_PATH': '/path/to/share/LHAPDF/', # please adapt +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d58a61173b84 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM' +version = '3.30' + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression + (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'cjlin1' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +patches = [ + 'LIBSVM-3.23_shared_lib.patch', + 'LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch', +] +checksums = [ + {'v330.tar.gz': 'e4fe41308c87cc210aec73e4f5f0fb4da14234d90e7a131763fbad3788ca2d80'}, + {'LIBSVM-3.23_shared_lib.patch': 'c0ede89365949644f5d7f11382a3f176fd76317c7f5ae5769226ff7c3a801fe6'}, + {'LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch': + 'f51e4d0b6899041799f43a09aad1e3711a93615a8cc453243042ed8357cabb28'}, +] + +dependencies = [('binutils', '2.38')] + +local_bins = ['svm-%s' % x for x in ['predict', 'scale', 'train']] + +files_to_copy = [ + (local_bins, 'bin'), + (['svm.o'], 'lib'), + (['libsvm*'], 'lib'), + (['svm.h'], 'include/libsvm'), + 'tools' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + ['lib/libsvm.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch new file mode 100644 index 000000000000..d79d00d78a00 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch @@ -0,0 +1,83 @@ +Taken from https://github.com/cossorzano/libsvm which Xmipp uses. + +Also added "using namespace libsvm" to svm-train.c and svm-predict.c + +Åke Sandgren 2022-10-19 + +commit 2a0db2ec1330db8cd45bf5ba7d55d850ce5c8318 +Author: Carlos Oscar Sorzano +Date: Fri Nov 5 13:37:31 2021 +0100 + + Namespace added + +diff --git a/svm.cpp b/svm.cpp +index fa44818..814b1b6 100644 +--- a/svm.cpp ++++ b/svm.cpp +@@ -1,3 +1,7 @@ ++/* This file has been taken from LibSVM 3.25 */ ++/* Authors: Chih-Chung Chang and Chih-Jen Lin, LIBSVM :*/ ++/* Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm */ ++ + #include + #include + #include +@@ -8,6 +12,8 @@ + #include + #include + #include "svm.h" ++using namespace libsvm; ++ + int libsvm_version = LIBSVM_VERSION; + typedef float Qfloat; + typedef signed char schar; +diff --git a/svm.h b/svm.h +index 5dfc1f7..ba47063 100644 +--- a/svm.h ++++ b/svm.h +@@ -1,3 +1,7 @@ ++/* This file has been taken from LibSVM 3.25 */ ++/* Authors: Chih-Chung Chang and Chih-Jen Lin, LIBSVM : */ ++/* Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm */ ++ + #ifndef _LIBSVM_H + #define _LIBSVM_H + +@@ -22,8 +26,10 @@ struct svm_problem + struct svm_node **x; + }; + +-enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR }; /* svm_type */ +-enum { LINEAR, POLY, RBF, SIGMOID, PRECOMPUTED }; /* kernel_type */ ++namespace libsvm { ++ enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR }; /* svm_type */ ++ enum { LINEAR, POLY, RBF, SIGMOID, PRECOMPUTED }; /* kernel_type */ ++} + + struct svm_parameter + { +diff --git a/svm-train.c b/svm-train.c +index b6ce987..064c29b 100644 +--- a/svm-train.c ++++ b/svm-train.c +@@ -4,6 +4,8 @@ + #include + #include + #include "svm.h" ++using namespace libsvm; ++ + #define Malloc(type,n) (type *)malloc((n)*sizeof(type)) + + void print_null(const char *s) {} +diff --git a/svm-predict.c b/svm-predict.c +index 7a0fa15..328f815 100644 +--- a/svm-predict.c ++++ b/svm-predict.c +@@ -4,6 +4,7 @@ + #include + #include + #include "svm.h" ++using namespace libsvm; + + int print_null(const char *s,...) {return 0;} + diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-15.0.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-15.0.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..fad97fede298 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-15.0.5-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +name = 'LLVM' +version = '15.0.5' + +homepage = "https://llvm.org/" +description = """The LLVM Core libraries provide a modern source- and target-independent + optimizer, along with code generation support for many popular CPUs + (as well as some less common ones!) These libraries are built around a well + specified code representation known as the LLVM intermediate representation + ("LLVM IR"). The LLVM Core libraries are well documented, and it is + particularly easy to invent your own language (or port an existing compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'cstd': 'gnu++11', 'pic': True} + +source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'cmake-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-15.0.5.src.tar.xz': '4428688b567ab1c9911aa9e13cb44c9bc1b14431713c14de491e10369f2b0370'}, + {'cmake-15.0.5.src.tar.xz': '61a9757f2fb7dd4c992522732531eb58b2bb031a2ca68848ff1cfda1fc07b7b3'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/llvm-ar', 'bin/FileCheck'], + 'dirs': ['include/llvm', 'include/llvm-c'], +} + +sanity_check_commands = ["llvm-ar --help"] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c13e24fcc530 --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +# Updated to v2.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'LSD2' +version = '2.3' + +homepage = 'https://github.com/tothuhien/lsd2' +description = "Least-squares methods to estimate rates and dates from phylogenies" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'tothuhien' + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v.%(version)s.tar.gz'] +patches = ['%(name)s-1.9.7_fix_cmake_to_build_lib_and_binary.patch'] +checksums = [ + 'c7819be1204ebf77e3660bba91dbd8629ba9437216814f276a11b9156dbb0649', # v.2.3.tar.gz + # LSD2-1.9.7_fix_cmake_to_build_lib_and_binary.patch + '8ef6e8c3a9a5aa2099678ed84a7e54ef687e3900894694c4eec1f5399f0487f6', +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/lsd2', 'lib/liblsd2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LTR_retriever/LTR_retriever-2.9.0-foss-2022a.eb b/easybuild/easyconfigs/l/LTR_retriever/LTR_retriever-2.9.0-foss-2022a.eb new file mode 100644 index 000000000000..c101180486ca --- /dev/null +++ b/easybuild/easyconfigs/l/LTR_retriever/LTR_retriever-2.9.0-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'LTR_retriever' +version = '2.9.0' + +homepage = 'https://github.com/oushujun/LTR_retriever' +description = """LTR_retriever is a highly accurate and sensitive program for + identification of LTR retrotransposons; The LTR Assembly Index (LAI) is also + included in this package. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'oushujun' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2d94f6179c33990a77fa9fdcefb842c8481b4c30833c9c12cbbe54cb3fdda73'] + +dependencies = [ + ('Perl', '5.34.1'), + ('BLAST+', '2.13.0'), + ('RepeatMasker', '4.1.4'), + ('HMMER', '3.3.2'), + ('CD-HIT', '4.8.1'), + ('TRF', '4.09.1'), +] + +sanity_check_paths = { + 'files': ['LTR_retriever'], + 'dirs': ['bin', 'database'], +} + +sanity_check_commands = [("LTR_retriever -h 2>&1 | grep 'Usage: LTR_retriever'", '')] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e1ced572aa53 --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.39')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/Lace/Lace-1.14.1-foss-2022a.eb b/easybuild/easyconfigs/l/Lace/Lace-1.14.1-foss-2022a.eb new file mode 100644 index 000000000000..16441a8ab891 --- /dev/null +++ b/easybuild/easyconfigs/l/Lace/Lace-1.14.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'Lace' +version = '1.14.1' + +homepage = 'https://github.com/Oshlack/Lace' +description = "Building SuperTranscripts: A linear representation of transcriptome data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Oshlack/Lace/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['79629e1cb0b7f21c9767daa24fd8cdc229d6b1c45e5e361e80ae9211678366f5'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('BLAT', '3.7'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'Lace'} + +sanity_check_paths = { + 'files': ['bin/Lace'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["Lace -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/Leptonica/Leptonica-1.83.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.83.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d4743b6cc7dd --- /dev/null +++ b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.83.0-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'Leptonica' +version = '1.83.0' + +homepage = 'http://www.leptonica.org' +description = """Leptonica is a collection of pedagogically-oriented open source software + that is broadly useful for image processing and image analysis applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/DanBloomberg/leptonica/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['206591dd58cf84ef380836dad133b58c9d1af92491f5a9825c346a162044bcfe'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('giflib', '5.2.1'), + ('libwebp', '1.2.4'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/convertformat'], + 'dirs': ['include/leptonica', 'lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..635408463486 --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'ConfigureMake' + +name = 'LibLZF' +version = '3.6' + +homepage = 'http://oldhome.schmorp.de/marc/liblzf.html' +description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files +and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still +written in portable C.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['http://dist.schmorp.de/liblzf/Attic/'] +sources = ['liblzf-%(version)s.tar.gz'] +checksums = ['9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +sanity_check_commands = ['lzf -h'] + +sanity_check_paths = { + 'files': ['bin/lzf', 'lib/liblzf.a'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.8-GCC-11.3.0.eb b/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.8-GCC-11.3.0.eb new file mode 100644 index 000000000000..98036c143ffa --- /dev/null +++ b/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.8-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MesonNinja' + +name = 'LibSoup' +version = '3.0.8' + +homepage = 'https://wiki.gnome.org/Projects/libsoup' +description = """libsoup is an HTTP client/server library for GNOME. It +uses GObjects and the glib main loop, to integrate well with GNOME +applications, and also has a synchronous API, for use in threaded +applications.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'gnu11'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c8739dc1c23c2b1e3b816d7598b3fa1764a3e1a2a2f5257b1bc4466d867caced'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.72.0'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('libxml2', '2.9.13'), + ('SQLite', '3.38.3'), + ('GLib', '2.72.1'), + ('libpsl', '0.21.1'), + ('cURL', '7.83.0'), + ('GnuTLS', '3.7.8'), + ('nghttp2', '1.48.0'), + ('glib-networking', '2.72.1'), + ('Brotli', '1.0.9'), +] + +sanity_check_paths = { + 'files': ['lib/libsoup-3.0.%s' % SHLIB_EXT], + 'dirs': ['include/libsoup-3.0/libsoup/', 'lib/pkgconfig'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.4.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b2fb13f5ec33 --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.4.0' + +homepage = 'https://libtiff.gitlab.io/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/libtiff/'] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.4'), + ('XZ', '5.2.7'), + ('jbigkit', '2.1'), + ('zstd', '1.5.2'), + ('libdeflate', '1.15'), +] + +configopts = "--enable-ld-version-script " +configopts += '--disable-webp' + +sanity_check_paths = { + 'files': ['bin/tiffinfo'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.14-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.14-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..36dfc68a3237 --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.14-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.14' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('libjpeg-turbo', '2.1.4')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["jpgicc --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb new file mode 100644 index 000000000000..9de77dd4e7b8 --- /dev/null +++ b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'LoRDEC' +version = '0.9' + +homepage = 'https://www.lirmm.fr/~rivals/lordec' +description = """Program for correcting sequencing errors in long reads (e.g., PacBio, Oxford Nanopore) using highly +accurate short reads (e.g., Illumina).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://gite.lirmm.fr/lordec/lordec-releases/uploads/800a96d81b3348e368a0ff3a260a88e1/'] +sources = ['lordec-src_%(version)s.tar.bz2'] +patches = [ + 'LoRDEC-0.9_GATB.patch', + 'LoRDEC-0.9_GraphVector.patch', +] +checksums = [ + {'lordec-src_0.9.tar.bz2': '8108b82a8404fbf44c7e300d3abb43358ccc28993f90546168a20ca82536923b'}, + {'LoRDEC-0.9_GATB.patch': '8ff5e097455bb6ea515423bc76059f64d1983eb4873e640cd5021f00be85ca99'}, + {'LoRDEC-0.9_GraphVector.patch': '8c42dda643f8e1f79ee7d4ea2e3d8904cb755dc44cb907ada35b1e2873605ae5'}, +] + +local_gatb_version = '1.4.2' +dependencies = [ + ('Boost', '1.79.0'), + ('GATB-Core', local_gatb_version), +] + +build_cmd_targets = 'lordec_%s' % ''.join(local_gatb_version.split('.')) + +buildopts = "AUTOMATIC_LIBBOOST_LOCAL_INSTALL=no GATB=${EBROOTGATBMINCORE}" + +local_bins = ['lordec-%s' % x for x in ('build-SR-graph', 'correct', 'stat', 'trim', 'trim-split')] + +files_to_copy = [(local_bins, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ["%s --help 2>&1 | grep 'using GATB v%s'" % (x, local_gatb_version) for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch new file mode 100644 index 000000000000..11304be190c5 --- /dev/null +++ b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch @@ -0,0 +1,13 @@ +don't hardcode path to include/gatb/gatb_core.hpp so we can use GATB-Core provided as dependency +author: Kenneth Hoste (HPC-UGent) +--- lordec-src_0.9/Makefile.orig 2023-03-31 09:54:40.838204432 +0200 ++++ lordec-src_0.9/Makefile 2023-03-31 09:55:42.987061551 +0200 +@@ -63,7 +63,7 @@ + $(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): boost_include/boost/graph/graph_traits.hpp + endif + # ANYWAY we need GATB (compiled and installed) to compile all the objects +-$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): gatb_v$(GATBVERSION)$(SUFFIX)/include/gatb/gatb_core.hpp ++$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): $(GATB)/include/gatb/gatb_core.hpp + + # get version from a file + VERSION := $(shell cat version.txt) diff --git a/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GraphVector.patch b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GraphVector.patch new file mode 100644 index 000000000000..da7be67c7df0 --- /dev/null +++ b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GraphVector.patch @@ -0,0 +1,75 @@ +port LoRDEC 0.9 to gatb-core >= 1.3.0 by replacing Graph::Vector to GraphVector +author: Kenneth Hoste (HPC-UGent) +diff -ru lordec-src_0.9.orig/lordec-correct.h lordec-src_0.9/lordec-correct.h +--- lordec-src_0.9.orig/lordec-correct.h 2018-06-04 15:44:49.000000000 +0200 ++++ lordec-src_0.9/lordec-correct.h 2023-03-31 22:17:39.105922332 +0200 +@@ -160,11 +160,11 @@ + // store the neighbors of begin node in the stack + + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(begin); ++ GraphVector neighbors = graph.successors(begin); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(begin); + #else +- Graph::Vector neighbors = graph.successorsEdge(begin); ++ GraphVector neighbors = graph.successorsEdge(begin); + #endif + + // if (neighbors.size() == 1) +@@ -221,11 +221,11 @@ + } + } + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(cnode); ++ GraphVector neighbors = graph.successors(cnode); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(cnode); + #else +- Graph::Vector neighbors = graph.successorsEdge(cnode); ++ GraphVector neighbors = graph.successorsEdge(cnode); + #endif + + // if (neighbors.size() == 1) +@@ -328,11 +328,11 @@ + + // store the neighbors of begin node in the stack + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(begin); ++ GraphVector neighbors = graph.successors(begin); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(begin); + #else +- Graph::Vector neighbors = graph.successorsEdge(begin); ++ GraphVector neighbors = graph.successorsEdge(begin); + #endif + for (i = neighbors.size()-1; i>= 0; i--) { + nodes.push(new stack_element(neighbors[i].to, 1, ascii(neighbors[i].nt))); +@@ -396,11 +396,11 @@ + else { + + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(cnode); ++ GraphVector neighbors = graph.successors(cnode); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(cnode); + #else +- Graph::Vector neighbors = graph.successorsEdge(cnode); ++ GraphVector neighbors = graph.successorsEdge(cnode); + #endif + for(i=neighbors.size()-1; i>=0; i--) { + Edge e = neighbors[i]; +@@ -450,11 +450,11 @@ + + while (true) { + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(node); ++ GraphVector neighbors = graph.successors(node); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(node); + #else +- Graph::Vector neighbors = graph.successorsEdge(node); ++ GraphVector neighbors = graph.successorsEdge(node); + #endif + if (neighbors.size() == 0) // dead end + return DEADEND; diff --git a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d1e9278c0bf0 --- /dev/null +++ b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.5-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +# Updated to 0.4.3 and GCCcore-10.2.0 +# J. Sassmannshausen (GSTT/NHS UK) +# +easyblock = 'Binary' + +name = 'Longshot' +version = '0.4.5' + +homepage = 'https://github.com/pjedge/longshot' +description = """Longshot is a variant calling tool for diploid genomes using long error prone reads such as Pacific + Biosciences (PacBio) SMRT and Oxford Nanopore Technologies (ONT). It takes as input an aligned BAM file and outputs + a phased VCF file with variants and haplotype information. It can also output haplotype-separated BAM files that can + be used for downstream analysis. Currently, it only calls single nucleotide variants (SNVs).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'pjedge' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7c9f570e17012b2fee386892ae64daf5f104d59adeb59dc7e710b876c1a11cad'] + +builddependencies = [ + ('binutils', '2.38'), + ('Rust', '1.65.0'), + ('Clang', '13.0.1'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +extract_sources = True + +install_cmd = "cargo install --root %(installdir)s --path ." + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..703d80d74a81 --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +name = 'Lua' +version = '5.4.4' + +homepage = 'https://www.lua.org/' +description = """Lua is a powerful, fast, lightweight, embeddable scripting language. + Lua combines simple procedural syntax with powerful data description constructs based + on associative arrays and extensible semantics. Lua is dynamically typed, + runs by interpreting bytecode for a register-based virtual machine, + and has automatic memory management with incremental garbage collection, + making it ideal for configuration, scripting, and rapid prototyping.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['164c7849653b80ae67bec4b7473b884bf5cc8d2dca05653475ec2ed27b9ebf61'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('libreadline', '8.2'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb b/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb index cc20619975fb..e07b9f76b0cd 100644 --- a/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb +++ b/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb @@ -23,7 +23,7 @@ install_cmd += "mvn install -Dmaven.repo.local=%(builddir)s/m2 -B assembly:assem # strip out hardcoded value for -i option, since user can not write to install directory postinstallcmds = [ - "sed -i.bk 's/-i \$DIR_PATH[^ ]*//g' %(installdir)s/src/main/bin/lucene-geo-gazetteer", + r"sed -i.bk 's/-i \$DIR_PATH[^ ]*//g' %(installdir)s/src/main/bin/lucene-geo-gazetteer", "rm %(installdir)s/src/main/bin/lucene-geo-gazetteer.bk", ] diff --git a/easybuild/easyconfigs/l/lagrangian-filtering/lagrangian-filtering-0.8.3-foss-2022a.eb b/easybuild/easyconfigs/l/lagrangian-filtering/lagrangian-filtering-0.8.3-foss-2022a.eb new file mode 100644 index 000000000000..986728f528fe --- /dev/null +++ b/easybuild/easyconfigs/l/lagrangian-filtering/lagrangian-filtering-0.8.3-foss-2022a.eb @@ -0,0 +1,43 @@ +# This installation unfortunately requires the GitHub dance, as the tarball +# is simply not installing. For that reason there is no checksum! +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'lagrangian-filtering' +version = '0.8.3' + +homepage = 'https://github.com/angus-g/lagrangian-filtering' +description = """Temporal filtering of data in a Lagrangian frame of reference.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('dask', '2022.10.0'), + ('h5py', '3.7.0'), + ('SciPy-bundle', '2022.05'), + ('netcdf4-python', '1.6.1'), + ('Parcels', '2.4.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/angus-g/', + 'repo_name': name, + 'tag': version, + 'keep_git_dir': True, + }, + }], + 'checksums': [None], + 'modulename': 'filtering', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.9.1-foss-2022a.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.9.1-foss-2022a.eb new file mode 100644 index 000000000000..96b300e82cbb --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.9.1-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.9.1' + +homepage = 'https://github.com/vtraag/leidenalg' +description = """Implementation of the Leiden algorithm for various quality +functions to be used with igraph in Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('PyYAML', '6.0'), + ('Bison', '3.8.2'), + ('libtool', '2.4.7'), + ('flex', '2.6.4'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('igraph', '0.10.3'), + ('python-igraph', '0.10.3'), +] + +use_pip = True +sanity_pip_check = True + +local_preinstallopts = "python setup.py build --use-pkg-config && " + +exts_list = [ + ('ddt', '1.6.0', { + 'checksums': ['f71b348731b8c78c3100bffbd951a769fbd439088d1fdbb3841eee019af80acd'], + }), + (name, version, { + 'checksums': ['7e5cfe3b6f80f32b90f55f35c68d4a990b0489b1282cf3fabac8cda4988975f3'], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_check_commands = [ + # tests require that 'leidenalg' Python module is available, + # so needs to be run after installation + "cd %(builddir)s/leidenalg/leidenalg-%(version)s && python setup.py test --use-pkg-config", + "python -c 'import leidenalg; import igraph as ig; " + "leidenalg.find_partition(ig.Graph.Erdos_Renyi(100, 0.1), " + "leidenalg.ModularityVertexPartition)'", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2a35c328e4b4 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.2' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.gz'] +checksums = ['24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Mesa', '22.2.4'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.2.0.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-10.2.0.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.2.0.eb index ef3d2cdb6b6d..080cda40c541 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.2.0.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.10' homepage = 'https://launchpad.net/libpsml' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.3.0.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-10.3.0.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.3.0.eb index c1ec1e114c71..63c81ea2b592 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.3.0.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.10' homepage = 'https://launchpad.net/libpsml' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-11.2.0.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-11.2.0.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-11.2.0.eb index 7bbf4e9b3122..f4127f8e7bef 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-11.2.0.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.10' homepage = 'https://launchpad.net/libpsml' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-iccifort-2020.4.304.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-iccifort-2020.4.304.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-iccifort-2020.4.304.eb index 1487ad90490e..ae80d7188d30 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-iccifort-2020.4.304.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.10' homepage = 'https://launchpad.net/libpsml' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.2.0.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-intel-compilers-2021.2.0.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.2.0.eb index 4f8e563febe7..6cea4adc02c5 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.2.0.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.10' homepage = 'https://launchpad.net/libpsml' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.4.0.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-intel-compilers-2021.4.0.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.4.0.eb index b09da9cc110c..5ef4539f7ef8 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.10-intel-compilers-2021.4.0.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.4.0.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.10' homepage = 'https://launchpad.net/libpsml' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2016b.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2016b.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2016b.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2016b.eb index 057ad7f169ce..bcced182a08e 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2016b.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2016b.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.7' homepage = 'https://launchpad.net/libpsml' @@ -9,8 +9,8 @@ description = """LibPSML provides a Fortran API to parse files in the toolchain = {'name': 'foss', 'version': '2016b'} -sources = [SOURCELOWER_TAR_GZ] source_urls = ['https://launchpad.net/libpsml/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['34ceb4e59efb542360aa4910aae088fd700026c8e1d586806b332dac8b1071a0'] dependencies = [ diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2017a.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2017a.eb similarity index 97% rename from easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2017a.eb rename to easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2017a.eb index 3996d9709dfa..b3b660d86047 100644 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2017a.eb +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2017a.eb @@ -1,6 +1,6 @@ easyblock = 'ConfigureMake' -name = 'libpsml' +name = 'libPSML' version = '1.1.7' homepage = 'https://launchpad.net/libpsml' @@ -9,8 +9,8 @@ description = """LibPSML provides a Fortran API to parse files in the toolchain = {'name': 'foss', 'version': '2017a'} -sources = [SOURCELOWER_TAR_GZ] source_urls = ['https://launchpad.net/libpsml/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['34ceb4e59efb542360aa4910aae088fd700026c8e1d586806b332dac8b1071a0'] dependencies = [ diff --git a/easybuild/easyconfigs/l/libWallModelledLES/libWallModelledLES-0.6.1-foss-2021b.eb b/easybuild/easyconfigs/l/libWallModelledLES/libWallModelledLES-0.6.1-foss-2021b.eb new file mode 100644 index 000000000000..41c152957ce4 --- /dev/null +++ b/easybuild/easyconfigs/l/libWallModelledLES/libWallModelledLES-0.6.1-foss-2021b.eb @@ -0,0 +1,46 @@ +name = "libWallModelledLES" +version = "0.6.1" +easyblock = "Binary" + +homepage = "https://bitbucket.org/lesituu/libwallmodelledles/" +description = """libWallModelledLES is a library based on OpenFOAM® technology, +extending the capabilities of OpenFOAM in the area of wall-modelled LES (WMLES). +This is a turbulence modelling methodology, which allows to make LES cheaper +by not resolving the inner region of turbulent boundary layers.""" + +toolchain = {"name": "foss", "version": "2021b"} +# Users have found that vectorizion caused OpenFOAM to produce some very incorrect results. +# Disabling vectorize was confirmed to fix the the known issues. +# With no test suite, sticking to known working toolchain options until proven otherwise. +toolchainopts = {"cstd": "c++11", "vectorize": False} + +source_urls = ["https://bitbucket.org/lesituu/libwallmodelledles/get/"] +sources = ["v%(version)s.tar.gz"] +checksums = ["06b2c06ef76b5247c0a0c0260ea1e4a58bed8e930d0a0add9fe60e626c4bc0f8"] + +dependencies = [ + ("OpenFOAM", "v2112"), +] + +extract_sources = True + +install_cmd = "source $FOAM_BASH && " + +# variables of target install directory +install_cmd += "export WM_PROJECT_USER_DIR=%(installdir)s && " +install_cmd += "export FOAM_USER_APPBIN=%(installdir)s/bin && " +install_cmd += "export FOAM_USER_LIBBIN=%(installdir)s/lib && " +install_cmd += "export LD_LIBRARY_PATH=%(installdir)s/lib:$LD_LIBRARY_PATH && " + +install_cmd += "pwd && ls && ./Allwmake -j %(parallel)s " +install_cmd += " && cp -av tests %(installdir)s " + +sanity_check_paths = { + "files": ["lib/libWallModelledLES.%s" % SHLIB_EXT], + "dirs": ["tests"], +} +sanity_check_commands = [ + "source $FOAM_BASH && cd %(installdir)s/tests/testCases/channel_flow && pimpleFoam" +] + +moduleclass = "cae" diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..7ed6541d6830 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'libaec' +version = '1.0.6' + +homepage = 'https://gitlab.dkrz.de/k202009/libaec' +description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers +(samples). The library achieves best results for low entropy data as often encountered in space imaging +instrument data or numerical model output from weather or climate simulations. While floating point representations +are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/aec', 'include/libaec.h', 'include/szlib.h', 'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["aec --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..64d50b5219dc --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.113' +_libversion = '1.0.2' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['1c561c20670c5c09cc8437a622008c0693c6a7816c1f30332da3796953b2f454'] + +builddependencies = [('binutils', '2.39')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8cc05cbcb017 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.6.1' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb new file mode 100644 index 000000000000..2f4ed93c1c9e --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-foss-2021a.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'libavif' +version = '0.11.1' + +homepage = 'https://github.com/AOMediaCodec/libavif' +description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, +as described here: https://aomediacodec.github.io/av1-avif/ +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('NASM', '2.15.05'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('Rust', '1.52.1'), +] + +sanity_check_paths = { + 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8803b286b458 --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '2.3' + +homepage = 'https://jugit.fz-juelich.de/mlz/libcerf' + +description = """ + libcerf is a self-contained numeric library that provides an efficient and + accurate implementation of complex error functions, along with Dawson, + Faddeeva, and Voigt functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s/'] +sources = ['libcerf-v%(version)s.tar.gz'] +checksums = ['cceefee46e84ce88d075103390b4f9d04c34e4bc3b96d733292c36836d4f7065'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Perl', '5.36.0', '-minimal'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libcint/libcint-4.4.0-gomkl-2021a.eb b/easybuild/easyconfigs/l/libcint/libcint-4.4.0-gomkl-2021a.eb new file mode 100644 index 000000000000..8dc84fd9e8f7 --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-4.4.0-gomkl-2021a.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '4.4.0' + +homepage = 'https://github.com/sunqm/libcint' +description = """libcint is an open source library for analytical Gaussian integrals.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://github.com/sunqm/libcint/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_remove_pyscftest.patch'] +checksums = [ + '39a831e9131395e7ac312608981495aed3e44d0511b0700b2a1fb163b32c89c1', # v4.4.0.tar.gz + '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d', # libcint-4.4.0_remove_pyscftest.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + # Python with numpy only required for 'make test' + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +separate_build_dir = False # Must use the same directory for tests + +configopts = '-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on' + +buildopts = "VERBOSE=1" + +runtest = 'test ' + +sanity_check_paths = { + 'files': ['include/cint.h', 'lib/libcint.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..4cf46abac377 --- /dev/null +++ b/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libconfig' +version = '1.7.3' + +homepage = 'https://hyperrealm.github.io/libconfig' +description = "Libconfig is a simple library for processing structured configuration files" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://hyperrealm.github.io/libconfig/dist/'] +sources = [SOURCE_TAR_GZ] +checksums = ['545166d6cac037744381d1e9cc5a5405094e7bfad16a411699bcff40bbb31ee7'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['include/libconfig.h', 'include/libconfig.h++', 'lib/libconfig.a', 'lib/libconfig++.a', + 'lib/libconfig.%s' % SHLIB_EXT, 'lib/libconfig++.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..237260a43f78 --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libdap' +version = '3.20.11' + +homepage = 'https://www.opendap.org/software/libdap' +description = """A C++ SDK which contains an implementation of DAP 2.0 and + DAP4.0. This includes both Client- and Server-side support classes.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.opendap.org/pub/source/'] +sources = [SOURCE_TAR_GZ] +checksums = ['850debf6ee6991350bf31051308093bee35ddd2121e4002be7e130a319de1415'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('libxml2', '2.9.13'), + ('libtirpc', '1.3.2'), + ('PCRE', '8.45'), + ('util-linux', '2.38'), +] + +configopts = 'TIRPC_LIBS="-ltirpc"' + +sanity_check_paths = { + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-10.3.0.eb new file mode 100644 index 000000000000..647d345e73e2 --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'libde265' +version = '1.0.8' + +homepage = 'https://github.com/strukturag/libde265' +description = "libde265 is an open source implementation of the h.265 video codec" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['24c791dd334fa521762320ff54f0febfd3c09fc978880a8c5fbc40a88f21d905'] + +builddependencies = [('CMake', '3.20.1')] + +sanity_check_paths = { + 'files': ['bin/dec265', 'bin/enc265', 'lib/liblibde265.%s' % SHLIB_EXT], + 'dirs': ['include/libde265', 'lib/cmake/libde265'], +} + +sanity_check_commands = [ + "dec265 --help", + "enc265 --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.15-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..386b12fc1218 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.15-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to 1.8 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'CMakeMake' + +name = 'libdeflate' +version = '1.15' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['58b95040df7383dc0413defb700d9893c194732474283cc4c8f144b00a68154b'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.114-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.114-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..40a3653b38d4 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.114-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.114' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['3049cf843a47d12e5eeefbc3be3496d782fa09f42346bf0b7defe3d1e598d026'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] +dependencies = [('X11', '20221110')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=disabled' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libemf/libemf-1.0.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libemf/libemf-1.0.13-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c83afeb6d533 --- /dev/null +++ b/easybuild/easyconfigs/l/libemf/libemf-1.0.13-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'libemf' +version = '1.0.13' + +homepage = 'https://sourceforge.net/projects/libemf/' +description = "Library implementation of ECMA-234 API for the generation of enhanced metafiles." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceforge.net/projects/%(name)s/files/%(name)s/%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] + +checksums = [ + '74d92c017e8beb41730a8be07c2c6e4ff6547660c84bf91f832d8f325dd0cf82', # libemf-1.0.13.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/printemf', 'lib/libEMF.a', 'lib/libEMF.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..c47fc5755521 --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.10' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('X11', '20221110'), + ('Mesa', '22.2.4'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.3.0.eb new file mode 100644 index 000000000000..780a94eb1c97 --- /dev/null +++ b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'ConfigureMake' + +name = 'libev' +version = '4.33' + +homepage = 'http://software.schmorp.de/pkg/libev.html' +description = """A full-featured and high-performance (see benchmark) +event loop that is loosely modelled after libevent, but without its +limitations and bugs. It is used in GNU Virtual Private Ethernet, +rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many +other programs.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://dist.schmorp.de/libev/Attic'] +sources = ['%(name)s-%(version)s.tar.gz'] + +checksums = [ + '507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea', # libev-4.33.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['lib/libev.%s' % SHLIB_EXT], + 'dirs': ['include/', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..99908875d8c2 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..97eacfc006e3 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.16.1' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + '%(name)s-1.12.1_disable-psm3-avx-config.patch', +] +checksums = [ + {'libfabric-1.16.1.tar.bz2': '53f992d33f9afe94b8a4ea3d105504887f4311cf4b68cea99a24a85fcc39193f'}, + {'libfabric-1.12.1_disable-psm3-avx-config.patch': + '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb new file mode 100644 index 000000000000..60424b615f6e --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +configopts = ' --without-mpi ' + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb new file mode 100644 index 000000000000..16305fbd339b --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +configopts = ' --without-mpi ' + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb new file mode 100644 index 000000000000..f6a353357b6c --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +configopts = ' --without-mpi ' + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb new file mode 100644 index 000000000000..4277acce16ff --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +configopts = ' --without-mpi ' + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f9c248d7fd79 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.4' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676'] + +builddependencies = [ + ('binutils', '2.39'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..cb07437830e7 --- /dev/null +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libgcrypt' +version = '1.10.1' + +homepage = 'https://gnupg.org/related_software/libgcrypt/index.html' +description = """Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('libgpg-error', '1.46')] + +sanity_check_paths = { + 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +sanity_check_commands = [ + 'dumpsexp --version', + 'hmac256 --version', + 'mpicalc --version', + 'libgcrypt-config --version | grep "%(version)s"', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..d8d3e21fab0b --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('fontconfig', '2.14.1'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..75956eab50aa --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.1' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['05ab1347aaa471fc97347d8d4269ff0c00f30fa666d956baba37948ec87e55d6'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('PROJ', '9.1.1'), + ('libjpeg-turbo', '2.1.4'), + ('zlib', '1.2.12'), + ('SQLite', '3.39.4'), + ('LibTIFF', '4.4.0'), + ('cURL', '7.86.0'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.5.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..5b9bd25e4c1c --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.5.0' + +homepage = 'https://libgit2.org/' +description = """libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant +linkable library with a solid API, allowing you to write native speed custom Git applications in any language +which supports C bindings.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'libgit2' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8de872a0f201b33d9522b817c92e14edb4efad18dae95cf156cf240b2efff93e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('PCRE', '8.45'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/git2.h', 'lib64/libgit2.%s' % SHLIB_EXT, 'lib64/pkgconfig/libgit2.pc'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6e95158d9021 --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.6.0' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['efc756ffd24b24059e1c53677a9d57b4b237b00a01c54a6f1611e1e51661d70c'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [('X11', '20221110')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.46-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.46-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..eb147d5e586d --- /dev/null +++ b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.46-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libgpg-error' +version = '1.46' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['b7e11a64246bbe5ef37748de43b245abd72cfcd53c9ae5e7fc5ca59f1c81268d'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/gpg-error', 'include/gpg-error.h', 'lib/libgpg-error.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-10.3.0.eb new file mode 100644 index 000000000000..bb5cb6bf57c1 --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'libheif' +version = '1.12.0' + +homepage = 'https://github.com/strukturag/libheif' +description = "libheif is an HEIF and AVIF file format decoder and encoder" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e1ac2abb354fdc8ccdca71363ebad7503ad731c84022cf460837f0839e171718'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('libde265', '1.0.8'), + ('x265', '3.5'), + ('Gdk-Pixbuf', '2.42.6'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'], + 'dirs': ['include/libheif'], +} + +sanity_check_commands = ["heif-info --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..9e0244a6104a --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn/libidn-1.41-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libidn/libidn-1.41-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..7a37e088e107 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn/libidn-1.41-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libidn' +version = '1.41' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = """GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. +Libidn's purpose is to encode and decode internationalized domain names.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['884d706364b81abdd17bee9686d8ff2ae7431c5a14651047c68adf8b31fd8945'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..5a7cd13f5c6c --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libidn2' +version = '2.3.2' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = """Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/libidn2.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["idn2 --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..0117bb716bf7 --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '2.1.4' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d3ed26a1131a13686dfca4935e520eb7c90ae76fbc45d98bb50a8dc86230342b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('NASM', '2.15.05'), +] + +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.499-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.499-GCC-11.3.0.eb new file mode 100644 index 000000000000..5aa65b14cf19 --- /dev/null +++ b/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.499-GCC-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libmaus2' +version = '2.0.499' + +homepage = 'https://github.com/gt1/libmaus2' +description = "libmaus2 is a collection of data structures and algorithms." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/gt1/libmaus2/archive/'] +sources = ['%(version)s-release-20180606122508.tar.gz'] +checksums = ['5e3643bb14a3342b76b68592252f248e5e97725caffe6a6a3274563a0433338a'] + +sanity_check_paths = { + 'files': ['lib/libmaus2.a', 'lib/libmaus2.%s' % SHLIB_EXT, + 'lib/libmaus2_simd_align_128.a', 'lib/libmaus2_simd_align_128.%s' % SHLIB_EXT, + 'lib/libmaus2_simd_align_256.a', 'lib/libmaus2_simd_align_256.%s' % SHLIB_EXT], + 'dirs': ['include/libmaus2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb b/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb index d8688a455287..cc800c7bec4b 100644 --- a/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('binutils', '2.28'), ('CMake', '3.10.1'), - ('check', '0.12.0'), + ('Check', '0.12.0'), ] separate_build_dir = True diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0c367471d666 --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '2.0.0' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['2da075ef1893ebdfc5f074f83ac811873dc06fd5c62bc9a4729fd2e27a40341a'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libtirpc', '1.3.2'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..0df3a2b5b8e8 --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.39')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6319733c7cf3 --- /dev/null +++ b/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libopus' +version = '1.3.1' + +homepage = 'https://www.opus-codec.org/' +description = """Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive + speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is + standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s + SILK codec and Xiph.Org’s CELT codec.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://archive.mozilla.org/pub/opus/'] +sources = ['opus-%(version)s.tar.gz'] +checksums = ['65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libopus.a', 'lib/libopus.%s' % SHLIB_EXT], + 'dirs': ['include/opus'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..0c9005d81c08 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.17' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bf6985a77d2ecb00e2c79da3edfb26b909178ffca3f2e9d14ed0620259ab733b'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.38-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.38-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..c3a6b1c33876 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.38-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.38' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e2b5e1b4329650992c041996cf1269681b341191dc07ffed816c555769cceb77'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('zlib', '1.2.12')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..31149e9b2b37 --- /dev/null +++ b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libpsl' +version = '0.21.1' + +homepage = 'https://rockdaboot.github.io/libpsl' +description = "C library for the Public Suffix List" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rockdaboot/libpsl/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c'] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('libidn2', '2.3.2'), + ('libunistring', '1.0'), +] + +sanity_check_commands = [('psl --version')] + +sanity_check_paths = { + 'files': ['bin/psl', 'lib/libpsl.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..569af9fc7366 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('ncurses', '6.3'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librsvg/librsvg-2.55.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/librsvg/librsvg-2.55.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8116a32cafc2 --- /dev/null +++ b/easybuild/easyconfigs/l/librsvg/librsvg-2.55.1-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'librsvg' +version = '2.55.1' + +homepage = 'https://wiki.gnome.org/Projects/LibRsvg' +description = "Librsvg is a library to render SVG files using cairo." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.gnome.org/sources/librsvg/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['6baf48a9d3a56fd13bbfbb9f1f76759b240b70a1fa220fd238474d66a926f98c'] + +builddependencies = [ + ('binutils', '2.38'), + ('Rust', '1.60.0'), +] + +dependencies = [ + ('cairo', '1.17.4'), + ('freetype', '2.12.1'), + ('Gdk-Pixbuf', '2.42.8'), + ('HarfBuzz', '4.2.1'), + ('Pango', '1.50.7'), + ('GObject-Introspection', '1.72.0'), +] + +# don't GdkPixbuf loader (which gets added to the Gdk-Pixbuf installation directory) +configopts = "--disable-pixbuf-loader" + +sanity_check_paths = { + 'files': ['bin/rsvg-convert', 'lib/librsvg-%(version_major)s.a', 'lib/librsvg-%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/librsvg-%(version_major)s.0.pc'], + 'dirs': ['include/librsvg-%(version_major)s.0/librsvg', 'share'], +} + +sanity_check_commands = ["rsvg-convert --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librttopo/librttopo-1.1.0-GCC-11.2.0.eb b/easybuild/easyconfigs/l/librttopo/librttopo-1.1.0-GCC-11.2.0.eb new file mode 100644 index 000000000000..2f125cbbd62a --- /dev/null +++ b/easybuild/easyconfigs/l/librttopo/librttopo-1.1.0-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'librttopo' +version = '1.1.0' + +homepage = 'https://git.osgeo.org/gitea/rttopo/librttopo' +description = """The RT Topology Library exposes an API to create and +manage standard (ISO 13249 aka SQL/MM) topologies using user-provided +data stores.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://git.osgeo.org/gitea/rttopo/librttopo/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['2e2fcabb48193a712a6c76ac9a9be2a53f82e32f91a2bc834d9f1b4fa9cd879f'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GEOS', '3.9.1'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/librttopo.h', 'lib/librttopo.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-3.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.4.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..2547b2017647 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Updated to CMakeMake +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'libsigc++' +version = '3.4.0' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system +for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['02e2630ffb5ce93cd52c38423521dfe7063328863a6e96d41d765a6116b8707e'] + +builddependencies = [ + ('binutils', '2.38'), + ('Graphviz', '5.0.0'), + ('libxslt', '1.1.34'), + ('mm-common', '1.0.5'), + ('CMake', '3.24.3'), +] + +test_cmd = 'ctest' +runtest = '-j' + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..7af75870278b --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'libsndfile' +version = '1.2.0' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/libsndfile/libsndfile/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['0e30e7072f83dc84863e2e55f299175c7e04a5902ae79cfb99d4249ee8f6d60a'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('FLAC', '1.4.2'), + ('libvorbis', '1.3.7'), + ('libopus', '1.3.1'), + ('LAME', '3.100'), +] + +configopts = ['', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/libsndfile.a', 'lib/libsndfile.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..445496497a10 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'libspatialindex' +version = '1.9.3' + +homepage = 'https://libspatialindex.org' +description = """C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/libspatialindex/libspatialindex/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libspatialindex.%s' % SHLIB_EXT], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-5.0.1-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-5.0.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..b908b0db7f96 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-5.0.1-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'libspatialite' +version = '5.0.1' + +homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" +description = """SpatiaLite is an open source library intended to extend the SQLite core to support + fully fledged Spatial SQL capabilities.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gaia-gis.it/gaia-sins/libspatialite-sources/'] +sources = [SOURCE_TAR_GZ] +checksums = ['eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('minizip', '1.1'), + ('FreeXL', '1.0.6'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('PROJ', '8.1.0'), + ('libxml2', '2.9.10'), + ('librttopo', '1.1.0'), +] + +configopts = '--disable-geosadvanced' + +sanity_check_paths = { + 'files': ['include/spatialite.h', 'lib/libspatialite.a', 'lib/libspatialite.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..be6a5c351a41 --- /dev/null +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libtasn1' +version = '4.19.0' + +homepage = 'https://www.gnu.org/software/libtasn1/' +description = """Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and + some other packages. It was written by Fabio Fiorina, and has been shipped as + part of GnuTLS for some time but is now a proper GNU package.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..733262dc9905 --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.3' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.39') +] + +sanity_check_paths = { + 'files': ['lib/libtirpc.%s' % (x,) for x in ['a', SHLIB_EXT]], + 'dirs': ['include/tirpc', 'lib'], +} + +modextrapaths = {'CPATH': 'include/tirpc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..249e1aff8db3 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..5e849e316cdf --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.6.2' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('XZ', '5.2.7'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..a76724c2cd9f --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..1aa03f9c0a0a --- /dev/null +++ b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'libwpe' +version = '1.13.3' + +homepage = 'https://webkit.org/wpe' +description = """WPE is the reference WebKit port for embedded and +low-consumption computer devices. It has been designed from the +ground-up with performance, small footprint, accelerated content +rendering, and simplicity of deployment in mind, bringing the +excellence of the WebKit engine to countless platforms and target devices.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://wpewebkit.org/releases'] +sources = ['%(name)s-%(version)s.tar.xz'] +patches = ['%(name)s-1.13.3_include-string-before-poison.patch'] +checksums = [ + {'libwpe-1.13.3.tar.xz': '05f871922f6ca750c5689a38a346c3fba130417d3490dd52362b4fe22f334e96'}, + {'libwpe-1.13.3_include-string-before-poison.patch': + '2d21ed6b2dafa758126cda162e450ab2b3a3c0b622e375ff443523ba32fc5812'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('CMake', '3.22.1'), + ('Meson', '0.58.2'), +] + +dependencies = [ + ('glew', '2.2.0', '-egl'), +] + +sanity_check_paths = { + 'files': ['lib/libwpe-1.0.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3_include-string-before-poison.patch b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3_include-string-before-poison.patch new file mode 100644 index 000000000000..ecd1030693c4 --- /dev/null +++ b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3_include-string-before-poison.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +Description: Include string.h before poisoning {c,m}alloc +diff -ruN libwpe-1.13.3/src/alloc-private.h libwpe-1.13.3.p1/src/alloc-private.h +--- libwpe-1.13.3/src/alloc-private.h 2022-08-11 12:59:47.000000000 +0100 ++++ libwpe-1.13.3.p1/src/alloc-private.h 2022-12-22 12:01:51.000000000 +0000 +@@ -27,6 +27,7 @@ + #ifndef wpe_alloc_private_h + #define wpe_alloc_private_h + ++#include + #include + + #if defined(__has_attribute) && __has_attribute(noreturn) diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb new file mode 100644 index 000000000000..4549d2c41b2c --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.1.0' + +homepage = 'https://www.tddft.org/programs/libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Perl', '5.36.0'), +] + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], +} + +sanity_check_commands = ['xc-info 1'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb new file mode 100644 index 000000000000..8973869bc362 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.1.0' + +homepage = 'https://www.tddft.org/programs/libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} + +source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Perl', '5.36.0'), +] + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], +} + +sanity_check_commands = ['xc-info 1'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.9.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.9.13-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a63e21ba6345 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.9.13-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'libxml2-python' +version = '2.9.13' + +homepage = 'http://xmlsoft.org/' +description = """ + Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform). This is the Python binding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = ['libxml2-%(version)s.tar.xz'] +patches = [ + 'libxml2-2.9.7_fix-hardcoded-paths.patch', +] +checksums = [ + '276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e', # libxml2-2.9.13.tar.gz + '3d5651c015fd375d855421983b7d33ffd4af797b7411f46e05cd8c57b210e542', # libxml2-2.9.7_fix-hardcoded-paths.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('XZ', '5.2.5'), + ('Python', '3.10.4'), + ('libxml2', version), + ('libiconv', '1.17'), +] + +start_dir = 'python' + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'libxml2'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..899bcfe4e7f5 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.10.3' + +homepage = 'http://xmlsoft.org/' + +description = """ + Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb index fc7feb6f53a6..2c20332345f2 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb @@ -13,7 +13,10 @@ source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor sources = [SOURCE_TAR_XZ] checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.35')] +builddependencies = [ + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb index 304d2938dcd3..ec097abdeda1 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb @@ -13,7 +13,10 @@ source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor sources = [SOURCE_TAR_XZ] checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.36.1')] +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb index 5cc9afc5c7fd..2dd006326107 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb @@ -13,7 +13,10 @@ source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor sources = [SOURCE_TAR_XZ] checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.37')] +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb index 14d3083a7bc9..f4fb8f7a9038 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb @@ -13,7 +13,10 @@ source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor sources = [SOURCE_TAR_XZ] checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.38')] +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] dependencies = [ ('zlib', '1.2.12'), diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb index edec6edc2cbf..7ee70a646ab8 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb @@ -13,7 +13,10 @@ source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor sources = [SOURCE_TAR_XZ] checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.32')] +builddependencies = [ + ('binutils', '2.32'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb index 33d3ef1c1a89..85eb068bdbcb 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb @@ -13,7 +13,10 @@ source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor sources = [SOURCE_TAR_XZ] checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.34')] +builddependencies = [ + ('binutils', '2.34'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.37-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.37-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2b58bca7a161 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.37-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.37' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libxml2', '2.10.3'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6085128a05be --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.39'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lifelines/lifelines-0.27.4-foss-2022a.eb b/easybuild/easyconfigs/l/lifelines/lifelines-0.27.4-foss-2022a.eb new file mode 100644 index 000000000000..c300ce4d3a6f --- /dev/null +++ b/easybuild/easyconfigs/l/lifelines/lifelines-0.27.4-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'lifelines' +version = '0.27.4' + +homepage = "https://lifelines.readthedocs.io/en/latest/" +description = """lifelines is a complete survival analysis library, written in pure Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('interface_meta', '1.3.0', { + 'checksums': ['8a4493f8bdb73fb9655dcd5115bc897e207319e36c8835f39c516a2d7e9d79a1'], + }), + ('autograd', '1.5', { + 'checksums': ['d80bd225154d1db13cb4eaccf7a18c358be72092641b68717f96fcf1d16acd0b'], + }), + ('autograd-gamma', '0.5.0', { + 'checksums': ['f27abb7b8bb9cffc8badcbf59f3fe44a9db39e124ecacf1992b6d952934ac9c4'], + }), + ('formulaic', '0.4.0', { + 'checksums': ['087950518c53a2491deb52b8ddd66833f953882e517a42e476c007cc8f6892c5'], + }), + (name, version, { + 'checksums': ['62f7e911a64c8f723eef4207174fb1df39a94f79eca557cdf53d310eb6be132f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb index 1d91bac04d7b..396ecccea92c 100644 --- a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb +++ b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb @@ -42,8 +42,8 @@ sanity_check_paths = { postinstallcmds = [ 'echo "================================================================================"', 'echo "IMPORTANT: you will have to manually apply the following changes **as root**:"', - 'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', - 'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' + r'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', + r'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' ] maxparallel = 1 diff --git a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb index 5558b79e5fa3..ed31a2a4ecd0 100644 --- a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb +++ b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb @@ -41,8 +41,8 @@ sanity_check_paths = { postinstallcmds = [ 'echo "================================================================================"', 'echo "IMPORTANT: you will have to manually apply the following changes **as root**:"', - 'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', - 'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' + r'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', + r'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' ] maxparallel = 1 diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-4.0.0-foss-2022a.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.0.0-foss-2022a.eb new file mode 100644 index 000000000000..42ca38e1daf1 --- /dev/null +++ b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.0.0-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'line_profiler' +version = '4.0.0' + +homepage = 'https://github.com/pyutils/line_profiler' +description = """line_profiler is a module for doing line-by-line profiling +of functions. kernprof is a convenient script for running either +line_profiler or the Python standard library's cProfile or profile modules, +depending on what is available.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'pyutils' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebe361a2318ac781c619573b62b3abf124881257c6b9425747dc3f1c03e708fc'] + +builddependencies = [ + ('scikit-build', '0.15.0'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/kernprof'], + 'dirs': [], +} + +sanity_check_commands = ['kernprof --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb index 8b9541720e2e..1a6ef6836ae3 100644 --- a/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb +++ b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb @@ -58,7 +58,7 @@ local_deps_patch = ( ) postinstallcmds = [ - 'find %(installdir)s -name "*.sh" -exec chmod +x {} \;', + 'find %(installdir)s -name "*.sh" -exec chmod +x {} \\;', 'ln -s %(installdir)s/longread_umi.sh %(installdir)s/bin/longread_umi', # Part of the installation process; longread uses porechop with custom adapters 'cp %(installdir)s/scripts/adapters.py %(installdir)s/lib/python%(pyshortver)s/site-packages/porechop/', diff --git a/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..0c353f67d45b --- /dev/null +++ b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'loomR' +local_commit = 'df0144b' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '0.2.0-20180425' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/loomR' +description = "An R interface for loom files" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/mojaveazure/loomR/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6264448baf4fd9a569eb5a832598c4a224382ef26c0a7fbd061a8c901672f0ac'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021a.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021a.eb new file mode 100644 index 000000000000..23c77d3a6f8e --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021a.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('numba', '0.53.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-foss-2022a.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2022a.eb new file mode 100644 index 000000000000..a718a90a2431 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2022a.eb @@ -0,0 +1,39 @@ +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('numba', '0.56.4'), +] + +use_pip = True + +exts_list = [ + ('numpy-groupies', '0.9.20', { + 'sources': ['numpy_groupies-%(version)s.tar.gz'], + 'checksums': ['923a382d6bc6876384b58a9c0503b05b9d36a660f329695c2d33e4f93fcbbe3d'], + }), + (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.3.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.3.0.eb new file mode 100644 index 000000000000..7860f855c6db --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6f3f81b768d6 --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.4' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b'] + +builddependencies = [('binutils', '2.39')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/M3GNet/M3GNet-0.2.4-foss-2022a.eb b/easybuild/easyconfigs/m/M3GNet/M3GNet-0.2.4-foss-2022a.eb new file mode 100644 index 000000000000..65f7885f2069 --- /dev/null +++ b/easybuild/easyconfigs/m/M3GNet/M3GNet-0.2.4-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'M3GNet' +version = '0.2.4' + +homepage = 'https://materialsvirtuallab.github.io/m3gnet/' +description = """" +M3GNet is a new materials graph neural network architecture that incorporates +3-body interactions. A key difference with prior materials graph +implementations such as MEGNet is the addition of the coordinates for atoms and +the 3×3 lattice matrix in crystals, which are necessary for obtaining tensorial +quantities such as forces and stresses via auto-differentiation. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('ASE', '3.22.1'), + ('TensorFlow', '2.11.0'), + ('pymatgen', '2023.3.10'), + ('h5py', '3.7.0'), # optional, for model saving +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['a7f82b06f48d8fb81f91fb88484177005066cdf708902bf749afaa7f8d117ce8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/m3g'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/m3gnet'], +} + +sanity_check_commands = ['m3g --help'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-FCC-4.5.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-FCC-4.5.0.eb index bc8af908fd78..bc86a842bf04 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-FCC-4.5.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'FCC', 'version': '4.5.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use binutils from the OS, since M4 is itself a dependency of the easybuilt binutils (via flex and Bison) diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb index bd7b15d0f996..23e948da86e3 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '10.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb index 40d8acc91af4..a8d9bfb51943 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb index aaa4eda2c913..70575029ae0f 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb index c1852324b5bd..63f864a0d850 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '11.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb index 90f3441ae31f..43408ff8facf 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '5.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb index 44174916f398..7c7bb607dc63 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb @@ -13,11 +13,17 @@ toolchain = {'name': 'GCCcore', 'version': '5.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] + # use same binutils version that was used when building GCC toolchain builddependencies = [('binutils', '2.26', '', SYSTEM)] diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb index bb84008fe0db..1c0ae73d6d81 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '5.5.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb index 42ac05376423..9b67783cc40e 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '6.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb index abedf0b58b2c..5bb8c4176746 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb @@ -16,10 +16,16 @@ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb index 70675bd26d41..43b5a9979944 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '7.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb index 95c1d432cdf2..c6ea670638e2 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '7.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb index d435d9cf19f1..0fd28aca84fe 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb index 18817b26e322..3957e4980e2b 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '7.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb index f268c01aaed7..3ae81595fa91 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '8.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb index cdf833ca3941..a646315f4d9a 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb index b21fcafc4f7f..bba6ee5bb818 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb index 30d2b32da00a..84ace55818bd 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '8.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb index aac98bc3c120..abe9dbefd210 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '9.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb index c70532aeb1f7..2db382b93212 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb @@ -13,10 +13,15 @@ toolchain = {'name': 'GCCcore', 'version': '9.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb index 61100b9eb44c..e0dffd89a28a 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb index 72020d962547..6df13418cc39 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb @@ -15,10 +15,15 @@ toolchainopts = {'optarch': False} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18.eb index 79f53be742fb..d181fe31631a 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18.eb @@ -17,10 +17,15 @@ toolchain = SYSTEM source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18_glibc_2.34.patch b/easybuild/easyconfigs/m/M4/M4-1.4.18_glibc_2.34.patch new file mode 100644 index 000000000000..9935b43323ac --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18_glibc_2.34.patch @@ -0,0 +1,106 @@ +c-stack: stop using SIGSTKSZ + +It’s been proposed to stop making SIGSTKSZ an integer constant: +https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html +Also, using SIGSTKSZ in #if did not conform to current POSIX. +Also, avoiding SIGSTKSZ makes the code simpler and easier to grok. +* lib/c-stack.c (SIGSTKSZ): Remove. +(alternate_signal_stack): Now a 64 KiB array, for simplicity. +All uses changed. + +[Retrieved (and backported) from: +https://git.savannah.gnu.org/cgit/gnulib.git/patch/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b] +Signed-off-by: Fabrice Fontaine + +diff -Nura m4-1.4.18.orig/lib/c-stack.c m4-1.4.18/lib/c-stack.c +--- m4-1.4.18.orig/lib/c-stack.c 2021-04-11 19:12:14.086494029 +0200 ++++ m4-1.4.18/lib/c-stack.c 2021-04-11 19:48:46.316862760 +0200 +@@ -50,15 +50,16 @@ + #if ! HAVE_STACK_T && ! defined stack_t + typedef struct sigaltstack stack_t; + #endif +-#ifndef SIGSTKSZ +-# define SIGSTKSZ 16384 +-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 +-/* libsigsegv 2.6 through 2.8 have a bug where some architectures use +- more than the Linux default of an 8k alternate stack when deciding +- if a fault was caused by stack overflow. */ +-# undef SIGSTKSZ +-# define SIGSTKSZ 16384 +-#endif ++ ++/* Storage for the alternate signal stack. ++ 64 KiB is not too large for Gnulib-using apps, and is large enough ++ for all known platforms. Smaller sizes may run into trouble. ++ For example, libsigsegv 2.6 through 2.8 have a bug where some ++ architectures use more than the Linux default of an 8 KiB alternate ++ stack when deciding if a fault was caused by stack overflow. */ ++static max_align_t alternate_signal_stack[(64 * 1024 ++ + sizeof (max_align_t) - 1) ++ / sizeof (max_align_t)]; + + #include + #include +@@ -128,19 +129,6 @@ + #if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \ + && HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV + +-/* Storage for the alternate signal stack. */ +-static union +-{ +- char buffer[SIGSTKSZ]; +- +- /* These other members are for proper alignment. There's no +- standard way to guarantee stack alignment, but this seems enough +- in practice. */ +- long double ld; +- long l; +- void *p; +-} alternate_signal_stack; +- + static void + null_action (int signo __attribute__ ((unused))) + { +@@ -205,8 +193,8 @@ + + /* Always install the overflow handler. */ + if (stackoverflow_install_handler (overflow_handler, +- alternate_signal_stack.buffer, +- sizeof alternate_signal_stack.buffer)) ++ alternate_signal_stack, ++ sizeof alternate_signal_stack)) + { + errno = ENOTSUP; + return -1; +@@ -279,14 +267,14 @@ + stack_t st; + struct sigaction act; + st.ss_flags = 0; ++ st.ss_sp = alternate_signal_stack; ++ st.ss_size = sizeof alternate_signal_stack; + # if SIGALTSTACK_SS_REVERSED + /* Irix mistakenly treats ss_sp as the upper bound, rather than + lower bound, of the alternate stack. */ +- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); +- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); +-# else +- st.ss_sp = alternate_signal_stack.buffer; +- st.ss_size = sizeof alternate_signal_stack.buffer; ++ st.ss_size -= sizeof (void *); ++ char *ss_sp = st.ss_sp; ++ st.ss_sp = ss_sp + st.ss_size; + # endif + r = sigaltstack (&st, NULL); + if (r != 0) +diff -Nura m4-1.4.18.orig/lib/c-stack.h m4-1.4.18/lib/c-stack.h +--- m4-1.4.18.orig/lib/c-stack.h 2021-04-11 19:12:14.098494042 +0200 ++++ m4-1.4.18/lib/c-stack.h 2021-04-11 19:17:42.138848378 +0200 +@@ -34,7 +34,7 @@ + A null ACTION acts like an action that does nothing. + + ACTION must be async-signal-safe. ACTION together with its callees +- must not require more than SIGSTKSZ bytes of stack space. Also, ++ must not require more than 64 KiB bytes of stack space. Also, + ACTION should not call longjmp, because this implementation does + not guarantee that it is safe to return to the original stack. + diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-11.3.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-11.3.0-with-extensions.eb new file mode 100644 index 000000000000..2f1760310660 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-11.3.0-with-extensions.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez (Swiss Institute of Bioinformatics, Biozentrum - University of Basel) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.505' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['f54a78670fcd9960233bcc3b3dd359f395a71c0ced45a7be1cfeae19950ce6ff'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07b-foss-2018b.eb b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07b-foss-2018b.eb similarity index 91% rename from easybuild/easyconfigs/m/MAGMA/MAGMA-1.07b-foss-2018b.eb rename to easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07b-foss-2018b.eb index dee8470d10e5..66f3e941e151 100644 --- a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07b-foss-2018b.eb +++ b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07b-foss-2018b.eb @@ -1,6 +1,6 @@ easyblock = 'MakeCp' -name = 'MAGMA' +name = 'MAGMA-gene-analysis' version = '1.07b' homepage = 'https://ctg.cncr.nl/software/magma' @@ -14,7 +14,7 @@ source_urls = [ 'https://ctg.cncr.nl/software/MAGMA/prog/', 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', ] -sources = ['%(namelower)s_v%(version)s_source.zip'] +sources = ['magma_v%(version)s_source.zip'] checksums = ['b8f6c9c5b81cedec51b2e3daafe2519f02423a7d18321f5a91534461d40538f0'] buildopts = ' CXX=${CXX}' diff --git a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07bb-GCC-8.3.0.eb b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07bb-GCC-8.3.0.eb similarity index 91% rename from easybuild/easyconfigs/m/MAGMA/MAGMA-1.07bb-GCC-8.3.0.eb rename to easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07bb-GCC-8.3.0.eb index 10a0faa8bf88..37a03a2d22d3 100644 --- a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07bb-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07bb-GCC-8.3.0.eb @@ -1,6 +1,6 @@ easyblock = 'MakeCp' -name = 'MAGMA' +name = 'MAGMA-gene-analysis' version = '1.07bb' homepage = 'https://ctg.cncr.nl/software/magma' @@ -14,7 +14,7 @@ source_urls = [ 'https://ctg.cncr.nl/software/MAGMA/prog/', 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', ] -sources = ['%(namelower)s_v%(version)s_source.zip'] +sources = ['magma_v%(version)s_source.zip'] checksums = ['c913b1bb03cb8cf78d55371128007d729a2439ad345d27b570b3ad598d3e1037'] buildopts = ' CXX=${CXX}' diff --git a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.09b-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.09b-GCC-11.2.0.eb similarity index 92% rename from easybuild/easyconfigs/m/MAGMA/MAGMA-1.09b-GCC-11.2.0.eb rename to easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.09b-GCC-11.2.0.eb index eb16168b20f4..c159f70ce0cb 100644 --- a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.09b-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.09b-GCC-11.2.0.eb @@ -1,6 +1,6 @@ easyblock = 'MakeCp' -name = 'MAGMA' +name = 'MAGMA-gene-analysis' version = '1.09b' homepage = 'https://ctg.cncr.nl/software/magma' @@ -14,7 +14,7 @@ source_urls = [ 'https://ctg.cncr.nl/software/MAGMA/prog/', 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', ] -sources = ['%(namelower)s_v%(version)s_source.zip'] +sources = ['magma_v%(version)s_source.zip'] checksums = ['8af8673fa6c3cf60c2528a06783c20795d9daf4649481cd6e04feb68b91730e0'] buildopts = ' CXX=${CXX}' diff --git a/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2022a.eb b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2022a.eb new file mode 100644 index 000000000000..cc54713c3c69 --- /dev/null +++ b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2022a.eb @@ -0,0 +1,36 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +# Updated: Denis Kristak (Inuits) +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.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/MAKER/MAKER-3.01.04-foss-2022a.eb b/easybuild/easyconfigs/m/MAKER/MAKER-3.01.04-foss-2022a.eb new file mode 100644 index 000000000000..4b61ca4d1d3f --- /dev/null +++ b/easybuild/easyconfigs/m/MAKER/MAKER-3.01.04-foss-2022a.eb @@ -0,0 +1,105 @@ +easyblock = 'Bundle' + +name = 'MAKER' +version = '3.01.04' + +homepage = 'https://yandell-lab.org/software/maker.html' +description = """ +MAKER is a portable and easily configurable genome annotation pipeline. Its +purpose is to allow smaller eukaryotic and prokaryotic genome projects to +independently annotate their genomes and to create genome databases. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('BLAST+', '2.13.0'), + ('SNAP-HMM', '20221022'), + ('RepeatMasker', '4.1.4'), + ('Exonerate', '2.4.0'), + # optional: + ('AUGUSTUS', '3.5.0'), + ('GeneMark-ET', '4.71'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +_libdir = 'lib/perl5/site_perl/%(perlver)s' + +exts_list = [ + ('Acme::Damn', '0.08', { + 'source_tmpl': 'Acme-Damn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IB/IBB'], + 'checksums': ['310d2d03ff912dcd42e4d946174099f41fe3a2dd57a497d6bd65baf1759b7e0e'], + }), + ('Sys::SigAction', '0.23', { + 'source_tmpl': 'Sys-SigAction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LB/LBAXTER'], + 'checksums': ['c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353'], + }), + ('forks', '0.36', { + 'source_tmpl': 'forks-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RY/RYBSKEJ'], + 'checksums': ['61be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993'], + }), + ('Perl::Unsafe::Signals', '0.03', { + 'source_tmpl': 'Perl-Unsafe-Signals-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['d311ae7d73e8d0c2346dfacb82aa952322e70cd928b09d502d739e60e35f829d'], + }), + ('Bit::Vector', '7.4', { + 'source_tmpl': 'Bit-Vector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/ST/STBEY'], + 'checksums': ['3c6daa671fecfbc35f92a9385b563d65f50dfc6bdc8b4805f9ef46c0d035a926'], + }), + ('Inline::C', '0.82', { + 'source_tmpl': 'Inline-C-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['10fbcf1e158d1c8d77e1dd934e379165b126a45c13645ad0be9dc07d151dd0cc'], + }), + ('IO::All', '0.87', { + 'source_tmpl': 'IO-All-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['54e21d250c0229127e30b77a3461e10077854ec244f26fb670f1b445ed4c4d5b'], + }), + ('IO::Prompt', '0.997004', { + 'source_tmpl': 'IO-Prompt-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCONWAY'], + 'checksums': ['f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615'], + }), + (name, version, { + 'modulename': False, + # fix hardcoded paths to libraries + 'preinstallopts': r"find ../ -type f -exec sed -i 's|RealBin/\.\./lib|RealBin/../%s|g' {} \; && " % _libdir, + 'postinstallcmds': [ + 'cp -a ../bin %(installdir)s/', + 'cp -an blib/lib/* ../lib/* %%(installdir)s/%s/' % _libdir, + ], + 'source_tmpl': 'Version_%(version)s.tar.gz', + 'source_urls': ['https://github.com/Yandell-Lab/maker/archive/refs/tags/'], + 'start_dir': 'src', + 'checksums': ['b9513585c90dc88288e903aff87bfddc7a66a39ec2b79619465ca7d679021fa7'], + }), +] + +modextrapaths = { + 'PERL5LIB': _libdir, +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', _libdir], +} + +sanity_check_commands = [ + 'maker --help', + 'maker2zff --help', + 'fasta_tool', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d0ad0cc2daeb --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'ConfigureMake' + +name = 'MATIO' +version = '1.5.23' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['b3b29fb394e1cfa3f98cd57bac013c0cf7716ae7a085e398f2dfaff8f976f0c5'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': ['include/matio.h', 'bin/matdump', 'lib/libmatio.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021a-9.10.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021a-9.10.1-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..f9fc548a6ee1 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021a-9.10.1-GCCcore-10.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'MATLAB-Engine' +_matlab_version = '2021a' +_engine_version = '9.10.1' +version = "%s-%s" % (_matlab_version, _engine_version) + +homepage = 'https://www.mathworks.com/help/matlab/matlab-engine-for-python.html' +description = """The MATLAB Engine API for Python provides a package for Python + to call MATLAB as a computational engine.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('MATLAB', _matlab_version, '', SYSTEM), + ('Python', '3.8.6'), +] + +use_pip = True + +exts_list = [ + ('matlabengine', _engine_version, { + 'modulename': 'matlab.engine', + 'checksums': ['c1610690dbe58ac00e74e8cbb20406208235ede47da7960238e0c2fd3bd496c0'], + }), +] + +sanity_pip_check = True + +# Test that connection with MATLAB can be established successfully +sanity_check_commands = ["python -c 'import matlab.engine; eng = matlab.engine.start_matlab(); eng.quit()'"] + +# Systems with old glibc (e.g. CentOS7) need to preload shim library +# modluafooter = """ +# setenv("LD_PRELOAD", pathJoin(os.getenv("EBROOTMATLAB"), "bin", "glnxa64", "glibc-2.17_shim.so")) +# """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021b-9.11.19-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021b-9.11.19-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..7bbd56299497 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021b-9.11.19-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'MATLAB-Engine' +_matlab_version = '2021b' +_engine_version = '9.11.19' +version = "%s-%s" % (_matlab_version, _engine_version) + +homepage = 'https://www.mathworks.com/help/matlab/matlab-engine-for-python.html' +description = """The MATLAB Engine API for Python provides a package for Python + to call MATLAB as a computational engine.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('MATLAB', _matlab_version, '', SYSTEM), + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('matlabengine', _engine_version, { + 'modulename': 'matlab.engine', + 'checksums': ['9385a13c27daa18f6cbfbe1669237e86692a51f317775a3f40e9e3d8090c679b'], + }), +] + +sanity_pip_check = True + +# Test that connection with MATLAB can be established successfully +sanity_check_commands = ["python -c 'import matlab.engine; eng = matlab.engine.start_matlab(); eng.quit()'"] + +# Systems with old glibc (e.g. CentOS7) need to preload shim library +# modluafooter = """ +# setenv("LD_PRELOAD", pathJoin(os.getenv("EBROOTMATLAB"), "bin", "glnxa64", "glibc-2.17_shim.so")) +# """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a-r3.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a-r3.eb new file mode 100644 index 000000000000..83496da19209 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a-r3.eb @@ -0,0 +1,28 @@ +name = 'MATLAB' +version = '2022a' +_update = '3' +versionsuffix = '-r%s' % _update + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%s_Update_%s_Linux.iso' % (version, _update)] +checksums = ['7fabee86864e5ac2da4096c2c13dd712b19022ec3fa1c2cc3680df85f3f11e15'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb new file mode 100644 index 000000000000..0e2c7e7f5aa7 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb @@ -0,0 +1,26 @@ +name = 'MATLAB' +version = '2022a' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%(version)s_Linux.iso'] +checksums = ['0d998829fd8b030b83581ca3db414a494a8ad937ad2ed3efefc846a5033fd795'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b.eb new file mode 100644 index 000000000000..0fce2dcfb9bf --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b.eb @@ -0,0 +1,26 @@ +name = 'MATLAB' +version = '2022b' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%(version)s_Linux.iso'] +checksums = ['46ae2e0a8cf2806b361215ab0f4d60de53d77093f268f252763f53fe76515788'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a2182c376d37 --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '14.137' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = [ + 'b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497', # mcl-14-137.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +configopts = '--enable-blast ' + +fix_perl_shebang_for = ['bin/%s' % x for x in ['mclblastline', 'mclpipeline', 'mcxdeblast']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clmformat', 'clxdo', 'mcl', 'mclblastline', 'mclcm', 'mclpipeline', 'mcx', + 'mcxarray', 'mcxassemble', 'mcxdeblast', 'mcxdump', 'mcxi', 'mcxload', 'mcxmap', + 'mcxrand', 'mcxsubs']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..dec97557a82d --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '22.282' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['291f35837b6e852743bd87e499c5a46936125dcdf334f7747af92e88ac902183'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('cimfomfa', '22.273'), +] + +configopts = '--enable-rcl ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clxdo', 'mcl', 'mcx', 'mcxarray', 'mcxdump', 'mcxi', + 'mcxload', 'mcxmap', 'mcxsubs', 'rcl', 'rcl-qc']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021a.eb new file mode 100644 index 000000000000..64300f8f2f7f --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021a.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('Biopython', '1.79'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), +] + +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.4.2-foss-2021a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2021a.eb new file mode 100644 index 000000000000..e5f35ff61b3c --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2021a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.4.2' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mrcfile', '1.4.3', { + 'checksums': ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'], + }), + ('GridDataFormats', '1.0.1', { + 'modulename': 'gridData', + 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], + }), + ('gsd', '2.8.0', { + 'checksums': ['f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + # MDAnalysis 2.4.x requires biopython >= 1.80 + ('biopython', '1.81', { + 'checksums': ['2cf38112b6d8415ad39d6a611988cd11fb5f33eb09346666a87263beba9614e0'], + 'runtest': "python setup.py test --offline", + 'modulename': 'Bio', + 'sanity_check_commands': ["python -c 'import Bio.MarkovModel'"], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['ae2ee5627391e73f74eaa3c547af3ec6ab8b040d27dedffe3a7ece8e0cd27636'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2022b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2022b.eb new file mode 100644 index 000000000000..0d0fa57284c9 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2022b.eb @@ -0,0 +1,57 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.4.2' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('Biopython', '1.81'), + ('networkx', '3.0'), + ('tqdm', '4.64.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mrcfile', '1.4.3', { + 'checksums': ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'], + }), + ('GridDataFormats', '1.0.1', { + 'modulename': 'gridData', + 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], + }), + ('gsd', '2.8.0', { + 'checksums': ['f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['ae2ee5627391e73f74eaa3c547af3ec6ab8b040d27dedffe3a7ece8e0cd27636'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..279dcf61042d --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'MEGAHIT' +version = '1.2.9' + +homepage = 'https://github.com/voutcn/megahit' +description = """An ultra-fast single-node solution for large and complex +metagenomics assembly via succinct de Bruijn graph""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('bzip2', '1.0.8'), + ('gzip', '1.10'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(namelower)s', + 'bin/%(namelower)s_core', + 'bin/%(namelower)s_core_no_hw_accel', + 'bin/%(namelower)s_core_popcnt', + 'bin/%(namelower)s_toolkit', + ], + 'dirs': [], +} + +sanity_check_commands = [ + "megahit --version", + "megahit --test", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..23927deb7b56 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'MEGAHIT' +version = '1.2.9' + +homepage = 'https://github.com/voutcn/megahit' +description = """An ultra-fast single-node solution for large and complex +metagenomics assembly via succinct de Bruijn graph""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('bzip2', '1.0.8'), + ('gzip', '1.12'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(namelower)s', + 'bin/%(namelower)s_core', + 'bin/%(namelower)s_core_no_hw_accel', + 'bin/%(namelower)s_core_popcnt', + 'bin/%(namelower)s_toolkit', + ], + 'dirs': [], +} + +sanity_check_commands = [ + "megahit --version", + "megahit --test", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEMOTE/MEMOTE-0.13.0-foss-2021a.eb b/easybuild/easyconfigs/m/MEMOTE/MEMOTE-0.13.0-foss-2021a.eb new file mode 100644 index 000000000000..9483459e6fdb --- /dev/null +++ b/easybuild/easyconfigs/m/MEMOTE/MEMOTE-0.13.0-foss-2021a.eb @@ -0,0 +1,134 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'MEMOTE' +version = '0.13.0' + +homepage = 'https://github.com/opencobra/memote' +description = """The genome-scale metabolic model test suite""" +# software_license = 'LicenseApachev2' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('COBRApy', '0.26.0'), + ('GitPython', '3.1.18'), + ('boto3', '1.20.13'), + ('openpyxl', '3.0.7'), + ('PyYAML', '5.4.1'), +] + +use_pip = True + +exts_list = [ + ('click-configfile', '0.2.3', { + 'checksums': ['95beec13bee950e98f43c81dcdabef4f644091559ea66298f9dadf59351d90d1'], + }), + ('click-log', '0.4.0', { + 'checksums': ['3970f8570ac54491237bcdb3d8ab5e3eef6c057df29f8c3d1151a51a9c23b975'], + }), + ('binaryornot', '0.4.4', { + 'checksums': ['359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('jinja2-time', '0.2.0', { + 'checksums': ['d14eaa4d315e7688daa4969f616f226614350c48730bfa1692d2caebd8c90d40'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '7.0.0', { + 'modulename': 'slugify', + 'checksums': ['7a0f21a39fa6c1c4bf2e5984c9b9ae944483fd10b54804cb0e23a3ccd4954f0b'], + }), + ('cookiecutter', '2.1.1', { + 'checksums': ['f3982be8d9c53dac1261864013fdec7f83afd2e42ede6f6dd069c5e149c540d5'], + }), + ('numpydoc', '1.1.0', { + 'checksums': ['c36fd6cb7ffdc9b4e165a43f67bf6271a7b024d0bb6b00ac468c9e2bfc76448e'], + }), + ('click-default-group', '1.2.2', { + 'checksums': ['d9560e8e8dfa44b3562fbc9425042a0fd6d21956fcc2db0077f63f34253ab904'], + }), + ('jsonpointer', '2.3', { + 'checksums': ['97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a'], + }), + ('datapackage', '1.15.2', { + 'checksums': ['1e91a18c866914dea0acfe2aec785e6ec583c33766b0682c740b30bb7de88c58'], + }), + ('simpleeval', '0.9.12', { + 'checksums': ['3e0be507486d4e21cf9d08847c7e57dd61a1603950399985f7c5a0be7fd33e36'], + }), + ('statistics', '1.0.3.5', { + 'checksums': ['2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138'], + }), + ('greenlet', '2.0.1', { + 'checksums': ['42e602564460da0e8ee67cb6d7236363ee5e131aa15943b6670e44e5c2ed0f67'], + }), + ('SQLAlchemy', '1.4.44', { + 'modulename': 'sqlalchemy', + 'checksums': ['2dda5f96719ae89b3ec0f1b79698d86eb9aecb1d54e990abb3fdd92c04b46a90'], + }), + ('unicodecsv', '0.14.1', { + 'checksums': ['018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc'], + }), + ('ijson', '3.1.4', { + 'checksums': ['1d1003ae3c6115ec9b587d29dd136860a81a23c7626b682e2b5b12c9fd30e4ea'], + }), + ('jsonlines', '3.1.0', { + 'checksums': ['2579cb488d96f815b0eb81629e3e6b0332da0962a18fa3532958f7ba14a5c37f'], + }), + ('linear-tsv', '1.1.0', { + 'modulename': 'tsv', + 'checksums': ['b504d78f4075615ae75de86a16e5680701a441fc84da2a2cf9f94351ab1ccbf5'], + }), + ('tabulator', '1.53.5', { + 'checksums': ['0e2887d0b36483a292e75b118d7f03e710c1337435553b5f62d2a7a891b7fe55'], + }), + ('cached-property', '1.5.2', { + 'checksums': ['9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('tableschema', '1.20.2', { + 'checksums': ['cfa3b0aa1c0941002384c6288794f9488cb5ea9188cf84ac700d17758cb036e7'], + }), + ('goodtables', '2.5.4', { + 'checksums': ['67c51ac98967684763adb6406f92a683571d144b3a80095b0351a65f49848027'], + }), + ('pylru', '1.2.1', { + 'checksums': ['47ad140a63ab9389648dadfbb4330700e0ffeeb28ec04664ee47d37ed133b0f4'], + }), + ('pyperclip', '1.6.0', { + 'checksums': ['ce829433a9af640e08ee89b20f7c62132714bcc5d77df114044d0fccb8c3b3b8'], + }), + ('travis-encrypt', '1.1.2', { + 'modulename': 'travis', + 'checksums': ['0eaec20d99fb7a6051dae39195a51d81c365097675ad921d6c6381eabf014ce5'], + }), + ('memote', version, { + 'checksums': ['574620e67e461c6a2003ecd2c9bda01cafe5919c4c6f1653e382b9d74d8af05c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/memote'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["memote"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..03684045b7f4 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +name = 'METIS' +version = '5.1.0' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview' + +description = """ + METIS is a set of serial programs for partitioning graphs, partitioning + finite element meshes, and producing fill reducing orderings for sparse + matrices. The algorithms implemented in METIS are based on the multilevel + recursive-bisection, multilevel k-way, and multi-constraint partitioning + schemes. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] + +# We use 32bit for indices and 64bit for content +patches = ['%(name)s-%(version)s-use-doubles.patch'] + +checksums = [ + '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2', # source + '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67', # patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MIGRATE-N/MIGRATE-N-5.0.4-foss-2021b.eb b/easybuild/easyconfigs/m/MIGRATE-N/MIGRATE-N-5.0.4-foss-2021b.eb new file mode 100644 index 000000000000..b27d825a42d5 --- /dev/null +++ b/easybuild/easyconfigs/m/MIGRATE-N/MIGRATE-N-5.0.4-foss-2021b.eb @@ -0,0 +1,49 @@ +easyblock = 'MakeCp' + +name = 'MIGRATE-N' +version = '5.0.4' + +homepage = 'https://peterbeerli.com/migrate-html5/index.html' +description = """ +Migrate estimates population parameters, effective population sizes +and migration rates of n populations, using genetic data. It +uses a coalescent theory approach taking into account history of +mutations and uncertainty of the genealogy. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ["https://peterbeerli.com/migrate-html5/download_version4"] +sources = ['migrate-%(version)s.src.tar.gz'] +patches = [ + 'migrate-%(version)s_install.patch', + 'migrate-%(version)s_locale.patch', +] +checksums = [ + 'd25ba8ed112b81ee5fdc77759a5886b0f50ece834fd8db445b9c833742c3a1b9', # migrate-5.0.4.src.tar.gz + 'aaba4dbd8d868f80afd9645ae84d5b8c153de85a4f616a8585950593655d6fcf', # migrate-5.0.4_install.patch + '67f2dec0a2fcd432e12747f979a381f7d5e5ad73b885b485c829e50613aba35b', # migrate-5.0.4_locale.patch +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +parallel = 1 +start_dir = 'src' + +prebuildopts = './configure --prefix=%(installdir)s --enable-A4 "CC=$CC" STDCPLUS=-lstdc++ && ' +buildopts = ' && make mpis CC="$MPICC"' +files_to_copy = [(['migrate-n', 'migrate-n-mpi'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['migrate-n', 'migrate-n-mpi']], + 'dirs': [], +} + +sanity_check_commands = [ + "echo Q | migrate-n", + "echo Q | mpirun -np 1 migrate-n-mpi", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_install.patch b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_install.patch new file mode 100644 index 000000000000..ba33af1af0ab --- /dev/null +++ b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_install.patch @@ -0,0 +1,14 @@ +Create parent directories during install +Author: B. Hajgato +Updated: Orient Kružík (INUITS) +--- migrate-5.0.3_orig/src/configure 2021-11-08 22:48:21.000000000 +0100 ++++ migrate-5.0.3/src/configure 2022-05-09 17:15:29.368752420 +0200 +@@ -4104,7 +4104,7 @@ + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then +- ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c -D" + break 3 + fi + fi \ No newline at end of file diff --git a/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_locale.patch b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_locale.patch new file mode 100644 index 000000000000..29cd65e5d996 --- /dev/null +++ b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_locale.patch @@ -0,0 +1,15 @@ +Don't use the xlocale.h header since it is an OS package and not always provided. +Author: R. van Dijk, 2018-03-07 +Updated by: Orient Kružík (INUITS) +--- migrate-5.0.3_orig/src/src/data.c 2022-04-03 00:11:20.000000000 +0200 ++++ migrate-5.0.3/src/src/data.c 2022-05-09 17:17:46.836503576 +0200 +@@ -53,9 +53,6 @@ + + #include + #include +-#ifndef WIN32 +-#include +-#endif + #include "migration.h" + #include "sighandler.h" + #include "tools.h" \ No newline at end of file diff --git a/easybuild/easyconfigs/m/MITgcmutils/MITgcmutils-0.1.2-foss-2022a.eb b/easybuild/easyconfigs/m/MITgcmutils/MITgcmutils-0.1.2-foss-2022a.eb new file mode 100644 index 000000000000..12bc9138bfa3 --- /dev/null +++ b/easybuild/easyconfigs/m/MITgcmutils/MITgcmutils-0.1.2-foss-2022a.eb @@ -0,0 +1,45 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'MITgcmutils' +version = '0.1.2' + +homepage = 'https://mitgcm.org/' +description = """A numerical model designed for study of the atmosphere, ocean, +and climate, MITgcm’s flexible non-hydrostatic formulation enables it to +efficiently simulate fluid phenomena over a wide range of scales; its adjoint +capabilities enable it to be applied to sensitivity questions and to parameter +and state estimation problems. By employing fluid equation isomorphisms, a +single dynamical kernel can be used to simulate flow of both the atmosphere +and ocean. The model is developed to perform efficiently on a wide variety of +computational platforms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['5f15e0ad7a1e2451532facd3e83e8a0a2cea41d5c04df8272c4d31780e28ab2d'], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'modulename': 'MITgcmutils', + }), +] + +sanity_check_paths = { + 'files': ['bin/gluemncbig'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "gluemncbig --help", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb b/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb index a653b96e11d7..26a5aed8aa34 100644 --- a/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb +++ b/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb @@ -41,7 +41,7 @@ sanity_check_paths = { 'dirs': [] } sanity_check_commands = [ - "bsmap -h 2>&1 | grep 'bsmap \[options\]'", + r"bsmap -h 2>&1 | grep 'bsmap \[options\]'", "mcall -h | grep 'Allowed options'", "mcomp -h | grep 'Allowed options for methComp'", "moabs 2>&1 | grep 'Version : %(version)s'", diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..64267d63a4ab --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonPackage' + +name = 'MONAI' +version = '0.8.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'Project-MONAI' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = [('b427c117250b24199ea88c0b3ec1a6d80a22958b4413b7c85c6318ef011f6479', + 'a63df7d5a680d9641c223ea090ff843a7d6f20bdb62095bd44f3b0480a4706ed')] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), + ('ITK', '5.2.1'), + ('NiBabel', '3.2.1'), + ('scikit-image', '0.18.3'), + ('tensorboard', '2.8.0'), + ('torchvision', '0.11.3', versionsuffix), + ('tqdm', '4.61.2'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = 'BUILD_MONAI=1' + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [''], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a.eb b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a.eb new file mode 100644 index 000000000000..2bdc812a6fe8 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'MONAI' +version = '0.8.0' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'Project-MONAI' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = [('b427c117250b24199ea88c0b3ec1a6d80a22958b4413b7c85c6318ef011f6479', + 'a63df7d5a680d9641c223ea090ff843a7d6f20bdb62095bd44f3b0480a4706ed')] + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), + ('ITK', '5.2.1'), + ('NiBabel', '3.2.1'), + ('scikit-image', '0.18.3'), + ('tensorboard', '2.8.0'), + ('torchvision', '0.11.3'), + ('tqdm', '4.61.2'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = 'BUILD_MONAI=1' + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [''], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..134fe42c2052 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'Project-MONAI' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('einops', '0.4.1'), + ('ITK', '5.2.1'), + ('NiBabel', '4.0.2'), + ('scikit-image', '0.19.3'), + ('tensorboard', '2.10.0'), + ('torchvision', '0.13.1', versionsuffix), + ('tqdm', '4.64.0'), +] + +exts_list = [ + (name, version, { + 'preinstallopts': 'BUILD_MONAI=1', + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': [('dc961e0adbe1b0c87b85f69377267d60c835f24eb03c8982a21b23a93c6ec36b', + 'bb1a84ea3c4cd2c3756f72359a891843e0efa02da17537fb158b28c4e0b2d243')], + }), +] + +use_pip = True + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a.eb new file mode 100644 index 000000000000..04560e4c6fdd --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.0.1' + +homepage = 'https://monai.io/' +description = """ +MONAI is a PyTorch-based, open-source framework for deep learning in healthcare +imaging, part of PyTorch Ecosystem. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'Project-MONAI' + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('einops', '0.4.1'), + ('ITK', '5.2.1'), + ('NiBabel', '4.0.2'), + ('scikit-image', '0.19.3'), + ('tensorboard', '2.10.0'), + ('torchvision', '0.13.1'), + ('tqdm', '4.64.0'), +] + +exts_list = [ + (name, version, { + 'preinstallopts': 'BUILD_MONAI=1', + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': [('dc961e0adbe1b0c87b85f69377267d60c835f24eb03c8982a21b23a93c6ec36b', + 'bb1a84ea3c4cd2c3756f72359a891843e0efa02da17537fb158b28c4e0b2d243')], + }), +] + +use_pip = True + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MOOSE/MOOSE-2021-05-18-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MOOSE/MOOSE-2021-05-18-foss-2019b-Python-3.7.4.eb new file mode 100644 index 000000000000..a46d5626ef06 --- /dev/null +++ b/easybuild/easyconfigs/m/MOOSE/MOOSE-2021-05-18-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,67 @@ +easyblock = 'Binary' + +name = 'MOOSE' +# corresponds to commit f5fa9f0 +version = '2021-05-18' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://mooseframework.inl.gov' +description = """The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics +framework primarily developed by Idaho National Laboratory""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.7.4'), + ('libpng', '1.6.37'), + ('libtirpc', '1.2.6'), + ('PETSc', '3.12.4', versionsuffix), + ('SLEPc', '3.12.2', versionsuffix), + ('VTK', '8.2.0', versionsuffix), + ('sympy', '1.5.1', versionsuffix), + ('ParMETIS', '4.0.3'), +] + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/idaholab', + 'repo_name': 'moose', + 'tag': version, + 'recursive': True, + 'keep_git_dir': True, + }, +}] +checksums = [None] + +extract_sources = True + +buildininstalldir = True + +# see https://mooseframework.inl.gov/getting_started/installation/hpc_install_moose.html +# enable building libmesh with -march=native +local_libmesg_configopts = "--disable-warnings --enable-march --with-mpi=$EBROOTMPI" +install_cmd = "sed 's/--disable-warnings/%s/g' scripts/update_and_rebuild_libmesh.sh && " % local_libmesg_configopts +# build vendored copy of libmesh +install_cmd += 'export CXXFLAGS="$CXXFLAGS -fpermissive -DLIBMESH_HAVE_XDR" && export MOOSE_JOBS="%(parallel)s V=1" && ' +install_cmd += "./scripts/update_and_rebuild_libmesh.sh --skip-submodule-update && " +# build MOOSE itself +install_cmd += "cd test && pwd && make -j %(parallel)s && make -j %(parallel)s hit && " +# run tests +install_cmd += "echo 'running tests' && export PYTHONPATH=%(installdir)s/moose/moosetools/contrib/hit:$PYTHONPATH && " +# run tests, but tolerate failures +install_cmd += "(python run_tests -j %(parallel)s --max-fails 100 || echo 'Some tests are failing!' >&2)" + +sanity_check_paths = { + 'files': ['moose/framework/libmoose-opt.%s' % SHLIB_EXT, + 'moose/moosetools/contrib/hit/hit.%s' % SHLIB_EXT, + 'moose/moosetools/contrib/hit/libhit-opt.%s' % SHLIB_EXT], + 'dirs': ['moose/libmesh', 'moose/python', 'moose/scripts'], +} + +modextrapaths = {'PYTHONPATH': ['moose/python', 'moose/moosetools/contrib/hit']} + +modextravars = {'MOOSE_DIR': '%(installdir)s/moose'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b0eae5a885a0 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.2.0' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MRCPP/MRCPP-1.4.1-foss-2022a.eb b/easybuild/easyconfigs/m/MRCPP/MRCPP-1.4.1-foss-2022a.eb new file mode 100644 index 000000000000..4eb89f1dcb15 --- /dev/null +++ b/easybuild/easyconfigs/m/MRCPP/MRCPP-1.4.1-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MRCPP' +version = '1.4.1' + +homepage = 'https://mrcpp.readthedocs.io' +description = """MultiResolution Computation Program Package""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/MRChemSoft/mrcpp/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f369d72cc37415e9a6bdc0692ec4f6c5cfcc22e34b9ce569470e656c45e5b86c'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Eigen', '3.4.0') +] + +configopts = "-DENABLE_MPI=True -DENABLE_OPENMP=True" +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libmrcpp.%s' % SHLIB_EXT], + 'dirs': ['include/MRCPP'] +} + +modextravars = {'MRCPP_DIR': '%(installdir)s/share/cmake/MRCPP/'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MRChem/MRChem-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/MRChem/MRChem-1.1.1-foss-2022a.eb new file mode 100644 index 000000000000..03ddfe84466c --- /dev/null +++ b/easybuild/easyconfigs/m/MRChem/MRChem-1.1.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'MRChem' +version = '1.1.1' + +homepage = 'https://mrchem.readthedocs.io' +description = """MRChem is a numerical real-space code for molecular electronic +structure calculations within the self-consistent field (SCF) approximations of +quantum chemistry: Hartree-Fock and Density Functional Theory.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/MRChemSoft/mrchem/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9926778edf8bb49fd4cde513faf6a887800ecf1791d1a71c0edae228ba6da646'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Eigen', '3.4.0') +] + +dependencies = [ + ('MRCPP', '1.4.1'), + ('Python', '3.10.4'), + ('XCFun', '2.1.1') +] + +configopts = "-DENABLE_MPI=True -DENABLE_OPENMP=True" +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mrchem', 'bin/mrchem.x'], + 'dirs': ['lib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb index 5c4845921c06..b9872da4d0ae 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2017b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['eb345cda145da9aea01b851d17e54e7eef08e16bfa148100ac1f7f046cd42ae9'] diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb index ea67534b6679..75d6a04770ae 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb index 5c7d17274b37..d10d2450e7dc 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver. This module is for its sequentia toolchain = {'name': 'foss', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': False} -source_urls = ['http://mumps.enseeiht.fr/'] # doesn't support https +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb index 718db19d94b1..6a6dbb4a649f 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb index 7d9a6bacb272..7072922653bc 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb index 849c31db3e01..6c29b89b5591 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2020a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb index 7e3d0011f82a..1dc132a103ae 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver. This module is for its sequentia toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': False} -source_urls = ['http://mumps.enseeiht.fr/'] # doesn't support https +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb index 1049b760c097..4e81acee6ea8 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb index 87578164d883..1acfe3342efd 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2019b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb index 6e411ccea17e..ca6f8b652a03 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb index c3b9ed471b2c..788e37ba4031 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2020b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb index 3e9e86cfe09a..2ccfcf5826fc 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2020b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb index 796b2daf5239..f35a1d8bdc85 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb @@ -11,7 +11,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2021a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-intel-2021a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-intel-2021a-metis.eb new file mode 100644 index 000000000000..fa811d068f92 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-intel-2021a-metis.eb @@ -0,0 +1,38 @@ +## +# Author: Robert Mijakovic +## +name = 'MUMPS' +version = '5.4.0' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + 'c613414683e462da7c152c131cebf34f937e79b30571424060dd673368bbf627', # MUMPS_5.4.0.tar.gz + '4c0558690998c12ca959c03856054a75e22f519583a65bd550393c1f81a0b170', # MUMPS-5.4.0_shared-pord.patch + 'd51c2df0de7d7b88d864ceba2d0eea46c755c24c7124003481aced106901109d', # MUMPS-5.4.0_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '6.1.0'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb index ce1f12d8b5d1..02f1645d955c 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb @@ -8,7 +8,7 @@ description = """A parallel sparse direct solver""" toolchain = {'name': 'foss', 'version': '2021b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-5.4.0_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb index 3971d5baaa7f..03dc589f2ea1 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2021b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-5.4.0_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb index 1b9876029cc8..8a0c06141638 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2021a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb index d9da01989eac..d5d20b8c5682 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2022a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d078c854c661 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'MUMmer' +version = '4.0.0rc1' + +homepage = 'https://mummer.sourceforge.net/' + +description = """ + MUMmer is a system for rapidly aligning entire genomes, + whether in complete or draft form. AMOS makes use of it. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/mummer', 'bin/annotate', 'bin/combineMUMs', 'bin/delta-filter', + 'bin/repeat-match', 'bin/show-aligns', 'bin/show-coords', + 'bin/show-tiling', 'bin/show-snps', 'bin/show-diff', 'bin/exact-tandems', + 'bin/mummerplot', 'bin/promer', 'bin/dnadiff', + ], + 'dirs': ['include', 'lib', 'libexec'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..f11b43042ac3 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '5.1.0' + +homepage = 'https://drive5.com/muscle/' +description = """MUSCLE is one of the best-performing multiple alignment programs + according to published benchmark tests, with accuracy and speed that are consistently + better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users + learn everything they need to know about MUSCLE in a few minutes-only a handful of + command-line options are needed to perform common alignment tasks.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +start_dir = 'src' + +# Use build environment defined by EasyBuild +prebuildopts = "sed -i 's/$(CPPOPTS)/$(CPPOPTS) $(CXXFLAGS) $(CPPFLAGS)/g' Makefile &&" +buildopts = "CPP=${CXX} CC=${CC}" + +files_to_copy = [(['Linux/muscle'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/muscle'], + 'dirs': [], +} + +sanity_check_commands = ["muscle -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb b/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb index b2b5f4620d9b..55b0a033ef82 100644 --- a/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb +++ b/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb @@ -2,7 +2,7 @@ name = 'MXNet' version = '0.9.3' versionsuffix = '-Python-%(pyver)s-R-%(rver)s' -homepage = 'http://mxnet.io/' +homepage = 'https://mxnet.io/' description = """Flexible and Efficient Library for Deep Learning""" toolchain = {'name': 'foss', 'version': '2016b'} @@ -30,7 +30,7 @@ checksums = [ dependencies = [ ('Python', '2.7.12'), - ('graphviz', '0.5.1', '-Python-%(pyver)s'), + ('graphviz-python', '0.5.1', '-Python-%(pyver)s'), ('OpenCV', '3.1.0'), ('R', '3.3.3', '-X11-20160819'), ] diff --git a/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.1.0-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.1.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..d86ebc68b08f --- /dev/null +++ b/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.1.0-GCC-11.3.0.eb @@ -0,0 +1,67 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2017 University of Geneva +# Authors:: Yann Sagon +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'ConfigureMake' + +name = 'MaSuRCA' +version = '4.1.0' + +homepage = 'https://www.genome.umd.edu/masurca.html' +software_license = 'LicenseGPLv3' + +description = '''MaSuRCA is whole genome assembly software. It combines the efficiency of the de Bruijn graph + and Overlap-Layout-Consensus (OLC) approaches. MaSuRCA can assemble data sets containing + only short reads from Illumina sequencing or a mixture of short reads and long reads + (Sanger, 454, Pacbio and Nanopore).''' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/alekseyzimin/masurca/releases/download/v%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['15078e24c79fe5aabe42748d64f95d15f3fbd7708e84d88fc07c4b7f2e4b0902'] + +builddependencies = [('patchelf', '0.15.0')] + +dependencies = [ + ('libreadline', '8.1.2'), + ('Tcl', '8.6.12'), + ('Boost', '1.79.0'), + ('zlib', '1.2.12'), + ('Perl', '5.34.1'), + ('bzip2', '1.0.8'), +] + +buildopts = "install-special" +start_dir = "global-1" + +postinstallcmds = [ + # fix location of 'bin' in install prefix in runCA and runCA-dedupe scripts + # escaping single quotes within single quotes is tricky, so we use $'...' to use ANSI C-like escaping + "sed -i $'s|^$bin =.*|$bin = \"$ENV{\'EBROOTMASURCA\'}/bin\";|g' %(installdir)s/bin/runCA", + "sed -i $'s|^$bin =.*|$bin = \"$ENV{\'EBROOTMASURCA\'}/bin\";|g' %(installdir)s/bin/runCA-dedupe", + # fix hardcoded path in masurca script, just point back to 'bin' subdirectory instead + "sed -i 's@../CA8/Linux-amd64/bin@../bin@g' %(installdir)s/bin/masurca", + # commands to install built-in version of Flye + "cd ../Flye && make && cp -a ../Flye %(installdir)s", + # fix missing RPATH + "patchelf --force-rpath --set-rpath '$ORIGIN' %(installdir)s/bin/falcon_sense", +] + +sanity_check_paths = { + 'files': ['bin/masurca', 'Flye/bin/flye'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [ + "masurca --help", + "runCA --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Magics/Magics-4.13.0-gompi-2022a.eb b/easybuild/easyconfigs/m/Magics/Magics-4.13.0-gompi-2022a.eb new file mode 100644 index 000000000000..3d7c2d18e8f8 --- /dev/null +++ b/easybuild/easyconfigs/m/Magics/Magics-4.13.0-gompi-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'Magics' +version = '4.13.0' + +homepage = 'https://confluence.ecmwf.int/display/MAGP/' + +description = """ +Magics is ECMWF's meteorological plotting software and can be either accessed +directly through its Python or Fortran interfaces or by using Metview.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/ecmwf/magics/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['bc9653754a9d655b14effd637d13dba6ecaf048d2f45cb8b70b3e262983b37bf'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('ecBuild', '3.7.0', '', SYSTEM), +] + +dependencies = [ + ('PROJ', '9.0.0'), + ('netCDF', '4.9.0'), + ('Pango', '1.50.7'), + ('expat', '2.4.8'), + ('ecCodes', '2.27.0'), +] + +_bins = ['magics', 'magicsCompatibilityChecker', 'magjson', 'magjsonx', 'magml', 'magmlx', 'metgram', 'metgram.sh', + 'metgramx'] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libMagPlus%s.%s' % (x, SHLIB_EXT) for x in ['', 'Double', 'Single']] + + ['bin/%s' % x for x in _bins], + 'dirs': ['bin', 'lib', 'include', 'share'] +} + +sanity_check_commands = ['magics 2>&1 | grep "^Usage: magics"'] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..5aaa05828b2f --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Mako' +version = '1.2.4' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34'] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mamba/Mamba-4.14.0-0.eb b/easybuild/easyconfigs/m/Mamba/Mamba-4.14.0-0.eb new file mode 100644 index 000000000000..aad49d0ae6b5 --- /dev/null +++ b/easybuild/easyconfigs/m/Mamba/Mamba-4.14.0-0.eb @@ -0,0 +1,28 @@ +# author: Caspar van Leeuwen +name = 'Mamba' +version = '4.14.0-0' + +homepage = 'https://mamba.readthedocs.io/' +description = """Mamba is a fast, robust, and cross-platform package manager. It runs on Windows, OS X and Linux +(ARM64 and PPC64LE included) and is fully compatible with conda packages and supports most of conda's commands. +""" + +toolchain = SYSTEM + +# Note: Using Mambaforge is the recommended way of installing mamba, +# according to https://mamba.readthedocs.io/en/latest/installation.html +local_name = 'Mambaforge' +source_urls = ['https://github.com/conda-forge/miniforge/releases/download/%(version)s'] +sources = ['{local_name}-%(version)s-Linux-%(arch)s.sh'.format(local_name=local_name)] +checksums = [ + { + '{local_name}-%(version)s-Linux-aarch64.sh'.format(local_name=local_name): + '37221b8d818951fab125c0bfb6cc6e83dac059f66892d2544a83192828d8e2c4', + '{local_name}-%(version)s-Linux-ppc64le.sh'.format(local_name=local_name): + '607bbd38aa21af4c79a663f2a183a06cca054efdd8d617c17370522504c7be1e', + '{local_name}-%(version)s-Linux-x86_64.sh'.format(local_name=local_name): + 'd47b78b593e3cf5513bafbfa6a51eafcd9f0e164c41c79c790061bb583c82859', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Maple/Maple-2022.1.eb b/easybuild/easyconfigs/m/Maple/Maple-2022.1.eb new file mode 100644 index 000000000000..7b1b8e51ca86 --- /dev/null +++ b/easybuild/easyconfigs/m/Maple/Maple-2022.1.eb @@ -0,0 +1,15 @@ +name = 'Maple' +version = '2022.1' + +homepage = 'http://www.maplesoft.com/products/maple/' +description = """Maple combines the world's most powerful mathematical computation engine with an intuitive, + 'clickable' user interface.""" + +toolchain = SYSTEM + +sources = ['%(name)s%(version)sLinuxX64Installer.run'] +checksums = ['9a1733030b26d9ed915ac638f218e897dc0d9307b2ef6238a723fc4f2da3c744'] + +license_server = 'license.example.com' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.11.2-GCC-12.2.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.11.2-GCC-12.2.0.eb new file mode 100644 index 000000000000..37fce889bdce --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.11.2-GCC-12.2.0.eb @@ -0,0 +1,68 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '10.11.2' + +homepage = 'https://mariadb.org/' +description = """MariaDB is an enhanced, drop-in replacement for MySQL. +Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] +checksums = [ + {'mariadb-10.11.2.tar.gz': '1c89dee0caed0f68bc2a1d203eb98a123150e6a179f6ee0f1fc0ba3f08dc71dc'}, + {'MariaDB-10.1.13-link-rt-for-jemalloc.patch': '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('libaio', '0.3.113'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.4'), # optional + ('XZ', '5.2.7'), # optional + ('jemalloc', '5.3.0'), # optional + ('snappy', '1.1.9'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.10.3'), # needed by Connect XML + ('Boost', '1.81.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph + ('PCRE2', '10.40'), + ('OpenSSL', '1.1', '', SYSTEM), # runtime dep for mysql and PCRE2 for mysqltest +] + +separate_build_dir = True + +configopts = "-DCMAKE_BUILD_TYPE=Release " +configopts += "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) +configopts += "-DWITH_PCRE=auto " # External download sometimes fails so we build PCRE2 directly. +configopts += "-DWITH_ZLIB=system " +configopts += "-DWITH_EMBEDDED_SERVER=ON " # for libmysqld.so & co +configopts += "-DWITH_SAFEMALLOC=OFF " # Disable memory debugger with jemalloc + +sanity_check_commands = ["mysql --help", "mysqltest --help"] + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'lib/libmysqld.%s' % SHLIB_EXT, + 'lib/plugin/ha_connect.%s' % SHLIB_EXT, 'lib/plugin/ha_rocksdb.%s' % SHLIB_EXT, + 'lib/plugin/ha_oqgraph.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': 'scripts'} + +# Ensure that jemalloc does not use transparent hugepages. +# Database workloads with THP can cause memory bloat, potentially hiting OOM errors. +modextravars = {'MALLOC_CONF': 'thp:never'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb index 0e511067f4c8..3d259b0a5377 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb @@ -9,7 +9,10 @@ Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" toolchain = {'name': 'gompi', 'version': '2019b'} -source_urls = ['http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source'] +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] sources = [SOURCELOWER_TAR_GZ] patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] checksums = [ diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb index 6fe1eb0f6cc9..0b8c7c5e0950 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb @@ -11,6 +11,7 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} local_pcre2_ver = '10.34' source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', 'https://downloads.sourceforge.net/project/pcre/pcre2/%s/' % local_pcre2_ver, ] diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb index 725b0d44831c..9489b0bacd21 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb @@ -11,6 +11,7 @@ toolchain = {'name': 'GCC', 'version': '10.3.0'} local_pcre2_ver = '10.37' source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', 'https://downloads.sourceforge.net/project/pcre/pcre2/%s/' % local_pcre2_ver, ] diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb index c6e9f4939352..aefe88e5390f 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb @@ -9,7 +9,10 @@ Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" toolchain = {'name': 'GCC', 'version': '11.2.0'} -source_urls = ['http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source'] +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] sources = [SOURCELOWER_TAR_GZ] patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] checksums = [ diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb index 12a89338f1ea..d090e5a8ce7a 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb @@ -9,7 +9,10 @@ Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" toolchain = {'name': 'GCC', 'version': '11.3.0'} -source_urls = ['http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source'] +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] sources = [SOURCELOWER_TAR_GZ] patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] checksums = [ diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.3.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..157dc810cfd6 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.3.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.3.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', '20220317')] +dependencies = [ + ('CapnProto', '0.10.2'), + ('GSL', '2.7'), + ('zlib', '1.2.12'), +] + +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/Mathematica/Mathematica-13.1.0.eb b/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb new file mode 100644 index 000000000000..29426ff5cb2d --- /dev/null +++ b/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb @@ -0,0 +1,15 @@ +name = 'Mathematica' +version = '13.1.0' + +homepage = 'https://www.wolfram.com/mathematica' +description = """Mathematica is a computational software program used in many scientific, engineering, mathematical +and computing fields.""" + +toolchain = SYSTEM + +sources = ['Mathematica_%(version)s_LINUX.sh'] +checksums = ['199c9462c971fcce1a148dcf8fd3acc37ff0efdfc9a7fe13de6444dbbee936e3'] + +license_server = 'license.example.com' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021a.eb b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021a.eb new file mode 100644 index 000000000000..338bf18f42b6 --- /dev/null +++ b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'MaxBin' +version = '2.2.7' + +# https://downloads.jbei.org/data/microbial_communities/MaxBin/MaxBin.html doesn't work +homepage = 'https://sourceforge.net/projects/maxbin/' +description = """MaxBin is software for binning assembled metagenomic sequences +based on an Expectation-Maximization algorithm.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['cb6429e857280c2b75823c8cd55058ed169c93bc707a46bde0c4383f2bffe09e'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Perl', '5.32.1'), + ('Bowtie2', '2.4.4'), + ('FragGeneScan', '1.31'), + ('HMMER', '3.3.2'), + ('IDBA-UD', '1.1.3'), +] + +prebuildopts = "cd src && " + +files_to_copy = ['*'] + +fix_perl_shebang_for = ['run_MaxBin.pl'] + +sanity_check_paths = { + 'files': ['run_MaxBin.pl', 'src/MaxBin'], + 'dirs': [], +} + +modextrapaths = {'PATH': ['', 'src']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.2.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.2.0.0-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..f12c0cf7c87c --- /dev/null +++ b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.2.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'Tarball' + +name = 'MaxQuant' +version = '2.2.0.0' + +homepage = 'https://maxquant.org/maxquant' +description = """MaxQuant is a quantitative proteomics software package designed for analyzing large + mass-spectrometric data sets. It is specifically aimed at high-resolution MS data. Several labeling + techniques as well as label-free quantification are supported.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +download_instructions = """ +To download the MaxQuant source tarball, register at: + https://www.maxquant.org/download_asset/maxquant/latest +You should receive a unique download URL via email. +""" + +sources = ['%(name)s_v%(version)s.zip'] +checksums = ['4a286f33b701d0c03045dbde937e342ec4ea9d75b4f76d27b7dc7daac9cc89ab'] + +dependencies = [('Mono', '6.12.0.122')] + +sanity_check_paths = { + 'files': ['%(name)s.exe', 'bin/%(name)sCmd.exe', 'bin/%(name)sGui.exe'], + 'dirs': [], +} + +sanity_check_commands = [ + ("mono $EBROOTMAXQUANT/bin/MaxQuantCmd.exe --version 2>&1 | grep -q %(version)s", ''), + ("mono $EBROOTMAXQUANT/bin/MaxQuantCmd.exe --help 2>&1 | grep -q USAGE", '')] + +modaliases = { + 'maxquantcmd': 'mono $EBROOTMAXQUANT/bin/%(name)sCmd.exe', + 'maxquantgui': 'mono $EBROOTMAXQUANT/bin/%(name)sGui.exe', +} + +modloadmsg = """ +To run MaxQuant in command-line mode: maxquantcmd + in GUI mode: maxquantgui +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-22.2.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-22.2.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f59d911be6ac --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-22.2.4-GCCcore-12.2.0.eb @@ -0,0 +1,69 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers enabled (swr deprecated as of v22): +# - llvmpipe: uses LLVM for JIT code generation (multi-threaded) +# - softpipe: a reference Gallium driver +# Default renderer is llvmpipe. To use softpipe, set the environment +# variable GALLIUM_DRIVER=softpipe + +name = 'Mesa' +version = '22.2.4' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['65d76b53ca5c7b46019e0e8e5b414de45d2fecd3fcd71707f6c3bc7691c9f7ab'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.9.3'), + ('Mako', '1.2.4'), + ('libxml2', '2.10.3'), + ('expat', '2.4.9'), + ('gettext', '0.21.1'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), + ('libdrm', '2.4.114'), + ('libglvnd', '1.6.0'), + ('libunwind', '1.6.2'), + ('LLVM', '15.0.5'), + ('X11', '20221110'), +] + +configopts = "-Dplatforms=x11 -Dosmesa=true -Ddri-drivers='' -Dvulkan-drivers='' " +configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" + +# Easybuild will automatically add appropriate Gallium drivers for the processor architecture of the host +# If you need a different configuration, it possible to override those values by setting your own configopts +# configopts += " -Dgallium-drivers=swrast" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +# Tells libglvnd where to find EGL libraries +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "share/glvnd/egl_vendor.d"} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Meson/Meson-0.64.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Meson/Meson-0.64.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..167a5228187b --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-0.64.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '0.64.0' + +homepage = 'https://mesonbuild.com' +description = "Meson is a cross-platform build system designed to be both as fast and as user friendly as possible." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c5e27e091c2a35b9049e152a6535045ebbd057253aeb67856de6ecbb7b917bab'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), # includes required 'wheel' package + ('Ninja', '1.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'mesonbuild'} + +sanity_check_paths = { + 'files': ['bin/meson'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["meson --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb index 7746c998d4c7..d906664f6db3 100644 --- a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb @@ -14,8 +14,10 @@ toolchain = {'name': 'gompi', 'version': '2019a'} source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] sources = ['v%(version)s.tar.gz'] +patches = ['MetaBAT-2.15_zlib-htslib.patch'] checksums = [ - 'd43d5e91afa8f2d211a913739127884669516bfbed870760597fcee2b513abe2', # v2.14.tar.gz + {'v2.14.tar.gz': 'd43d5e91afa8f2d211a913739127884669516bfbed870760597fcee2b513abe2'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, ] multi_deps = {'Python': ['3.7.2', '2.7.15']} @@ -35,9 +37,11 @@ dependencies = [ ('bzip2', '1.0.6'), ] -fix_perl_shebang_for = ['bin/*.pl'] +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' -prebuildopts = "cp -a $EBROOTSAMTOOLS samtools && " +fix_perl_shebang_for = ['bin/*.pl'] sanity_check_paths = { 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-GCC-11.2.0.eb new file mode 100644 index 000000000000..88b778ef4827 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-GCC-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'MetaBAT' +version = '2.15' + +homepage = 'https://bitbucket.org/berkeleylab/metabat' +description = """MetaBAT: A robust statistical framework for +reconstructing genomes from metagenomic data""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +bitbucket_account = 'berkeleylab' +source_urls = [BITBUCKET_SOURCE] +sources = ['v%(version)s.tar.bz2'] +patches = [ + '%(name)s-%(version)s_use_eb_zlib_and_htslib_and_flags.patch', +] +checksums = [ + {'v2.15.tar.bz2': 'c6bf3a64bbb4e8a25cd10e115b9f277d768552d0b299ad3b81d7d95762c0bfe4'}, + {'MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch': + '28abeeb269dc1fb86d213a11a2c6f311e31702c14cef50f386e0649237689953'}, +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.77.0'), + ('HTSlib', '1.14'), + ('Perl', '5.34.0'), +] + +fix_perl_shebang_for = ['bin/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['aggregateBinDepths.pl', 'aggregateContigOverlapsByBin.pl', 'contigOverlaps', + 'jgi_summarize_bam_contig_depths', 'merge_depths.pl', 'metabat', 'runMetaBat.sh']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb index 827c80520e1b..0852b759a008 100644 --- a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb @@ -11,7 +11,15 @@ toolchain = {'name': 'gompi', 'version': '2020b'} source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] sources = ['v%(version)s.tar.gz'] -checksums = ['550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'] +patches = [ + 'MetaBAT-2.15_zlib-htslib.patch', + 'MetaBAT-2.15_fix-aarch64.patch', +] +checksums = [ + {'v2.15.tar.gz': '550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, + {'MetaBAT-2.15_fix-aarch64.patch': '061b43d6c0ac4a9acf3bd7cf3c62efc856661993a61e7d4652ed68aafb7aa7af'}, +] builddependencies = [ ('binutils', '2.35'), @@ -29,9 +37,11 @@ dependencies = [ ('bzip2', '1.0.8'), ] -fix_perl_shebang_for = ['bin/*.pl'] +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' -prebuildopts = "cp -a $EBROOTSAMTOOLS samtools && " +fix_perl_shebang_for = ['bin/*.pl'] sanity_check_paths = { 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021a.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021a.eb new file mode 100644 index 000000000000..dc2afdaad6f7 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021a.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'MetaBAT' +version = '2.15' + +homepage = 'https://bitbucket.org/berkeleylab/metabat' +description = "An efficient tool for accurately reconstructing single genomes from complex microbial communities" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'MetaBAT-2.15_zlib-htslib.patch', + 'MetaBAT-2.15_fix-aarch64.patch', +] +checksums = [ + {'v2.15.tar.gz': '550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, + {'MetaBAT-2.15_fix-aarch64.patch': '061b43d6c0ac4a9acf3bd7cf3c62efc856661993a61e7d4652ed68aafb7aa7af'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('Boost', '1.76.0'), + ('zlib', '1.2.11'), + ('SAMtools', '1.13'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), +] + +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb index 3a2f07771f63..3ffd2f882775 100644 --- a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb @@ -10,7 +10,15 @@ toolchain = {'name': 'gompi', 'version': '2021b'} source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] sources = ['v%(version)s.tar.gz'] -checksums = ['550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'] +patches = [ + 'MetaBAT-2.15_zlib-htslib.patch', + 'MetaBAT-2.15_fix-aarch64.patch', +] +checksums = [ + {'v2.15.tar.gz': '550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, + {'MetaBAT-2.15_fix-aarch64.patch': '061b43d6c0ac4a9acf3bd7cf3c62efc856661993a61e7d4652ed68aafb7aa7af'}, +] builddependencies = [ ('binutils', '2.37'), @@ -28,9 +36,11 @@ dependencies = [ ('bzip2', '1.0.8'), ] -fix_perl_shebang_for = ['bin/*.pl'] +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' -prebuildopts = "cp -a $EBROOTSAMTOOLS samtools && " +fix_perl_shebang_for = ['bin/*.pl'] sanity_check_paths = { 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_fix-aarch64.patch b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_fix-aarch64.patch new file mode 100644 index 000000000000..b3029a247bff --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_fix-aarch64.patch @@ -0,0 +1,31 @@ +fixes "error: impossible constraint in asm" when building on aarch64/amr64 +see https://bitbucket.org/berkeleylab/metabat/issues/151 +From a01eafa174e01f6a46ef71b63daa7695d2c3834e Mon Sep 17 00:00:00 2001 +From: Rob Egan +Date: Mon, 26 Sep 2022 09:19:32 -0700 +Subject: [PATCH] removed unused function using assembly types + +--- + src/metabat2.h | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/metabat2.h b/src/metabat2.h +index b1cb5d3..7accc1a 100644 +--- a/src/metabat2.h ++++ b/src/metabat2.h +@@ -258,12 +258,6 @@ public: + + void gen_tnf_graph(Graph& g, Similarity cutoff); + +-unsigned long long rdtsc() { +- unsigned int lo, hi; +- __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); +- return ((unsigned long long) hi << 32) | lo; +-} +- + static void trim_fasta_label(std::string &label) { + size_t pos = label.find_first_of(" \t"); + if (pos != std::string::npos) +-- +2.38.1 + diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch new file mode 100644 index 000000000000..d0ccfd3bcbe2 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch @@ -0,0 +1,80 @@ +Use EasyBuild versions of zlib and HTSlib instead of internal + +Åke Sandgren, 20230224 +diff -ru berkeleylab-metabat-0db17a40717d.orig/CMakeLists.txt berkeleylab-metabat-0db17a40717d/CMakeLists.txt +--- berkeleylab-metabat-0db17a40717d.orig/CMakeLists.txt 2020-01-04 21:14:21.000000000 +0100 ++++ berkeleylab-metabat-0db17a40717d/CMakeLists.txt 2023-02-24 16:31:12.180989564 +0100 +@@ -7,9 +7,20 @@ + + message("Installing ${CMAKE_BUILD_TYPE} MetaBAT into ${CMAKE_INSTALL_PREFIX}") + +-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) +-include(cmake/zlib.cmake) +-include(cmake/htslib.cmake) ++#include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) ++#include(cmake/zlib.cmake) ++#include(cmake/htslib.cmake) ++ ++include(FindZLIB) ++ ++find_package(PkgConfig) ++pkg_check_modules(PKGC_HTSLIB htslib) ++if(PKGC_HTSLIB_FOUND) ++ set(HTSLIB_FOUND ${PKGC_HTSLIB_FOUND}) ++ set(HTSLIB_LIBRARIES "${PKGC_HTSLIB_LINK_LIBRARIES}") ++else() ++ message(ERROR "Can't find htslib") ++endif() + + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +@@ -31,10 +42,10 @@ + # using AppleClang + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + # using GCC +- if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mtune=native") +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mtune=native") +- endif() ++# if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") ++# set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mtune=native") ++# set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mtune=native") ++# endif() + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") + # using Intel C++ + endif() +Only in berkeleylab-metabat-0db17a40717d: .CMakeLists.txt.swp +diff -ru berkeleylab-metabat-0db17a40717d.orig/src/CMakeLists.txt berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt +--- berkeleylab-metabat-0db17a40717d.orig/src/CMakeLists.txt 2020-01-04 21:14:21.000000000 +0100 ++++ berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt 2023-02-24 16:42:42.035750712 +0100 +@@ -1,6 +1,6 @@ + # find and use Boost +-set(Boost_NO_BOOST_CMAKE ON) # for backwards comptibility of cmake and boost >= 1.70 +-set(Boost_USE_STATIC_LIBS ON) ++#set(Boost_NO_BOOST_CMAKE ON) # for backwards comptibility of cmake and boost >= 1.70 ++#set(Boost_USE_STATIC_LIBS ON) + find_package(Boost 1.55.0 COMPONENTS program_options filesystem system graph serialization iostreams REQUIRED) + include_directories( ${Boost_INCLUDE_DIRS} ) + +@@ -36,8 +36,8 @@ + foreach(target ${targets}) + + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) +- target_link_libraries(${target} ${zlib_LIB} ${Boost_LIBRARIES} ${EXTRALIBS} ) ++ #add_dependencies(${target} htslib zlib check_git_repository) ++ target_link_libraries(${target} ${ZLIB_LIBRARIES} ${Boost_LIBRARIES} ${EXTRALIBS} ) + + endforeach() + +@@ -48,8 +48,8 @@ + set(targets jgi_summarize_bam_contig_depths contigOverlaps) + foreach(target ${targets}) + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) +- target_link_libraries(${target} ${htslib_LIB} ${zlib_LIB} ${Boost_LIBRARIES} ) ++ #add_dependencies(${target} htslib zlib check_git_repository) ++ target_link_libraries(${target} ${HTSLIB_LIBRARIES} ${ZLIB_LIBRARIES} ${Boost_LIBRARIES} ) + endforeach() + + diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_zlib-htslib.patch b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_zlib-htslib.patch new file mode 100644 index 000000000000..9914848cdc07 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_zlib-htslib.patch @@ -0,0 +1,35 @@ +avoid downloading and building of zlib and htslib, since they're provided as dependencies by EasyBuild +author: Kenneth Hoste (HPC-UGent) +--- berkeleylab-metabat-0db17a40717d/CMakeLists.txt.orig 2022-11-11 12:11:10.473978638 +0000 ++++ berkeleylab-metabat-0db17a40717d/CMakeLists.txt 2022-11-11 12:12:34.246072148 +0000 +@@ -8,8 +8,8 @@ + message("Installing ${CMAKE_BUILD_TYPE} MetaBAT into ${CMAKE_INSTALL_PREFIX}") + + include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) +-include(cmake/zlib.cmake) +-include(cmake/htslib.cmake) ++set(zlib_LIB ${ZLIB_LIBRARY}) ++set(htslib_LIB ${HTSLIB_LIBRARY}) + + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +--- berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt.orig 2022-11-11 12:23:52.313823937 +0000 ++++ berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt 2022-11-11 12:24:18.424465217 +0000 +@@ -36,7 +36,7 @@ + foreach(target ${targets}) + + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) ++ add_dependencies(${target} check_git_repository) + target_link_libraries(${target} ${zlib_LIB} ${Boost_LIBRARIES} ${EXTRALIBS} ) + + endforeach() +@@ -48,7 +48,7 @@ + set(targets jgi_summarize_bam_contig_depths contigOverlaps) + foreach(target ${targets}) + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) ++ add_dependencies(${target} check_git_repository) + target_link_libraries(${target} ${htslib_LIB} ${zlib_LIB} ${Boost_LIBRARIES} ) + endforeach() + diff --git a/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.3.0.eb new file mode 100644 index 000000000000..3077d3306809 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MetaEuk' +version = '6' +local_commit = 'a5d39d9' + +homepage = 'https://metaeuk.soedinglab.org' +description = """MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic + metagenomic contigs.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/soedinglab/%(namelower)s/archive'] +sources = ['%%(version)s-%s.tar.gz' % local_commit] +checksums = ['be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/metaeuk'], + 'dirs': [], +} + +sanity_check_commands = ["metaeuk --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-4.0.6-foss-2022a.eb b/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-4.0.6-foss-2022a.eb new file mode 100644 index 000000000000..16e6771ac7d7 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-4.0.6-foss-2022a.eb @@ -0,0 +1,48 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonBundle' + +name = 'MetaPhlAn' +version = '4.0.6' + +homepage = 'https://github.com/biobakery/MetaPhlAn' +description = """MetaPhlAn is a computational tool for profiling the composition + of microbial communities from metagenomic shotgun sequencing data """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('DendroPy', '4.5.2'), + ('CMSeq', '1.0.4'), + ('biom-format', '2.1.14'), + ('h5py', '3.7.0'), + ('PhyloPhlAn', '3.0.3'), +] + +use_pip = True + +exts_list = [ + ('hclust2', '1.0.0', { + 'checksums': ['9667f1d16628940aedd3d1d571b956a6f77795018e3ea4dd83f234419eb0096d'], + }), + (name, version, { + 'checksums': ['e810d6b894ec6d0029255407f03a7dea1753ff65bde333ab34b40544cfb5553e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'strainphlan']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["metaphlan -h"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb b/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb index 767b61a3fb85..688e013bf5f1 100644 --- a/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb +++ b/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb @@ -26,7 +26,7 @@ local_metaxa2_scripts = ['metaxa2', 'metaxa2_c', 'metaxa2_dbb', 'metaxa2_dc', 'm fix_perl_shebang_for = local_metaxa2_scripts postinstallcmds = [ - "sed -i 's/^\$plus = 0;/$plus = 1; # use blastn + blastdbcmd provided by BLAST+/g' %(installdir)s/metaxa2{,_c}", + r"sed -i 's/^\$plus = 0;/$plus = 1; # use blastn + blastdbcmd provided by BLAST+/g' %(installdir)s/metaxa2{,_c}", ] modextrapaths = {'PATH': ''} diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-22.11.1-1.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-22.11.1-1.eb new file mode 100644 index 000000000000..9b74ed9e7b12 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-22.11.1-1.eb @@ -0,0 +1,17 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '22.11.1-1' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +sources = ['%(name)s-py38_%(version)s-Linux-x86_64.sh'] +checksums = ['473e5ecc8e078e9ef89355fbca21f8eefa5f9081544befca99867c7beac3150d'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-4.12.0.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-4.12.0.eb new file mode 100644 index 000000000000..5521f6fcca45 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-4.12.0.eb @@ -0,0 +1,17 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '4.12.0' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +sources = ['%(name)s-py38_%(version)s-Linux-x86_64.sh'] +checksums = ['3190da6626f86eee8abf1b2fd7a5af492994eb2667357ee4243975cdbb175d7a'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/Molden/Molden-7.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..af605779f962 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.1-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'MakeCp' + +name = 'Molden' +version = '7.1' + +homepage = 'https://www.theochem.ru.nl/molden/' +description = """Molden is a package for displaying Molecular Density from the + Ab Initio packages GAMESS-UK, GAMESS-US and GAUSSIAN and the Semi-Empirical + packages Mopac/Ampac""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.science.ru.nl/Molden/'] +sources = ['%(namelower)s%(version)s.tar.gz'] +patches = [ + 'Molden-7.1_fix_makefile_for_easybuild.patch', + 'Molden-7.1_fix_arg_handling.patch', +] +checksums = [ + '98a39f0aa1667c14c36f40c0251522984245e5ba282af8fbc8a2f06079e40d43', # molden7.1.tar.gz + '78c9dd75fdc4c62392bb4284c377fbfd8bdae51f3f867540266723c3a978789c', # Molden-7.1_fix_makefile_for_easybuild.patch + 'e69941737369ec76049b4bd5d0e008d1e200b7043e44dae83ae058144699e924', # Molden-7.1_fix_arg_handling.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('makedepend', '1.0.7'), +] + +dependencies = [ + ('X11', '20220504'), + ('libglvnd', '1.4.0'), + ('libGLU', '9.0.2'), +] + +buildopts = 'CC="$CC" FC="$F90" FFLAGS="$FFLAGS -fallow-argument-mismatch" all' + +parallel = 1 + +files_to_copy = [(['bin/%s' % x for x in ['ambfor', 'ambmd', 'gmolden', 'molden', 'surf']], 'bin'), + 'CopyRight', 'README', 'REGISTER'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ambfor', 'ambmd', 'gmolden', 'molden', 'surf']] + ['README', 'REGISTER'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_arg_handling.patch b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_arg_handling.patch new file mode 100644 index 000000000000..e01ce216125a --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_arg_handling.patch @@ -0,0 +1,24 @@ +# Use F2003 functions for argument handling. +# Author: maxim-masterv (SURF) +diff -Nru molden7.1.orig/src/molden.f molden7.1/src/molden.f +--- molden7.1.orig/src/molden.f 2022-05-06 22:35:25.000000000 +0200 ++++ molden7.1/src/molden.f 2022-11-29 20:17:13.900597108 +0100 +@@ -3813,15 +3813,15 @@ + endif + + iredir = 0 +- nargs = iargc() +- call getarg(0,liris) ++ nargs = COMMAND_ARGUMENT_COUNT() ++ call GET_COMMAND_ARGUMENT(0,liris) + call parsfn(liris,linlen(liris),20) + + ntargs = 0 + n = 0 + if (nargs.gt.0) then + 2013 n = n + 1 +- call getarg(n,liris) ++ call GET_COMMAND_ARGUMENT(n,liris) + if (liris(1:1).eq.'-') then + if (liris(1:2).eq.'-5') ido5d = 1 + if (liris(1:2).eq.'-7') ido7f = 1 diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_makefile_for_easybuild.patch b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_makefile_for_easybuild.patch new file mode 100644 index 000000000000..b02b9c70f558 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_makefile_for_easybuild.patch @@ -0,0 +1,82 @@ +# Make makefile EasyBuild friendly. +# Author: maxim-masterov (SURF) +diff -Nru molden7.1.orig/makefile molden7.1/makefile +--- molden7.1.orig/makefile 2022-01-21 12:28:48.000000000 +0100 ++++ molden7.1/makefile 2022-11-29 20:26:40.997854074 +0100 +@@ -13,10 +13,10 @@ + # Disregard compiler warnings on rdmolf.f + # + # +-CC = cc ++#CC = cc + LIBS = -lX11 -lm + LDR = ${FC} +-LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lXmu -lX11 -lm ++LIBSG = -lGLU -lGL -lXmu -lX11 -lm + ARCH := $(shell getconf LONG_BIT) + AFLAG= -m$(ARCH) + EXTEN= +@@ -29,20 +29,6 @@ + uname := $(shell uname -s) + os := + +-ifeq ($(uname), Linux) +- os := $(shell head -n 1 /etc/issue | cut -d" " -f1) +- ifeq ($(os), Ubuntu) +- EXTEN = exten +- EXTENZ = exten2 +- LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lX11 -lm +- endif +- ifeq ($(os), Debian) +- LIBSG = -L/usr/lib/X11 -lGLU -lGL -lX11 -lm +- endif +- +- choosefc := 'yes' +-endif +- + ifneq (,$(findstring CYGWIN,$(uname))) + uname := Linux + choosefc := 'yes' +@@ -52,18 +38,6 @@ + choosefc := 'yes' + endif + +- +-ifneq ($(choosefc), $(empty)) +- comg77 := $(shell which g77 | grep -i g77) +- comgfort := $(shell which gfortran | grep -i gfortran) +- ifneq ($(comg77), $(empty)) +- FC = g77 +- endif +- ifneq ($(comgfort), $(empty)) +- FC = gfortran +- endif +-endif +- + print-% : ; @echo $* = $($*) + # + # Linux version +@@ -108,17 +82,17 @@ + EXT = ${EXTRAZ} + endif + FFLAGS = -g ${AFLAG} +-LIBS = -L/usr/X11R6/lib -lX11 -lm ++LIBS = -lX11 -lm + ifeq ($(AFLAG),"-m64") +-LIBS = -L/usr/X11R6/lib64 -lX11 -lm ++LIBS = -lX11 -lm + endif + LDR = ${FC} -g ${AFLAG} +-CFLAGS = ${AFLAG} ${EXTRAZ} -c -g -I/usr/X11R6/include -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 ++CFLAGS = ${AFLAG} ${EXTRAZ} -c -g -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 + ifeq ($(os), Debian) +- CFLAGS = ${AFLAG} ${EXTRAZ} -c -I/usr/include/X11 -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 +- LIBS = -L/usr/lib/X11 -lX11 -lm ++ CFLAGS = ${AFLAG} ${EXTRAZ} -c -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 ++ LIBS = -lX11 -lm + ifeq ($(AFLAG),"-m64") +- LIBS = -L/usr/X11R6/lib64 -lX11 -lm ++ LIBS = -lX11 -lm + endif + endif + ifeq ($(os), FreeBSD) diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.5.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1ce57f532b7b --- /dev/null +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Ake Sandgren +# HPC2N +# Umea University + +name = 'MotionCor2' +version = '1.5.0' + +homepage = 'https://msg.ucsf.edu/' +description = """MotionCor2 correct anisotropic image motion at the +single pixel level across the whole frame, suitable for both single +particle and tomographic images. Iterative, patch-based motion detection +is combined with spatial and temporal constraints and dose weighting. + +Cite publication: Shawn Q. Zheng, Eugene Palovcak, Jean-Paul Armache, +Yifan Cheng and David A. Agard (2016) Anisotropic Correction of +Beam-induced Motion for Improved Single-particle Electron +Cryo-microscopy, Nature Methods, submitted. +BioArxiv: https://biorxiv.org/content/early/2016/07/04/061960 +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [ + '%(name)s_%(version)s.zip', +] +checksums = ['cdb7b9aceb42d52e2a4c7a5e80270371376aea412d21fa1f1f28d4cc71c81834'] +download_instructions = """Visit https://msg.ucsf.edu/software and fill in the form to download %s""" % sources[0] + +# CUDA is a build dependency to make sure it gets installed. +# It's actually a runtime dependency, but that's handled in the wrapper to +# make sure it doesn't conflict with whatever toolchain happens to be loaded. +# Change CUDA version to match the latest one used in this version +# of MotionCor2 +builddependencies = [ + ('binutils', '2.38'), + ('CUDA', '11.6.0', '', SYSTEM), +] + +dependencies = [ + ('LibTIFF', '4.3.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021a.eb b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021a.eb new file mode 100644 index 000000000000..a5a678669695 --- /dev/null +++ b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021a.eb @@ -0,0 +1,42 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +# Updated to foss 2021a: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'MoviePy' +version = '1.0.3' + +homepage = "https://zulko.github.io/moviepy/" +description = """MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, + title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('FFmpeg', '4.3.2'), + ('Python', '3.9.5'), + ('Pillow', '8.2.0'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), + ('imageio', '2.10.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('imageio-ffmpeg', '0.4.7', { + 'checksums': ['7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e'], + }), + ('proglog', '0.1.10', { + 'checksums': ['658c28c9c82e4caeb2f25f488fff9ceace22f8d69b15d0c1c86d64275e4ddab4'], + }), + (name, version, { + 'source_tmpl': 'moviepy-%(version)s.tar.gz', + 'patches': ['moviepy-1.0.3-setup.py.patch'], + 'checksums': [('2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5'), + ('beca82ff8dfbc9cd0b97296f310de3ddfc43e2e49344a32375d4438485c3f3df')], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021b.eb b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021b.eb new file mode 100644 index 000000000000..dbe91a2e7ff9 --- /dev/null +++ b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021b.eb @@ -0,0 +1,42 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +# Updated to foss 2021b: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'MoviePy' +version = '1.0.3' + +homepage = "https://zulko.github.io/moviepy/" +description = """MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, + title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('FFmpeg', '4.3.2'), + ('Python', '3.9.6'), + ('Pillow', '8.3.2'), + ('SciPy-bundle', '2021.10'), + ('tqdm', '4.62.3'), + ('imageio', '2.13.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('imageio-ffmpeg', '0.4.7', { + 'checksums': ['7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e'], + }), + ('proglog', '0.1.10', { + 'checksums': ['658c28c9c82e4caeb2f25f488fff9ceace22f8d69b15d0c1c86d64275e4ddab4'], + }), + (name, version, { + 'source_tmpl': 'moviepy-%(version)s.tar.gz', + 'patches': ['moviepy-1.0.3-setup.py.patch'], + 'checksums': [('2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5'), + ('beca82ff8dfbc9cd0b97296f310de3ddfc43e2e49344a32375d4438485c3f3df')], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MoviePy/moviepy-1.0.3-setup.py.patch b/easybuild/easyconfigs/m/MoviePy/moviepy-1.0.3-setup.py.patch new file mode 100644 index 000000000000..ce24edbfaea7 --- /dev/null +++ b/easybuild/easyconfigs/m/MoviePy/moviepy-1.0.3-setup.py.patch @@ -0,0 +1,16 @@ +Changed the max. version of decorator to <6.0 +https://github.com/Zulko/moviepy/blob/master/setup.py +Author: J. Sassmannshausen +diff --git a/moviepy-1.0.3.orig/setup.py b/moviepy-1.0.3/setup.py +index f8088bb..feb7da7 100644 +--- a/moviepy-1.0.3.orig/setup.py ++++ b/moviepy-1.0.3/setup.py +@@ -62,7 +62,7 @@ exec(open('moviepy/version.py').read()) # loads __version__ + + # Define the requirements for specific execution needs. + requires = [ +- 'decorator>=4.0.2,<5.0', ++ 'decorator>=4.0.2,<6.0', + "imageio>=2.5,<3.0; python_version>='3.4'", + "imageio>=2.0,<2.5; python_version<'3.4'", + "imageio_ffmpeg>=0.2.0; python_version>='3.4'", diff --git a/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2022a.eb b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2022a.eb new file mode 100644 index 000000000000..9ca8972d5172 --- /dev/null +++ b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'MrBayes' +version = '3.2.7' + +homepage = "https://nbisweden.github.io/MrBayes/" +description = """MrBayes is a program for Bayesian inference and model choice across + a wide range of phylogenetic and evolutionary models.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/NBISweden/MrBayes/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['39d9eb269969b501268d5c27f77687c6eaa2c71ccf15c724e6f330fc405f24b9'] + +dependencies = [ + ('libreadline', '8.1.2'), + ('beagle-lib', '4.0.0'), +] + +configopts = "--with-mpi --with-readline --with-beagle=$EBROOTBEAGLEMINLIB " + +sanity_check_paths = { + 'files': ['bin/mb'], + 'dirs': ['share'] +} + +sanity_check_commands = ['mb -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb b/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb index 4fcc2d912354..5c208fac172c 100644 --- a/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb +++ b/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb @@ -30,9 +30,9 @@ dependencies = [ ] postinstallcmds = [ - 'sed -i -e "s|^MHC =.*|MHC = \$EBROOTNETMHCPAN/netMHCpan|" %(installdir)s/config.ini', - 'sed -i -e "s|^VEP =.*|VEP = \$EBROOTVEP/vep|" %(installdir)s/config.ini', - 'sed -i -e "s|^PM =.*|PM = \$EBROOTMUPEXI/bin/pepmatch_db_x86_64|" %(installdir)s/config.ini', + r'sed -i -e "s|^MHC =.*|MHC = \$EBROOTNETMHCPAN/netMHCpan|" %(installdir)s/config.ini', + r'sed -i -e "s|^VEP =.*|VEP = \$EBROOTVEP/vep|" %(installdir)s/config.ini', + r'sed -i -e "s|^PM =.*|PM = \$EBROOTMUPEXI/bin/pepmatch_db_x86_64|" %(installdir)s/config.ini', 'chmod +x %(installdir)s/bin/pepmatch_db_x86_64', ] diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022a.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022a.eb new file mode 100644 index 000000000000..f52d4a6f6013 --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022a.eb @@ -0,0 +1,85 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.14' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single report. + + MultiQC searches a given directory for analysis logs and compiles an HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('PyYAML', '6.0'), + ('networkx', '2.8.4'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('lzstring', '1.0.4', { + 'checksums': ['1afa61e598193fbcc211e0899f09a9679e33f9102bccc37fbfda0b7fef4d9ea2'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.1.0', { + 'checksums': ['cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da'], + 'modulename': 'markdown_it', + }), + ('Pygments', '2.14.0', { + 'checksums': ['b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297'], + }), + ('rich', '13.3.1', { + 'checksums': ['125d96d20c92b946b983d0d392b84ff945461e5a06d3867e9f9e575f8697b67f'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('rich-click', '1.6.1', { + 'checksums': ['f8ff96693ec6e261d1544e9f7d9a5811c5ef5d74c8adb4978430fc0dac16777e'], + }), + ('multiqc', version, { + 'checksums': ['dcbba405f0c9521ed2bbd7e8f7a9200643047311c9619878b81d167300149362'], + }), +] + +sanity_check_paths = { + 'files': ['bin/multiqc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["multiqc --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultilevelEstimators/MultilevelEstimators-0.1.0-GCC-11.2.0-Julia-1.7.2.eb b/easybuild/easyconfigs/m/MultilevelEstimators/MultilevelEstimators-0.1.0-GCC-11.2.0-Julia-1.7.2.eb new file mode 100644 index 000000000000..822fe47b6474 --- /dev/null +++ b/easybuild/easyconfigs/m/MultilevelEstimators/MultilevelEstimators-0.1.0-GCC-11.2.0-Julia-1.7.2.eb @@ -0,0 +1,98 @@ +easyblock = 'JuliaBundle' + +name = 'MultilevelEstimators' +version = '0.1.0' +local_julia_ver = '1.7.2' +versionsuffix = "-Julia-%s" % local_julia_ver + +homepage = 'https://github.com/PieterjanRobbe/MultilevelEstimators.jl' +description = "The Julia module for Multilevel Monte Carlo methods" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +dependencies = [ + ('Python', '3.9.6'), + ('Julia', local_julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('OpenSpecFun_jll', '0.5.5+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/archive/'], + 'sources': ['OpenSpecFun-v%(version)s.tar.gz'], + 'checksums': ['6d1df617dd0a80fc0de5bc41a092e51f72782dbfd296c64e151707733cb57b6f'], + }), + ('InverseFunctions', '0.1.8', { + 'source_urls': ['https://github.com/JuliaMath/InverseFunctions.jl/archive/'], + 'checksums': ['6b3e72037c2198268bc5247daeb14eaa5cf2b37f41c7c735b3cd2355bad1584b'], + }), + ('DocStringExtensions', '0.9.2', { + 'source_urls': ['https://github.com/JuliaDocs/DocStringExtensions.jl/archive/'], + 'checksums': ['ff7869968381f17b24b3f471a88dd96b7008e8b8d7a14079d4667d87db0037dd'], + }), + ('IrrationalConstants', '0.1.1', { + 'source_urls': ['https://github.com/JuliaMath/IrrationalConstants.jl/archive/'], + 'checksums': ['2eccfb55449d25d363d96ce116c45b39110d1572248e04e136ec4c37fe84ba96'], + }), + ('Compat', '4.3.0', { + 'source_urls': ['https://github.com/JuliaLang/Compat.jl/archive/'], + 'checksums': ['0d792ec0912a8d3ed30329fc44073e964be3cd314671594dd16f8570c51b2c19'], + }), + ('ChainRulesCore', '1.15.6', { + 'source_urls': ['https://github.com/JuliaDiff/ChainRulesCore.jl/archive/'], + 'checksums': ['79e22fc981fa7c44b3efc2f07903f555c5520dc38d0d3d31b6390980c786cb60'], + }), + ('ChangesOfVariables', '0.1.4', { + 'source_urls': ['https://github.com/JuliaMath/ChangesOfVariables.jl/archive/'], + 'checksums': ['2eb2eb59711d53d284a9cc998e9facf3a1720cfde26eb672676cbe944fa9224a'], + }), + ('LogExpFunctions', '0.3.18', { + 'source_urls': ['https://github.com/JuliaStats/LogExpFunctions.jl/archive/'], + 'checksums': ['f169c5512f79746987858dd19d05d6fdd4017f2b817d9cd8831bde3c3e398a82'], + }), + ('SpecialFunctions', '1.8.7', { + 'source_urls': ['https://github.com/JuliaMath/SpecialFunctions.jl/archive/'], + 'checksums': ['3f2ecec0506fe47cfa5e436ac510e2a82d39f74fceaeb422572cf06d90f2096a'], + }), + ('TranscodingStreams', '0.9.9', { + 'source_urls': ['https://github.com/JuliaIO/TranscodingStreams.jl/archive/'], + 'checksums': ['c341df1b582e6289fd5d5bd682111876b01582792687c0812fd093c085b12e68'], + }), + ('Reexport', '1.2.2', { + 'source_urls': ['https://github.com/simonster/Reexport.jl/archive/'], + 'checksums': ['2566f7776aae9697cbf15765fc32187f46dd51200abc953a0266863ad67132b3'], + }), + ('OrderedCollections', '1.4.1', { + 'source_urls': ['https://github.com/JuliaCollections/OrderedCollections.jl/archive/'], + 'checksums': ['ad6d191a2bf6f0c04abaf795fa93b3db6c3f3fb97498b464fcf7297b3a4bf6b6'], + }), + ('MacroTools', '0.5.10', { + 'source_urls': ['https://github.com/FluxML/MacroTools.jl/archive/'], + 'checksums': ['0c61fe20a40346b0d1c248ff57e047b669ae47ad2d971b2ca7b91efdddff71ac'], + }), + ('Requires', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Requires.jl/archive/'], + 'checksums': ['8af4dac29839e796a651b8cb6a325b6f9c7eee5d5620b3e366b64f58325ebeb7'], + }), + ('FileIO', '1.16.0', { + 'source_urls': ['https://github.com/JuliaIO/FileIO.jl/archive/'], + 'checksums': ['c447263eb2fac0bd1c7822b97b64f4274e8eeb52bdd5fdc8dc413342a547759f'], + }), + ('JLD2', '0.4.24', { + 'source_urls': ['https://github.com/JuliaIO/JLD2.jl/archive/'], + 'checksums': ['fdcc4a9af9eaaa9013724deb2649ba00aa987ae5d3753a7af389ab7720bf19a9'], + }), + (name, version, { + 'source_urls': ['https://github.com/PieterjanRobbe/MultilevelEstimators.jl/archive/'], + 'checksums': ['53bd629506cbe2472c9fb061a5a64523478556264e7fc98a3b6503dc1e7ef039'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.5.2.eb b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.5.2.eb new file mode 100644 index 000000000000..3f167192cb4a --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.5.2.eb @@ -0,0 +1,42 @@ +easyblock = "CMakeMake" + +name = 'magma' +version = '2.6.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://icl.cs.utk.edu/magma/' +description = """The MAGMA project aims to develop a dense linear algebra library similar to + LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/magma/downloads/'] +sources = [SOURCE_TAR_GZ] +patches = ['magma-2.6.1_allow-all-sms.patch'] +checksums = [ + '75b554dab00903e2d10b972c913e50e7f88cbc62f3ae432b5a086c7e4eda0a71', # magma-2.6.2.tar.gz + 'b89285bac007b68e88e3b5ddbb7f94dbc8a9d77590e58c352e477574d8dca738', # magma-2.6.1_allow-all-sms.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] +# make sure both static and shared libs are built +configopts = [ + '-DBUILD_SHARED_LIBS=%s -DGPU_TARGET="%%(cuda_sm_space_sep)s" ' % local_shared for local_shared in ('ON', 'OFF') +] + +sanity_check_paths = { + 'files': ['lib/libmagma.%s' % SHLIB_EXT, 'lib/libmagma.a'], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..508f420c75eb --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.3' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19'] + +builddependencies = [('binutils', '2.38')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..375e2d9f2a71 --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.7' + +homepage = 'https://linux.die.net/man/1/makedepend' +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [XORG_UTIL_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['17c1adf0284aaee473abfff0e8d3e754770615e1275f2a0043b9d97a00ed5cc9'] + +builddependencies = [ + ('binutils', '2.38'), + ('xproto', '7.0.31'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mandrake/mandrake-1.2.2-foss-2022a.eb b/easybuild/easyconfigs/m/mandrake/mandrake-1.2.2-foss-2022a.eb new file mode 100644 index 000000000000..d6860c0a27e0 --- /dev/null +++ b/easybuild/easyconfigs/m/mandrake/mandrake-1.2.2-foss-2022a.eb @@ -0,0 +1,52 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'mandrake' +version = '1.2.2' + +homepage = 'https://mandrake.readthedocs.io' +description = """Fast visualisation of the population structure of pathogens +using Stochastic Cluster Embedding.""" + +citing = """Lees JA, Tonkin-Hill G, Yang Z, Corander J. Mandrake: visualizing +microbial population structure by embedding millions of genomes into a +low-dimensional representation. +Philosophical Transactions of The Royal Society B. 2022;377: 20210237. +https://doi.org/10.1098/rstb.2021.0237""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('plotly.py', '5.12.0'), + ('matplotlib', '3.5.2'), + ('HDBSCAN', '0.8.29'), + ('h5py', '3.7.0'), + ('pp-sketchlib', '2.1.1'), + ('pybind11', '2.9.2'), + ('Eigen', '3.4.0'), + ('Boost', '1.79.0'), + ('tqdm', '4.64.0'), + ('FFmpeg', '4.4.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/bacpop/mandrake/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5bbdde903252e2812d4ba484ae474ccc75efbaaf0ace7fe6f37a90e44fe3f0e5'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0381f59f5ef8 --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = "PythonBundle" + +name = 'matlab-proxy' +version = '0.5.4' + +homepage = 'https://github.com/mathworks/matlab-proxy' +description = "A Python package which enables you to launch MATLAB and access it from a web browser." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Xvfb', '21.1.3'), + ('aiohttp', '3.8.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'patches': [ + '%(name)s-%(version)s_use_lic_from_eb_installed_matlab.patch', + '%(name)s-%(version)s_fix_xvfb_startup.patch', + ], + 'checksums': [ + {'matlab-proxy-0.5.4.tar.gz': '534531135ae341bd86de6c18ce2694b38614deeedf57a57d4cba1d2079eb662e'}, + {'matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch': + 'f3d30ac6b82667eff81b2b0999bdb9ee8083488fdfa3960c561e3bb046acaa41'}, + {'matlab-proxy-0.5.4_fix_xvfb_startup.patch': + '4f952d6e807830d8d6a138c90bbe74981a082569b6d4e1855c789a0f6ad3e4f6'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/matlab-proxy-app'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +modloadmsg = 'matlab-proxy requires MATLAB to be loaded separately and BEFORE this module (2020b or later)' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch new file mode 100644 index 000000000000..fd099bb15f93 --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch @@ -0,0 +1,31 @@ +Fix startup of Xvfb to use EB's Xvfb and don't empty the environment. + +Åke Sandgren, 2022-11-29 +diff -ru matlab-proxy-0.5.4.orig/matlab_proxy/settings.py matlab-proxy-0.5.4/matlab_proxy/settings.py +--- matlab-proxy-0.5.4.orig/matlab_proxy/settings.py 2022-11-10 08:39:50.000000000 +0100 ++++ matlab-proxy-0.5.4/matlab_proxy/settings.py 2022-11-29 17:12:54.429102236 +0100 +@@ -239,8 +246,11 @@ + # Allow child process to use the file descriptor created by parent. + os.set_inheritable(dpipe[1], True) + ++ xvfb = shutil.which("Xvfb") ++ if xvfb is None: ++ xvfb = "Xvfb" + xvfb_cmd = [ +- "Xvfb", ++ xvfb, + "-displayfd", + # Write descriptor + str(dpipe[1]), +diff -ru matlab-proxy-0.5.4.orig/matlab_proxy/util/mw.py matlab-proxy-0.5.4/matlab_proxy/util/mw.py +--- matlab-proxy-0.5.4.orig/matlab_proxy/util/mw.py 2022-11-10 08:39:50.000000000 +0100 ++++ matlab-proxy-0.5.4/matlab_proxy/util/mw.py 2022-11-29 16:49:14.415197842 +0100 +@@ -286,7 +286,7 @@ + # Creates subprocess asynchronously with environment variables defined in matlab_env + # Pipe errors, if any, to the process object instead of stdout. + xvfb = await asyncio.create_subprocess_exec( +- *xvfb_cmd, close_fds=False, env=env, stderr=asyncio.subprocess.PIPE ++ *xvfb_cmd, close_fds=False, stderr=asyncio.subprocess.PIPE + ) + + read_descriptor, write_descriptor = pipe diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch new file mode 100644 index 000000000000..1585cca459ff --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch @@ -0,0 +1,28 @@ +Use the license file from EB's MATLAB installation by default +Author: Mikael Öhman micketeer@gmail.com +diff -ru matlab-proxy-0.5.4.orig/matlab_proxy/settings.py matlab-proxy-0.5.4/matlab_proxy/settings.py +--- matlab-proxy-0.5.4.orig/matlab_proxy/settings.py 2022-11-10 08:39:50.000000000 +0100 ++++ matlab-proxy-0.5.4/matlab_proxy/settings.py 2022-11-29 17:12:54.429102236 +0100 +@@ -130,6 +130,13 @@ + return settings + + else: ++ if mwi_env.get_env_name_network_license_manager() in os.environ: ++ license_file = os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ elif 'EBROOTMATLAB' in os.environ: ++ license_file = os.environ.get('EBROOTMATLAB') + '/licenses/network.lic' ++ else: ++ license_file = None ++ + matlab_startup_file = str( + Path(__file__).resolve().parent / "matlab" / "startup.m" + ) +@@ -172,7 +179,7 @@ + "mwapikey": str(uuid.uuid4()), + "matlab_protocol": "https", + "nlm_conn_str": mwi.validators.validate_mlm_license_file( +- os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ license_file + ), + "matlab_config_file": mwi_config_folder / "proxy_app_config.json", + "ws_env": ws_env, diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-gomkl-2021a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-gomkl-2021a.eb new file mode 100644 index 000000000000..ca47ecae3580 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-gomkl-2021a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.4.2' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('cppy', '1.1.0') +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('libpng', '1.6.37'), + ('freetype', '2.10.4'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.2.0'), + ('Qhull', '2020.2') +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' setup.cfg.template >setup.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', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219'], + }), +] + +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.2-foss-2021b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-foss-2021b.eb new file mode 100644 index 000000000000..701b39665ad0 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-foss-2021b.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.2' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('libjpeg-turbo', '2.0.6'), # for Pillow ext. + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), # for Pillow ext, + ('freetype', '2.11.0'), + ('Tkinter', '%(pyver)s'), + # ('Pillow', '9.1.1'), # as extension + ('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 = [ + ('fonttools', '4.34.0', { + 'modulename': 'fontTools', + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['73d3fab85790f076d56db431bfdf9ce51b566816ff74d51e050e11ab1ffa8f8b'], + }), + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('setuptools', '62.1.0', { + 'checksums': ['47c7b0c0f8fc10eec4cf1e71c6fdadf8decaa74ffa087e68cd1c20db7ad6a592'], + }), + ('cppy', '1.2.1', { + 'checksums': ['83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'], + }), + ('kiwisolver', '1.4.3', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['ab8a15c2750ae8d53e31f77a94f846d0a00772240f1c12817411fa2344351f86'], + }), + ('Pillow', '9.1.1', { + 'modulename': 'PIL', + 'checksums': ['7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2'], + }), +] + +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.7.0-gfbf-2022b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.0-gfbf-2022b.eb new file mode 100644 index 000000000000..a6b61895bce9 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.0-gfbf-2022b.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.7.0' + +homepage = 'https://matplotlib.org' +description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of + hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python + and ipython shell, web application servers, and six graphical user interface toolkits.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('cppy', '1.2.1'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '9.4.0'), + ('Qhull', '2020.2'), +] + +use_pip = True +sanity_pip_check = True + +# avoid that matplotlib downloads and builds its own copies of freetype and qhull +_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' " +_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('fonttools', '4.38.0', { + 'modulename': 'fontTools', + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1'], + }), + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('kiwisolver', '1.4.4', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955'], + }), + ('contourpy', '1.0.7', { + 'checksums': ['d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['8f6efd313430d7ef70a38a3276281cb2e8646b3a22b3b21eb227da20e15e6813'], + }), +] + +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/mcu/mcu-2021-04-06-gomkl-2021a.eb b/easybuild/easyconfigs/m/mcu/mcu-2021-04-06-gomkl-2021a.eb new file mode 100644 index 000000000000..c70eb5db0f6a --- /dev/null +++ b/easybuild/easyconfigs/m/mcu/mcu-2021-04-06-gomkl-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'mcu' +local_commit = '3366c85' +version = '2021-04-06' # There is a 0.2 release but it's too old and it doesn't work + +homepage = 'https://hungqpham.com/mcu/' +description = """A package for periodic wavefunction and crystallography analysis. + mcu is designed to support large scale analysis and topological descriptions for periodic wavefunction.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://github.com/hungpham2017/mcu/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['96553924c57ca27d2e4d8668be2c97fc6019c139f91950a798733c5575a8b44a'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('spglib-python', '1.16.1'), + ('pyWannier90', '2021-12-07'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = [ + "python -c 'from mcu import VASP'", + "python -c 'import mcu.wannier90.pywannier90_vasp'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/memtester/memtester-4.5.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/memtester/memtester-4.5.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..901ab911bea7 --- /dev/null +++ b/easybuild/easyconfigs/m/memtester/memtester-4.5.1-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'memtester' +version = '4.5.1' + +homepage = 'https://pyropus.ca./software/memtester/' +description = 'A userspace utility for testing the memory subsystem for faults' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +# Using ubuntu source mirror due to problematic URL redirects +source_urls = ['http://archive.ubuntu.com/ubuntu/pool/universe/m/memtester/'] +sources = ['memtester_%(version)s.orig.tar.gz'] +checksums = ['1c5fc2382576c084b314cfd334d127a66c20bd63892cac9f445bc1d8b4ca5a47'] + +builddependencies = [ + ('binutils', '2.38'), +] + +files_to_copy = [(['memtester'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/memtester'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/meson-python/meson-python-0.11.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/meson-python/meson-python-0.11.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4d0193a8bd50 --- /dev/null +++ b/easybuild/easyconfigs/m/meson-python/meson-python-0.11.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'meson-python' +version = '0.11.0' + +homepage = 'https://github.com/mesonbuild/meson-python' +description = "Python build backend (PEP 517) for Meson projects" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Meson', '0.64.0'), +] + +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.6.1', { + 'checksums': ['b5fb09543a64a91165dfe85796759f9e415edc296beb4db33d1ecf7866a862bd'], + }), + (name, version, { + 'sources': ['meson_python-%(version)s.tar.gz'], + 'checksums': ['110258837c2ffe762f5f855c7ea5385f1edd44074e93a0f317ffefc7aab42b09'], + 'modulename': 'mesonpy', + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/methylartist/methylartist-1.2.6-foss-2021b.eb b/easybuild/easyconfigs/m/methylartist/methylartist-1.2.6-foss-2021b.eb new file mode 100755 index 000000000000..752857fd0d41 --- /dev/null +++ b/easybuild/easyconfigs/m/methylartist/methylartist-1.2.6-foss-2021b.eb @@ -0,0 +1,40 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'methylartist' +version = '1.2.6' + +homepage = "https://github.com/adamewing/methylartist" +description = """Tools for plotting methylation data in various ways """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('bx-python', '0.8.13'), + ('matplotlib', '3.4.3'), + ('Pysam', '0.17.0'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': False, # there is no library to import + 'checksums': ['8647f59801e70a128b63b77ad1b824f61ade4201e23c04d19cd3e2bb74adaa6d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +_submodules = ['', 'db-nanopolish', 'db-megalodon', 'db-custom', 'db-guppy', 'segmeth', 'segplot', 'locus', 'region', + 'composite', 'wgmeth', 'adjustcutoffs', 'scoredist'] +sanity_check_commands = ["%%(name)s %s --help" % x for x in _submodules] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..aea5a475d687 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# DeepThought, Flinders University +# Updated to 2.22 +# R.QIAO + +easyblock = 'MakeCp' + +name = 'minimap2' +version = '2.24' + +homepage = 'https://github.com/lh3/minimap2' +description = """Minimap2 is a fast sequence mapping and alignment +program that can find overlaps between long noisy reads, or map long +reads or their assemblies to a reference genome optionally with detailed +alignment (i.e. CIGAR). At present, it works efficiently with query +sequences from a few kilobases to ~100 megabases in length at an error +rate ~15%. Minimap2 outputs in the PAF or the SAM format. On limited +test data sets, minimap2 is over 20 times faster than most other +long-read aligners. It will replace BWA-MEM for long reads and contig +alignment.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['9dd4c31ff082182948944bcdad6d328f64f09295d10547d72eba24189880a615'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" INCLUDES="${CPPFLAGS}"' + +files_to_copy = [ + (['%(name)s'], 'bin'), + (['lib%(name)s.a'], 'lib'), + (['*.h'], 'include'), + 'LICENSE.txt', 'NEWS.md', 'README.md', + (['%(name)s.1'], 'share/man/man1') +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/lib%(name)s.a'], + 'dirs': ['include'] +} + +sanity_check_commands = [ + "minimap2 --help", + "cd %(builddir)s/minimap2-%(version)s && minimap2 -a test/MT-human.fa test/MT-orang.fa > test.sam", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/minizip/minizip-1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/minizip/minizip-1.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..a5989e656474 --- /dev/null +++ b/easybuild/easyconfigs/m/minizip/minizip-1.1-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'minizip' +version = '1.1' +_zlib_version = '1.2.11' + +homepage = 'https://www.winimage.com/zLibDll/minizip.html' +description = "Mini zip and unzip based on zlib" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +# This exists in the contrib section of zlib and since it depends on +# zlib the sources will already have been downloaded +sources = [ + {'filename': 'zlib-%s.tar.gz' % _zlib_version, 'alt_location': 'zlib'}, +] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('zlib', _zlib_version), +] + +start_dir = 'contrib/minizip' + +preconfigopts = 'autoreconf -i && ' + +sanity_check_paths = { + 'files': ['include/minizip/unzip.h', 'lib/libminizip.a', 'lib/libminizip.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..f479bea36ff1 --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.5' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and +utilities shared among the GNOME C++ binding libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['705c6d29f4116a29bde4e36cfc1b046c92b6ef8c6dae4eaec85018747e6da5aa'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mold/mold-1.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/mold/mold-1.7.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..9dac36ca9146 --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-1.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'mold' +version = '1.7.1' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa2558664db79a1e20f09162578632fa856b3cde966fbcb23084c352b827dfa9'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb index bc95d9fb6a59..5987627dfb16 100644 --- a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb @@ -31,7 +31,8 @@ dependencies = [ extract_sources = True install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " -install_cmd += "cd ../mosdepth-*/ && sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += r"sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb index 874148bc3fcb..b39e6fdc879b 100644 --- a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb @@ -31,7 +31,8 @@ dependencies = [ extract_sources = True install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " -install_cmd += "cd ../mosdepth-*/ && sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += r"sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb index 6637f1b8cb13..0a692c1b4e0d 100644 --- a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb @@ -35,7 +35,8 @@ dependencies = [ extract_sources = True install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " -install_cmd += "cd ../mosdepth-*/ && sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += r"sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8f4a300dbef6 --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'motif' +version = '2.3.8' + +homepage = 'https://motif.ics.com/' +description = """Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building + applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. + It was the standard toolkit for the Common Desktop Environment and thus for Unix.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7'] + +builddependencies = [ + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('binutils', '2.38'), + ('util-linux', '2.38'), +] + +dependencies = [ + ('X11', '20220504'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.3'), + ('bzip2', '1.0.8'), +] + +# makefile is not parallel safe +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libMrm.a', 'lib/libUil.a', 'lib/libXm.a', 'bin/mwm', 'bin/uil', 'bin/xmbind'], + 'dirs': ['include/Mrm', 'include/uil', 'include/X11', 'include/Xm'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb new file mode 100644 index 000000000000..3f9abaa08954 --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'mpi4py' +version = '3.1.4' + +homepage = 'https://github.com/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..60b2d1678dc8 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.2.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.35') +] + +dependencies = [ + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..227ab3c73954 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.36.1') +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..1a49bd05c799 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.37') +] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True + +use_pip = True + +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c1483102bddc --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.38') +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mrcfile/mrcfile-1.3.0-foss-2021a.eb b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.3.0-foss-2021a.eb new file mode 100644 index 000000000000..c6e040ded1b2 --- /dev/null +++ b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.3.0-foss-2021a.eb @@ -0,0 +1,33 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonPackage' +name = 'mrcfile' +version = '1.3.0' +homepage = 'https://github.com/ccpem/mrcfile' +description = """mrcfile is a Python implementation of the MRC2014 file format, which is used in +structural biology to store image and volume data. + +It allows MRC files to be created and opened easily using a very simple API, +which exposes the file’s header and data as numpy arrays. The code runs in +Python 2 and 3 and is fully unit-tested. + +This library aims to allow users and developers to read and write standard- +compliant MRC files in Python as easily as possible, and with no dependencies on +any compiled libraries except numpy. You can use it interactively to inspect +files, correct headers and so on, or in scripts and larger software packages to +provide basic MRC file I/O functions. """ + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3a113042d24820b9dfc6902cb9d93bcbebdee22beb40552f2c35303ace4b0547'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +sanity_pip_check = True + +use_pip = True +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2021b.eb b/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2021b.eb new file mode 100644 index 000000000000..5702b7fae25b --- /dev/null +++ b/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2021b.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'msprime' +version = '1.2.0' + +homepage = 'https://msprime.readthedocs.io' +description = "msprime is a coalescent simulator and library for processing tree-based genetic data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('GSL', '2.7'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('svgwrite', '1.4.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['a8fbdfd4443302a6619a7f76bc937fc683daf2628d9b737c891ec08b8ce524c3'], + }), + ('tskit', '0.5.4', { + 'checksums': ['be1a6381c72a95f0011bea26ca317e1b4503b8d2dcd87096c68aa16c8946c6fe'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('demes', '0.2.2', { + 'checksums': ['8eebe4b236b2d19e057228892f5b5f53f3e0d127ca9128efead1728a65115dac'], + }), + ('newick', '1.6.0', { + 'checksums': ['5610335826c0afd35afe66ebbacba0881e69f25097418c2f08456be629be6eac'], + }), + (name, version, { + 'checksums': ['60025ad9fd30d827a72ae6e760b6cff07a1d0e169b2c1da1024cb0fc23e4a7aa'], + }), +] + +sanity_check_paths = { + 'files': ['bin/msp', 'bin/mspms', 'bin/tskit', 'bin/demes'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'demes --help', + 'tskit --help', + 'msp --help', + 'mspms --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.2.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.2.0.eb new file mode 100644 index 000000000000..96534b540932 --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'mstore' +version = '0.2.0' + +homepage = 'https://github.com/grimme-lab/mstore' +description = 'Molecular structure store for testing' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/grimme-lab/mstore/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['95edba88afbc8013f57f4c818a97c0500cc40b158bed11234c061b2b6d7e480d'] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +sanity_check_commands = ['mstore-fortranize --help'] + +sanity_check_paths = { + 'files': ['bin/mstore-info', 'bin/mstore-fortranize', 'bin/mctc-convert'], + 'dirs': ['include/mstore', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022a.eb b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022a.eb new file mode 100644 index 000000000000..de664d681d98 --- /dev/null +++ b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022a.eb @@ -0,0 +1,31 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +easyblock = 'PythonBundle' + +name = 'mygene' +version = '3.2.2' + +homepage = 'https://github.com/biothings/mygene.py' +description = "Python Client for MyGene.Info services." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('biothings_client', '0.2.6', { + 'checksums': ['84d9d577b8fb3963a2fa71c5a13b10411566f3bc2e8ba67bb15de9d2ced08c2d'], + }), + (name, version, { + 'checksums': ['e729cabbc28cf5afb221bca1ab637883b375cb1a3e2f067587ec79f71affdaea'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NAG/NAG-7.1-gompi-2022b.eb b/easybuild/easyconfigs/n/NAG/NAG-7.1-gompi-2022b.eb new file mode 100644 index 000000000000..dd7e50c3ced6 --- /dev/null +++ b/easybuild/easyconfigs/n/NAG/NAG-7.1-gompi-2022b.eb @@ -0,0 +1,30 @@ +easyblock = 'Binary' + +name = 'NAG' +version = '7.1' + +homepage = 'http://www.nag.co.uk' +description = "The worlds largest collection of robust, documented, tested and maintained numerical algorithms." + +toolchain = {'name': 'gompi', 'version': '2022b'} + +sources = [{ + 'source_urls': ['https://www.nag.co.uk/downloads/impl'], + 'filename': SOURCE_TGZ, + 'download_filename': 'npl6a%(version_major)s%(version_minor)sna_amd64.tgz' +}] +checksums = ['0f173ea0e0809673db216622a7354cc2eb52bf13372a34ef85e62a115bb6f94f'] + +extract_sources = True + +install_cmd = "INSTALL_TO_BINDIR=%(installdir)s/bin INSTALL_TO_LIBDIR=%(installdir)s/lib " +install_cmd += "INSTALL_TO_CATMANDIR=%(installdir)s/man INSTALL_TO_MANDIR=%(installdir)s/man ./INSTALLU.sh" + +modextravars = {'NAG_KUSARI_FILE': HOME + '/licenses/license.dat'} + +sanity_check_paths = { + 'files': ['bin/dbx90', 'bin/nagfmcheck', 'bin/nagfor'], + 'dirs': ['lib', 'man1', 'man3'], +} + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NAGfor/NAGfor-7.1.eb b/easybuild/easyconfigs/n/NAGfor/NAGfor-7.1.eb new file mode 100644 index 000000000000..3560fb4a9950 --- /dev/null +++ b/easybuild/easyconfigs/n/NAGfor/NAGfor-7.1.eb @@ -0,0 +1,30 @@ +easyblock = 'Binary' + +name = 'NAGfor' +version = '7.1' + +homepage = 'http://www.nag.co.uk' +description = """The checking compiler for improved code portability and detailed error reporting.""" + +toolchain = SYSTEM + +sources = [{ + 'source_urls': ['https://www.nag.co.uk/downloads/impl'], + 'filename': SOURCE_TGZ, + 'download_filename': 'npl6a%(version_major)s%(version_minor)sna_amd64.tgz' +}] +checksums = ['0f173ea0e0809673db216622a7354cc2eb52bf13372a34ef85e62a115bb6f94f'] + +extract_sources = True + +install_cmd = "INSTALL_TO_BINDIR=%(installdir)s/bin INSTALL_TO_LIBDIR=%(installdir)s/lib " +install_cmd += "INSTALL_TO_CATMANDIR=%(installdir)s/man INSTALL_TO_MANDIR=%(installdir)s/man ./INSTALLU.sh" + +modextravars = {'NAG_KUSARI_FILE': HOME + '/licenses/license.dat'} + +sanity_check_paths = { + 'files': ['bin/dbx90', 'bin/nagfmcheck', 'bin/nagfor'], + 'dirs': ['lib', 'man1', 'man3'], +} + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb index 8e28254ee821..a6d7581291b9 100644 --- a/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb @@ -22,6 +22,6 @@ charm_arch = 'mpi-linux-x86_64' namd_cfg_opts = " --with-tcl --tcl-prefix $EBROOTTCL " -prebuildopts = 'echo "TCLLIB=-L\$(TCLDIR)/lib -ltcl8.6 -ldl -lpthread" >> Make.config && ' +prebuildopts = r'echo "TCLLIB=-L\$(TCLDIR)/lib -ltcl8.6 -ldl -lpthread" >> Make.config && ' moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2020b-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2020b-mpi.eb new file mode 100644 index 000000000000..69bd6e602f4e --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2020b-mpi.eb @@ -0,0 +1,29 @@ +name = 'NAMD' +version = '2.14' +versionsuffix = '-mpi' + +homepage = 'https://www.ks.uiuc.edu/Research/namd/' +description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of + large biomolecular systems.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = ['%(name)s_%(version)s_Source.tar.gz'] +patches = ['%(name)s-%(version)s-use_system_mremap_decl.patch'] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +dependencies = [ + ('tcsh', '6.22.03'), + ('Tcl', '8.6.10'), +] + +# Hard to make charm build the mpi version with gcc on POWER, so we don't currently try. +charm_arch = 'mpi-linux-x86_64' +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..eafa0dbcabf4 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,36 @@ +name = 'NAMD' +version = '2.14' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.ks.uiuc.edu/Research/namd/' +description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of + large biomolecular systems.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': False, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = ['NAMD_%(version)s_Source.tar.gz'] +patches = [ + "%(name)s-%(version)s_Linux-POWER-cuda.patch", + "%(name)s-%(version)s-use_system_mremap_decl.patch" +] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'db4aeb482dfa805c859ea18940026395763169e0257401ee5341ca550029031c', # NAMD-2.14_Linux-POWER-cuda.patch + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +dependencies = [ + ('Tcl', '8.6.11'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +builddependencies = [ + ('tcsh', '6.22.04'), +] + +charm_arch = "multicore-linux-%(arch)s" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2020b.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2020b.eb new file mode 100644 index 000000000000..bb7d42b87f0f --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2020b.eb @@ -0,0 +1,32 @@ +name = 'NAMD' +version = '2.14' + +homepage = 'https://www.ks.uiuc.edu/Research/namd/' +description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of + large biomolecular systems.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} +toolchainopts = {'usempi': False, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = [{'filename': 'NAMD_%(version)s_Source.tar.gz'}] +patches = [ + "%(name)s-%(version)s_Linux-POWER-cuda.patch", + "%(name)s-%(version)s-use_system_mremap_decl.patch" +] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'db4aeb482dfa805c859ea18940026395763169e0257401ee5341ca550029031c', # NAMD-2.14_Linux-POWER-cuda.patch + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +# support for GCC 8+ on POWER +dependencies = [ + ('tcsh', '6.22.03'), + ('Tcl', '8.6.10'), +] + +charm_arch = "multicore-linux-%(arch)s" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e4fa39b554ec --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.15.05' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NCCL-tests/NCCL-tests-2.13.6-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NCCL-tests/NCCL-tests-2.13.6-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..dc4b43cede09 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL-tests/NCCL-tests-2.13.6-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'NCCL-tests' +version = '2.13.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/nccl-tests' +description = "Tests check both the performance and the correctness of NCCL operations." + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['52b472a58a4918d3221a9b8c4bd9335382643d7e241983918b64692d685cc3d1'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), +] + +buildopts = 'VERBOSE=1 MPI=1 MPI_HOME=$EBROOTOPENMPI CUDA_HOME=$EBROOTCUDA NCCL_HOME=$EBROOTNCCL ' + +_binaries = ['all_gather_perf', 'all_reduce_perf', 'alltoall_perf', 'broadcast_perf', 'gather_perf', + 'hypercube_perf', 'reduce_perf', 'reduce_scatter_perf', 'scatter_perf', 'sendrecv_perf'] + +files_to_copy = [(['build/%s' % x for x in _binaries], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.5.2.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.5.2.eb new file mode 100644 index 000000000000..e3a29b13334a --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.5.2.eb @@ -0,0 +1,23 @@ +name = 'NCCL' +version = '2.10.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100644 index 000000000000..cd576dcb0e7a --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,26 @@ +name = 'NCCL' +version = '2.16.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nccl' +description = """The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective +communication primitives that are performance optimized for NVIDIA GPUs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +checksums = ['7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.0', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.1.0-foss-2022a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.0-foss-2022a.eb new file mode 100644 index 000000000000..81047083a23a --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.0-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.0' + +homepage = "https://github.com/nco/nco" +description = """The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, +including DAP, HDF4, and HDF5.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6f0ba812e0684881a85ebf3385117761cffbba36ba842889cc96f111157f89c2'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.4.8'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.11'), + ('GSL', '2.7'), + ('netCDF', '4.9.0'), + ('ESMF', '8.3.0'), # ncremap needs ESMF_RegridWeightGen +] + +configopts = "--enable-nco_cplusplus" + +sanity_check_paths = { + 'files': ['bin/nc%s' % x for x in ('ap2', 'atted', 'bo', 'diff', 'ea', 'ecat', 'es', + 'flint', 'ks', 'pdq', 'ra', 'rcat', 'rename', 'wa')] + + ['lib/libnco.a', 'lib/libnco.%s' % SHLIB_EXT, 'lib/libnco_c++.a', 'lib/libnco_c++.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +sanity_check_commands = [ + "ncks -O -7 --cnk_dmn time,10 " + "%(builddir)s/%(namelower)s-%(version)s/data/in.nc %(builddir)s/%(namelower)s-%(version)s/data/in4.cdl" +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2021a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2021a.eb new file mode 100644 index 000000000000..2636620beaf8 --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.3' + +homepage = "https://github.com/nco/nco" +description = """The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, +including DAP, HDF4, and HDF5.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f6766627dab3f067c88f2cd713e3058c324ea4f900fabf9755bdd8918c32de7b'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.2.9'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.7'), + ('GSL', '2.7'), + ('netCDF', '4.8.0'), + ('ESMF', '8.1.1'), # ncremap needs ESMF_RegridWeightGen +] + +configopts = "--enable-nco_cplusplus" + +sanity_check_paths = { + 'files': ['bin/nc%s' % x for x in ('ap2', 'atted', 'bo', 'diff', 'ea', 'ecat', 'es', + 'flint', 'ks', 'pdq', 'ra', 'rcat', 'rename', 'wa')] + + ['lib/libnco.a', 'lib/libnco.%s' % SHLIB_EXT, 'lib/libnco_c++.a', 'lib/libnco_c++.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +sanity_check_commands = [ + "ncks -O -7 --cnk_dmn time,10 " + "%(builddir)s/%(namelower)s-%(version)s/data/in.nc %(builddir)s/%(namelower)s-%(version)s/data/in4.cdl" +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2022a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2022a.eb new file mode 100644 index 000000000000..b5ad1e4bdae5 --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.3' + +homepage = "https://github.com/nco/nco" +description = """The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, +including DAP, HDF4, and HDF5.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f6766627dab3f067c88f2cd713e3058c324ea4f900fabf9755bdd8918c32de7b'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.4.8'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.11'), + ('GSL', '2.7'), + ('netCDF', '4.9.0'), + ('ESMF', '8.3.0'), # ncremap needs ESMF_RegridWeightGen +] + +configopts = "--enable-nco_cplusplus" + +sanity_check_paths = { + 'files': ['bin/nc%s' % x for x in ('ap2', 'atted', 'bo', 'diff', 'ea', 'ecat', 'es', + 'flint', 'ks', 'pdq', 'ra', 'rcat', 'rename', 'wa')] + + ['lib/libnco.a', 'lib/libnco.%s' % SHLIB_EXT, 'lib/libnco_c++.a', 'lib/libnco_c++.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +sanity_check_commands = [ + "ncks -O -7 --cnk_dmn time,10 " + "%(builddir)s/%(namelower)s-%(version)s/data/in.nc %(builddir)s/%(namelower)s-%(version)s/data/in4.cdl" +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb b/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb new file mode 100644 index 000000000000..91ea5a5d8351 --- /dev/null +++ b/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMakeCp' +name = 'NECI' +version = '20220711' +_commit = 'd7a9e87ed6a4a29479dc25fbf36a7bb556c3f5a3' + +homepage = 'https://github.com/ghb24/NECI_STABLE' +description = """Standalone NECI codebase designed for FCIQMC and other stochastic quantum +chemistry methods.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/ghb24', + 'repo_name': 'NECI_STABLE', + 'recursive': True, + 'commit': _commit, + }, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['NECI-20220711_fix-cmake-print-summary.patch'] +checksums = [ + None, + 'e189f1b3991b28502dbd8285a04784e7e422d0a9e01e3f28025d0458b479af2d', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +dependencies = [ + ('HDF5', '1.12.2'), +] + +# enable support for HDF5 +configopts = "-DENABLE_HDF5=ON" + +test_cmd = 'ctest' +runtest = '-j' + +files_to_copy = ['bin', 'lib', (['modules'], 'include')] + +_binaries = ['dneci', 'kdneci', 'kmneci', 'kneci', 'mneci', 'neci'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + ['lib/lib%s.a' % x for x in _binaries], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NECI/NECI-20220711_fix-cmake-print-summary.patch b/easybuild/easyconfigs/n/NECI/NECI-20220711_fix-cmake-print-summary.patch new file mode 100644 index 000000000000..000e4879148b --- /dev/null +++ b/easybuild/easyconfigs/n/NECI/NECI-20220711_fix-cmake-print-summary.patch @@ -0,0 +1,15 @@ +If the _content passed to the box_side macro is too long then it fails +Patch by Simon Branford (University of Birmingham) +--- cmake/neci_print_summary.cmake.orig 2023-01-28 12:12:05.844153000 +0000 ++++ cmake/neci_print_summary.cmake 2023-01-28 12:12:26.698259000 +0000 +@@ -28,9 +28,7 @@ + feature_summary( WHAT ALL INCLUDE_QUIET_PACKAGES) + + macro( box_side _content ) +- string( LENGTH "${_content}" _len ) +- string( SUBSTRING " |" ${_len} -1 _box_tail ) +- message( STATUS " | ${_content}${_box_tail}" ) ++ message( STATUS " | ${_content} |" ) + endmacro() + + string(TIMESTAMP _time "%Y-%m-%d %H:%M") diff --git a/easybuild/easyconfigs/n/ncl/ncl-2.1.18-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/n/NEXUS-CL/NEXUS-CL-2.1.18-GCC-8.2.0-2.31.1.eb similarity index 75% rename from easybuild/easyconfigs/n/ncl/ncl-2.1.18-GCC-8.2.0-2.31.1.eb rename to easybuild/easyconfigs/n/NEXUS-CL/NEXUS-CL-2.1.18-GCC-8.2.0-2.31.1.eb index 51cd62e42293..21f7ae1e74bd 100644 --- a/easybuild/easyconfigs/n/ncl/ncl-2.1.18-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/n/NEXUS-CL/NEXUS-CL-2.1.18-GCC-8.2.0-2.31.1.eb @@ -1,16 +1,16 @@ easyblock = 'ConfigureMake' -name = 'ncl' +name = 'NEXUS-CL' version = '2.1.18' -homepage = 'http://ncl.sourceforge.net/' +homepage = 'https://ncl.sourceforge.net/' description = """The NEXUS Class Library is a C++ library for parsing NEXUS files.""" toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} toolchainopts = {'pic': True} -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] +source_urls = ['https://download.sourceforge.net/ncl'] +sources = ['ncl-%(version)s.tar.gz'] checksums = ['6e792ede614f6969a0cd342fea1505b4ea3e3e4c0f50a1c0c16a3af67bfe9737'] builddependencies = [('Autotools', '20180311')] @@ -19,7 +19,7 @@ preconfigopts = 'CPPFLAGS=-DNCL_CONST_FUNCS ' sanity_check_paths = { 'files': ["bin/%s" % local_binfile for local_binfile in ["NCLconverter", "NEXUSnormalizer", "NEXUSvalidator"]] + - ["lib/%(name)s/lib%(name)s.so"], + ["lib/ncl/libncl.so"], 'dirs': [], } diff --git a/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..68952817fe22 --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb b/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb index 7ff97151c061..be4fc2322f37 100644 --- a/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb @@ -25,7 +25,7 @@ sanity_check_paths = { # run one of the examples by means of test (takes 2-3 min.) sanity_check_commands = [ - "mkdir %(builddir)s/test && cp -a %(installdir)s/Test\ datasets/Chloroplast\ assembly/* %(builddir)s/test/", + r"mkdir %(builddir)s/test && cp -a %(installdir)s/Test\ datasets/Chloroplast\ assembly/* %(builddir)s/test/", "cd %(builddir)s/test && NOVOPlasty%(version)s.pl -c config_test_chloro.txt 2>&1 | tee test.log", "grep 'Thank you for using NOVOPlasty' %(builddir)s/test/test.log", ] diff --git a/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..1795b557f16d --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'NSPR' +version = '4.35' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR' +description = """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level + and libc-like functions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/nspr/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f'] + +builddependencies = [('binutils', '2.39')] + +configopts = "--disable-debug --enable-optimize --enable-64bit" + +sanity_check_paths = { + 'files': ['bin/nspr-config', 'lib/libnspr%(version_major)s.a', 'lib/libnspr%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplc%(version_major)s.a', 'lib/libplc%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplds%(version_major)s.a', 'lib/libplds%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/nspr.pc'], + 'dirs': ['include/nspr'], +} + +sanity_check_commands = ["nspr-config --version"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb index 1153b4b58a8c..cc653fd51357 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb @@ -31,8 +31,11 @@ dependencies = [ # building in parallel fails parallel = 1 +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' # fix c standard causing missing functions buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' # also install pkgconfig file (see patch) diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb index 0ea01ba44d08..55fbfa38a92c 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb @@ -34,8 +34,11 @@ dependencies = [ # building in parallel fails parallel = 1 +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' # fix c standard causing missing functions buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' # also install pkgconfig file (see patch) diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb index 3cea93f9ab67..40d16c445eb5 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb @@ -32,8 +32,11 @@ dependencies = [ # building in parallel fails parallel = 1 +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' # fix c standard causing missing functions buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' # also install pkgconfig file (see patch) diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.85-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.85-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e0d91d152f01 --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.85-GCCcore-12.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.85' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS' +description = """Network Security Services (NSS) is a set of libraries designed to support cross-platform development + of security-enabled client and server applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', +] +checksums = [ + {'nss-3.85.tar.gz': 'afd9d64510b1154debbd6cab3571e9ff64a3373898e03483e4c85cdada13d297'}, + {'NSS-3.39_pkgconfig.patch': '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774'}, + {'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch': + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('NSPR', '4.35'), + ('zlib', '1.2.12'), +] + +# building in parallel fails +parallel = 1 + +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " +# fix for not being able to find header files +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +# fix c standard causing missing functions +buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' +# also install pkgconfig file (see patch) +buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], +} + +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + +modextrapaths = {'CPATH': 'include/nss'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-22.11-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.11-CUDA-11.7.0.eb new file mode 100644 index 000000000000..1bb5056876fc --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.11-CUDA-11.7.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '22.11' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2022_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + 'e60e798657c33b06754d33dfd5ab3bea2882d4a9b9476102303edf2bbe3b7a95', + local_tarball_tmpl % 'ppc64le': + 'ef800203cf6040b3a5df24f19944b272f62caee8362875bcb394e86dc1de2353', + local_tarball_tmpl % 'x86_64': + 'cb91b3a04368457d5cfe3c0e9c0611591fdc8076b01ea977343fe7db7fdcfa3c', + } +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.14', '', ('GCCcore', local_gccver)), + ('CUDA', '11.7.0', '', SYSTEM), +] + +module_add_cuda = False + +# specify default CUDA version that should be used by NVHPC +# should match one of the CUDA versions that are included with this NVHPC version +# (see install_components/Linux_x86_64/$version/cuda/) where $version is the NVHPC version +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '%(cudaver)s' + +# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig. +# The following list gives examples for the easyconfig +# +# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA +# 1) Bundled CUDA +# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with +# default_cuda_version = "11.0" +# in this easyconfig file; alternatively, it can be specified through the command line during installation with +# --try-amend=default_cuda_version="10.2" +# 2) CUDA provided via EasyBuild +# Use CUDA as a dependency, for example +# dependencies = [('CUDA', '11.5.0')] +# The parameter default_cuda_version still can be set as above. +# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) +# +# Define a NVHPC-default Compute Capability +# cuda_compute_capabilities = "8.0" +# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0 +# Only single values supported, not lists of values! +# +# Options to add/remove things to/from environment module (defaults shown) +# module_byo_compilers = False # Remove compilers from PATH (Bring-your-own compilers) +# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = False # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = False # Add NVHPC's NVIDIA Profilers +# module_add_nccl = False # Add NVHPC's NCCL library +# module_add_nvshmem = False # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 000000000000..4922cc417e63 --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,66 @@ +name = 'NVHPC' +version = '22.7' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2022_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '2aae3fbfd2d0d2d09448a36166c42311368f5600c7c346f159c280b412fe924a', + local_tarball_tmpl % 'ppc64le': + '6dd4fd382c22769e4fa9508714119abd7d1df3dc58c69414a14b0b0dbc34564f', + local_tarball_tmpl % 'x86_64': + '3ce1c346f8bc7e50defb41c545c8907fdc012ff60b27eb8985cf3213f19d863a', + } +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.14', '', ('GCCcore', local_gccver)), + ('CUDA', '11.7.0', '', SYSTEM), +] + +# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig. +# The following list gives examples for the easyconfig +# +# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA +# 1) Bundled CUDA +# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with +# default_cuda_version = "11.0" +# in this easyconfig file; alternatively, it can be specified through the command line during installation with +# --try-amend=default_cuda_version="10.2" +# 2) CUDA provided via EasyBuild +# Use CUDA as a dependency, for example +# dependencies = [('CUDA', '11.4.1')] +# The parameter default_cuda_version still can be set as above. +# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) +# +# Define a NVHPC-default Compute Capability +# cuda_compute_capabilities = '7.0' +# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0 +# Only single values supported, not lists of values! +# +# Options to add/remove things to/from environment module (defaults shown) +# module_byo_compilers = False # Remove compilers from PATH (Bring-your-own compilers) +# module_nvhpc_own_mpi = True # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = True # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = True # Add NVHPC's NVIDIA Profilers +# module_add_nccl = True # Add NVHPC's NCCL library +# module_add_nvshmem = True # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-22.9-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.9-CUDA-11.7.0.eb new file mode 100644 index 000000000000..e3b68fc40966 --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.9-CUDA-11.7.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '22.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2022_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + 'bc4473f04b49bc9a26f08c17a72360650ddf48a3b6eefacdc525d79c8d730f30', + local_tarball_tmpl % 'ppc64le': + '9aac31d36bb09f6653544978021f5b78c272112e7748871566f7e930f5e7475b', + local_tarball_tmpl % 'x86_64': + 'aebfeb826ace3dabf9699f72390ca0340f8789a8ef6fe4032e3c7b794f073ea3', + } +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.14', '', ('GCCcore', local_gccver)), + ('CUDA', '11.7.0', '', SYSTEM), +] + +module_add_cuda = False + +# specify default CUDA version that should be used by NVHPC +# should match one of the CUDA versions that are included with this NVHPC version +# (see install_components/Linux_x86_64/$version/cuda/) where $version is the NVHPC version +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '%(cudaver)s' + +# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig. +# The following list gives examples for the easyconfig +# +# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA +# 1) Bundled CUDA +# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with +# default_cuda_version = "11.0" +# in this easyconfig file; alternatively, it can be specified through the command line during installation with +# --try-amend=default_cuda_version="10.2" +# 2) CUDA provided via EasyBuild +# Use CUDA as a dependency, for example +# dependencies = [('CUDA', '11.5.0')] +# The parameter default_cuda_version still can be set as above. +# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) +# +# Define a NVHPC-default Compute Capability +# cuda_compute_capabilities = "8.0" +# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0 +# Only single values supported, not lists of values! +# +# Options to add/remove things to/from environment module (defaults shown) +# module_byo_compilers = False # Remove compilers from PATH (Bring-your-own compilers) +# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = False # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = False # Add NVHPC's NVIDIA Profilers +# module_add_nccl = False # Add NVHPC's NCCL library +# module_add_nvshmem = False # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-23.1-CUDA-12.0.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.1-CUDA-12.0.0.eb new file mode 100644 index 000000000000..b0d9d6f4aceb --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.1-CUDA-12.0.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '23.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +local_tarball_tmpl = 'nvhpc_2023_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +# By downloading, you accept the HPC SDK Software License Agreement +# https://docs.nvidia.com/hpc-sdk/eula/index.html +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/'] +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '5b430e03752954ea62ac1c745b1735cfdaa43b2e981a9412c1465ecb0412fff6', + local_tarball_tmpl % 'ppc64le': + '81759e7c747bf4f552b75e7657301f76ecc0828b94fe860f81108c6e83e6ad2b', + local_tarball_tmpl % 'x86_64': + '55a064415f6d4ce6a01823ee27ebd266f4fb579679871e7c1a7c054bdc18e9f5', + } +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails + ('numactl', '2.0.16', '', ('GCCcore', local_gccver)), + ('CUDA', '12.0.0', '', SYSTEM), +] + +module_add_cuda = False + +# specify default CUDA version that should be used by NVHPC +# should match one of the CUDA versions that are included with this NVHPC version +# (see install_components/Linux_x86_64/$version/cuda/) where $version is the NVHPC version +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '%(cudaver)s' + +# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig. +# The following list gives examples for the easyconfig +# +# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA +# 1) Bundled CUDA +# If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with +# default_cuda_version = "11.0" +# in this easyconfig file; alternatively, it can be specified through the command line during installation with +# --try-amend=default_cuda_version="10.2" +# 2) CUDA provided via EasyBuild +# Use CUDA as a dependency, for example +# dependencies = [('CUDA', '11.5.0')] +# The parameter default_cuda_version still can be set as above. +# If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) +# +# Define a NVHPC-default Compute Capability +# cuda_compute_capabilities = "8.0" +# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0 +# Only single values supported, not lists of values! +# +# Options to add/remove things to/from environment module (defaults shown) +# module_byo_compilers = False # Remove compilers from PATH (Bring-your-own compilers) +# module_nvhpc_own_mpi = False # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = False # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = False # Add NVHPC's NVIDIA Profilers +# module_add_nccl = False # Add NVHPC's NCCL library +# module_add_nvshmem = False # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.4.1-gompi-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.4.1-gompi-2021b-CUDA-11.4.1.eb new file mode 100644 index 000000000000..e59c093c9fac --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.4.1-gompi-2021b-CUDA-11.4.1.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.4.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-3.txz'] +checksums = ['8b6c0eab321b6352911e470f9e81a777a49e58148ec3728453b9522446dba178'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), + ('NCCL', '2.10.3', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.7.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.7.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..0876e2e7643e --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.7.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.7.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-6.txz'] +checksums = ['23ed9b0187104dc87d5d2bc1394b6f5ff29e8c19138dc019d940b109ede699df'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('NCCL', '2.12.12', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..567b80452c4c --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.8.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-3.txz'] +checksums = ['7d4ef226630a94b587d18e02c27decc8b41d6f4ee52a26e25644b23cd18da81f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('NCCL', '2.12.12', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2022a.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2022a.eb new file mode 100644 index 000000000000..25d9440384bb --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2022a.eb @@ -0,0 +1,39 @@ +name = 'NWChem' +version = '7.0.2' +local_verdate = '2020-10-12' +local_revision = 'b9985dfa' + +homepage = 'https://www.nwchem-sw.org' +description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in + their ability to treat large scientific computational chemistry problems efficiently, and in their use of available + parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. + NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all + combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties + and relativity.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'i8': True} + +source_urls = ['https://github.com/nwchemgit/nwchem/releases/download/v%(version)s-release/'] +sources = ['nwchem-%%(version)s-release.revision-%s-src.%s.tar.bz2' % (local_revision, local_verdate)] +patches = [ + 'NWChem-7.0.2_fix_gnumakefile.patch', + 'NWChem-7.0.2_fix_for_python_3_10.patch', +] +checksums = [ + # nwchem-7.0.2-release.revision-b9985dfa-src.2020-10-12.tar.bz2 + 'd9d19d87e70abf43d61b2d34e60c293371af60d14df4a6333bf40ea63f6dc8ce', + '89c634a652d4c8c358f8388ac01ee441659e3c0256c39b6494e2885c91f9aca4', # NWChem-7.0.2_fix_gnumakefile.patch + '2da647217ad72d929f1d495386871a32b7176beb52cbc3dabebbb56abb407e36', # NWChem-7.0.2_fix_for_python_3_10.patch +] + +dependencies = [ + ('GlobalArrays', '5.8.1'), + ('Python', '3.10.4'), +] + +preconfigopts = 'export EXTRA_LIBS=-lutil && ' + +modules = 'all python' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_for_python_3_10.patch b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_for_python_3_10.patch new file mode 100644 index 000000000000..e733ea890526 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_for_python_3_10.patch @@ -0,0 +1,41 @@ +# This patch fixes compatibility with Python-3.10. In particular the problem that +# the "graminit.h" header is removed from Python-3.10 together with the "parser" +# module. +# See https://github.com/nwchemgit/nwchem/issues/271 for more info +# +# Author: maxim-masterov (SURF) +# +diff -Nru nwchem-7.0.2.orig/src/config/makefile.h nwchem-7.0.2/src/config/makefile.h +--- nwchem-7.0.2.orig/src/config/makefile.h 2022-08-19 10:47:57.584912000 +0200 ++++ nwchem-7.0.2/src/config/makefile.h 2022-08-19 10:50:18.158831536 +0200 +@@ -2618,12 +2618,12 @@ + GOTPYTHON2 := $(shell command -v python2 2> /dev/null) + GOTPYTHON := $(shell command -v python 2> /dev/null) + ifdef GOTPYTHON3 +- PYTHONVERSION=$(shell python3 -V 2>&1 |cut -c 8-10) ++ PYTHONVERSION=$(shell python3 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))') + else ifdef GOTPYTHON2 +- PYTHONVERSION=$(shell python2 -V 2>&1 |cut -c 8-10) ++ PYTHONVERSION=$(shell python2 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))') + else ifdef GOTPYTHON + #last try at python2 +- PYTHONVERSION=$(shell python -V 2>&1 |cut -c 8-10) ++ PYTHONVERSION=$(shell python -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))') + else + errorpython3: + $(info ) +diff -Nru nwchem-7.0.2.orig/src/python/task_python.c nwchem-7.0.2/src/python/task_python.c +--- nwchem-7.0.2.orig/src/python/task_python.c 2022-08-19 10:47:58.966129000 +0200 ++++ nwchem-7.0.2/src/python/task_python.c 2022-08-19 10:51:34.311283000 +0200 +@@ -6,7 +6,11 @@ + #include "ga.h" + + #include ++#if ( PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 9) ++/* might require new headers and code */ ++#else + #include ++#endif + #include + #include + #include "typesf2c.h" diff --git a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.5.0-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.5.0-foss-2018b-Python-3.6.6.eb similarity index 93% rename from easybuild/easyconfigs/n/nanofilt/nanofilt-2.5.0-foss-2018b-Python-3.6.6.eb rename to easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.5.0-foss-2018b-Python-3.6.6.eb index e31b1f45efea..82d8297d41ac 100644 --- a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.5.0-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.5.0-foss-2018b-Python-3.6.6.eb @@ -1,5 +1,5 @@ easyblock = 'PythonPackage' -name = 'nanofilt' +name = 'NanoFilt' version = '2.5.0' versionsuffix = '-Python-%(pyver)s' @@ -9,7 +9,7 @@ description = """Filtering and trimming of long read sequencing data.""" toolchain = {'name': 'foss', 'version': '2018b'} source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] -sources = [SOURCE_TAR_GZ] +sources = [SOURCELOWER_TAR_GZ] checksums = ['33c35aad2950145ef66bcf338e68c7c84a20ae62716db24f9c9ccbd881c9a277'] dependencies = [ diff --git a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-foss-2019b-Python-3.7.4.eb similarity index 93% rename from easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-foss-2019b-Python-3.7.4.eb rename to easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-foss-2019b-Python-3.7.4.eb index 44750167f6c7..05339b43f99b 100644 --- a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-foss-2019b-Python-3.7.4.eb @@ -1,6 +1,6 @@ easyblock = 'PythonPackage' -name = 'nanofilt' +name = 'NanoFilt' version = '2.6.0' versionsuffix = '-Python-%(pyver)s' @@ -10,7 +10,7 @@ description = """Filtering and trimming of long read sequencing data.""" toolchain = {'name': 'foss', 'version': '2019b'} source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] -sources = [SOURCE_TAR_GZ] +sources = [SOURCELOWER_TAR_GZ] checksums = ['83e3a581b7bf8a4b2e63b1a9b659baea6908448cbca9a0d42893f1cd4021d113'] dependencies = [ diff --git a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-intel-2020a-Python-3.8.2.eb similarity index 93% rename from easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-intel-2020a-Python-3.8.2.eb rename to easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-intel-2020a-Python-3.8.2.eb index 023fb864003a..496920503ff2 100644 --- a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-intel-2020a-Python-3.8.2.eb @@ -1,6 +1,6 @@ easyblock = 'PythonPackage' -name = 'nanofilt' +name = 'NanoFilt' version = '2.6.0' versionsuffix = '-Python-%(pyver)s' @@ -10,7 +10,7 @@ description = """Filtering and trimming of long read sequencing data.""" toolchain = {'name': 'intel', 'version': '2020a'} source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] -sources = [SOURCE_TAR_GZ] +sources = [SOURCELOWER_TAR_GZ] checksums = ['83e3a581b7bf8a4b2e63b1a9b659baea6908448cbca9a0d42893f1cd4021d113'] dependencies = [ diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2021b.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2021b.eb new file mode 100755 index 000000000000..e0392394b13f --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'NanoFilt' +version = '2.8.0' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['47f4f4f8be834f011570a8d76d07cc12abe0686c8917607316a8ccfb3e20758c'] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["NanoFilt --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2021a.eb b/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2021a.eb new file mode 100644 index 000000000000..b31eb661ab9d --- /dev/null +++ b/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2021a.eb @@ -0,0 +1,47 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'NanoLyse' +version = '1.2.1' + +homepage = 'https://github.com/wdecoster/nanolyse' +description = """Remove reads mapping to the lambda phage genome from a fastq file.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('minimap2', '2.20'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('mappy', '2.20', { + 'checksums': ['00c8720783ac982b514b01b86349ede9809eeaccdf1328acb5a16dfeef51458b'], + }), + ('NanoLyse', '1.2.1', { + 'checksums': ['933ee668da805fc9ec9fa86c9fca81a073438d45b5f64e23cf606c01e715b1d5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/NanoLyse'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoLyse --version"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.33.0-foss-2021a.eb b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.33.0-foss-2021a.eb new file mode 100644 index 000000000000..400d3660c4df --- /dev/null +++ b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.33.0-foss-2021a.eb @@ -0,0 +1,47 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'NanoPlot' +version = '1.33.0' + +homepage = 'https://github.com/wdecoster/NanoPlot' +description = "Plotting suite for long read sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['caf69a5789625e746814238cb4f0d510ed6768a094566e8f1dcaa77933c4d6fd'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Pysam', '0.16.0.1'), + ('nanomath', '1.2.1'), + ('nanoget', '1.18.1'), + ('Seaborn', '0.11.2'), + ('plotly.py', '5.1.0'), + ('pauvre', '0.2.3'), + ('statsmodels', '0.12.2'), + ('Arrow', '6.0.0'), # for pyarrow + ('Kaleido', '0.2.1'), +] + +download_dep_fail = True +use_pip = True + +# replace strict Seaborn & pauvre version requirement with minimal version requirements +preinstallopts = "sed -i 's/==0/>=0/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/NanoPlot'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoPlot --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NetLogo/NetLogo-6.2.2-64.eb b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.2.2-64.eb new file mode 100644 index 000000000000..4b71cdb3c776 --- /dev/null +++ b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.2.2-64.eb @@ -0,0 +1,26 @@ +easyblock = 'PackedBinary' + +name = 'NetLogo' +version = '6.2.2' +versionsuffix = '-64' + +homepage = 'https://ccl.northwestern.edu/netlogo/' +description = """NetLogo is a multi-agent programmable modeling environment. It +is used by tens of thousands of students, teachers and researchers worldwide. +It also powers HubNet participatory simulations. It is authored by Uri Wilensky +and developed at the CCL.""" + +# NetLogo is precompiled and needs no particular toolchain. +# It even comes with its own Java. +toolchain = SYSTEM + +source_urls = ['https://ccl.northwestern.edu/netlogo/%(version)s/'] +sources = ['%(name)s-%(version)s%(versionsuffix)s.tgz'] +checksums = ['543cbfc60b6e75aa56c1a66f78c08fa8763d591185eb79e6aaee5f42c8aae461'] + +sanity_check_paths = { + 'files': ['NetLogo', 'NetLogo3D'], + 'dirs': ['app', 'runtime'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NetLogo/NetLogo-6.3.0-64.eb b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.3.0-64.eb new file mode 100644 index 000000000000..c10051833138 --- /dev/null +++ b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.3.0-64.eb @@ -0,0 +1,26 @@ +easyblock = 'PackedBinary' + +name = 'NetLogo' +version = '6.3.0' +versionsuffix = '-64' + +homepage = 'https://ccl.northwestern.edu/netlogo/' +description = """NetLogo is a multi-agent programmable modeling environment. It +is used by tens of thousands of students, teachers and researchers worldwide. +It also powers HubNet participatory simulations. It is authored by Uri Wilensky +and developed at the CCL.""" + +# NetLogo is precompiled and needs no particular toolchain. +# It even comes with its own Java. +toolchain = SYSTEM + +source_urls = ['https://ccl.northwestern.edu/netlogo/%(version)s/'] +sources = ['%(name)s-%(version)s%(versionsuffix)s.tgz'] +checksums = ['baeec4d3d5d7548d13d48574c4c1dd9909d99b2a41ad60a765dce966138dd77a'] + +sanity_check_paths = { + 'files': ['NetLogo', 'NetLogo3D'], + 'dirs': ['extensions', 'models', 'lib'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb b/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb index a7e7ef4fe7c0..ddebae838df2 100644 --- a/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb @@ -28,7 +28,7 @@ dependencies = [ skipsteps = ['install'] -preconfigopts = "sed -i '/add_subdirectory.*\(bamtools\|zlib\).*/d' ../NextGenMap-%(version)s/CMakeLists.txt && " +preconfigopts = r"sed -i '/add_subdirectory.*\(bamtools\|zlib\).*/d' ../NextGenMap-%(version)s/CMakeLists.txt && " preconfigopts += "sed -i 's/BamTools-static/bamtools/g' ../NextGenMap-%(version)s/{src,utils}/CMakeLists.txt && " preconfigopts += "sed -i 's/zlibstatic/z/g' ../NextGenMap-%(version)s/{src,utils}/CMakeLists.txt && " diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.0.eb new file mode 100644 index 000000000000..70231eabec8a --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CmdCp' + +name = 'Nextflow' +version = '22.10.0' + +homepage = 'https://www.nextflow.io' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7eceff3e32bd1bcd09744890501456e0a2b5448916fb25f3e6a8f338a239af8b'] + +# specify dependency on Java/11 "wrapper", rather than a specific Java version +dependencies = [('Java', '11', '', SYSTEM)] + +skipsteps = ['configure', 'build'] + +_exe_files = ['%(namelower)s', 'gradlew'] + +files_to_copy = [ + (_exe_files, '%(installdir)s/bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.1.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.1.eb new file mode 100644 index 000000000000..cb17ec4556a6 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '22.10.1' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['c5edc9fc81d9c6eb4f628505f14f8bb4fe044d4fc7d9ef60654ba0d73abf5a80'] + +dependencies = [('Java', '11')] + +install_cmd = "mkdir -p %(installdir)s/bin &&" +install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" +install_cmd += "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s &&" +install_cmd += "chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.5.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.5.eb new file mode 100644 index 000000000000..869b86782942 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.5.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '22.10.5' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['5ca5b926bdd355a8d5f1f968cea6ba46fac5a4fa7e1dac3fe5ff02e5d6b6a90c'] + +dependencies = [('Java', '11')] + +install_cmd = "mkdir -p %(installdir)s/bin &&" +install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" +install_cmd += "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s &&" +install_cmd += "chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.6.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.6.eb new file mode 100644 index 000000000000..e3c838b67a1e --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.6.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '22.10.6' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['cde62c2b15919f3af45ba083fb28e8017c0237f01b3793f81e11f5a1fb67ae36'] + +dependencies = [('Java', '11')] + +install_cmd = "mkdir -p %(installdir)s/bin &&" +install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" +install_cmd += "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s &&" +install_cmd += "chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NiBabel/NiBabel-4.0.2-foss-2022a.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-4.0.2-foss-2022a.eb new file mode 100644 index 000000000000..2691a91e34a9 --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-4.0.2-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'NiBabel' +version = '4.0.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pillow', '9.1.1'), + ('pydicom', '2.3.0'), +] + +use_pip = True + +exts_list = [ + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('nibabel', version, { + 'checksums': ['45c49b5349351b45f6c045a91aa02b4f0d367686ff3284632ef95ac65b930786'], + }), +] + +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/Ninja/Ninja-1.11.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e6cefd164e7f --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.11.1' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea'] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8', '-bare'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nipype/Nipype-1.8.5-foss-2021a.eb b/easybuild/easyconfigs/n/Nipype/Nipype-1.8.5-foss-2021a.eb new file mode 100644 index 000000000000..fe53e82f5656 --- /dev/null +++ b/easybuild/easyconfigs/n/Nipype/Nipype-1.8.5-foss-2021a.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'Nipype' +version = '1.8.5' + +homepage = 'https://nipype.readthedocs.io' +description = """Nipype is a Python project that provides a uniform interface to existing neuroimaging software and + facilitates interaction between these packages within a single workflow.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('lxml', '4.6.3'), + ('networkx', '2.5.1'), + ('pydot', '1.4.2'), + ('NiBabel', '3.2.1'), + ('RDFlib', '6.2.0'), + ('pytest-xdist', '2.3.0'), +] + +use_pip = True + +exts_list = [ + ('traits', '6.3.2', { + 'checksums': ['4520ef4a675181f38be4a5bab1b1d5472691597fe2cfe4faf91023e89407e2c6'], + }), + ('pydotplus', '2.0.2', { + 'checksums': ['91e85e9ee9b85d2391ead7d635e3d9c7f5f44fd60a60e59b13e2403fa66505c4'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('prov', '2.0.0', { + 'checksums': ['b6438f2195ecb9f6e8279b58971e02bc51814599b5d5383366eef91d867422ee'], + }), + ('ci-info', '0.3.0', { + 'checksums': ['1fd50cbd401f29adffeeb18b0489e232d16ac1a7458ac6bc316deab6ae535fb0'], + }), + ('etelemetry', '0.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['78febd59a22eb53d052d731f10f24139eb2854fd237348fba683dd8616fb4a67'], + }), + ('looseversion', '1.0.2', { + 'checksums': ['8b9f2e649eb81620c4527ba33ba87505eb69d4bb3f66523b34182a0450c294bc'], + }), + ('nipype', version, { + 'checksums': ['e3842743fb660464dd29de73dcfc9ef66d273be10bcc64059ff21cd5ef1e9655'], + }), +] + +sanity_check_paths = { + 'files': ['bin/nipypecli'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import nipype.interfaces'"] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..4f00955fdf93 --- /dev/null +++ b/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,61 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'n2v' +version = '0.3.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/juglab/n2v' +description = """ +Noise2Void - Learning Denoising from Single Noisy Images +The field of image denoising is currently dominated by discriminative deep +learning methods that are trained on pairs of noisy input and clean target +images. Recently it has been shown that such methods can also be trained without +clean targets. Instead, independent pairs of noisy images can be used, in an +approach known as NOISE2NOISE (N2N). Here, we introduce NOISE2VOID (N2V), a +training scheme that takes this idea one step further. It does not require noisy +image pairs, nor clean target images. Consequently, N2V allows us to train +directly on the body of data to be denoised and can therefore be applied when +other methods cannot. Especially interesting is the application to biomedical +image data, where the acquisition of training targets, clean or noisy, is +frequently not possible. We compare the performance of N2V to approaches that +have either clean target images and/or noisy image pairs available. Intuitively, +N2V cannot be expected to outperform methods that have more information +available during training. Still, we observe that the denoising performance of +NOISE2VOID drops in moderation and compares favorably to training-free denoising +methods.""" +toolchain = {'name': 'foss', 'version': '2021a'} + + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('TensorFlow', '2.6.0', versionsuffix), + ('mrcfile', '1.3.0'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('ruamel.yaml', '0.17.21'), + ('imagecodecs', '2022.9.26'), + ('JupyterLab', '3.0.16'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + (name, version, { + 'checksums': ['8662aa5e903e170a1c9769882da241d669b6e7efd8b164b68723c675539ec06f'], + }), +] + +sanity_check_commands = [ + '%s --help' % x for x in ['care_predict', 'trainN2V.py', 'care_predict'] +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nano/nano-7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nano/nano-7.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..37267b01fc70 --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-7.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'nano' +version = '7.0' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['767d595237a4b40b981e2daaeb31de94283d60b1fae03fbd52a67d95c454518a'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nano/nano-7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nano/nano-7.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8bfbbe69d36a --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-7.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2023 + +easyblock = 'ConfigureMake' + +name = 'nano' +version = '7.1' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d03f2fcf536e709edcfc7db882f4b60f198726585df5f1c48f7f7097f3622322'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nano/nano-7.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nano/nano-7.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..99cb4947e273 --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-7.2-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'nano' +version = '7.2' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b4edaab0a037b5760484907c674e980053896f33759e43f834a212145fd085f1'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb index d6fbcb4a62d1..a043ce37c6fb 100644 --- a/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb @@ -25,7 +25,7 @@ dependencies = [ use_pip = True # poetry has unnecessarily restrictive dependencies -local_nanocompore_preinstallopts = """sed -i'' 's/\^/>=/g' pyproject.toml && """ +local_nanocompore_preinstallopts = r"""sed -i'' 's/\^/>=/g' pyproject.toml && """ local_nanocompore_preinstallopts += """sed -i'' 's/~/>=/g' pyproject.toml && """ # removing argparse from dependencies - it is part of python standard library since 3.6+ diff --git a/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..8a7e77c83858 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'nanoflann' +version = '1.4.0' + +homepage = 'https://github.com/jlblancoc/nanoflann' +description = "nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'vectorize': False} # GCC 10.3.0 vectorizer causes test errors on skylake and later + + +github_account = 'jlblancoc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_external_googletest.patch', +] +checksums = [ + {'v1.4.0.tar.gz': '9ce09aa7c049e28ca4e2fbeffafc8e09aca98a52624578798c8ebb723ad974bb'}, + {'nanoflann-1.4.0_use_external_googletest.patch': + '5f0b99b0558bdf76c19d52eb82d10cdcc104eb6c2fb1891e033b5c96fb47f7b9'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), +] + +configopts = '-DNANOFLANN_BUILD_TESTS=ON' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/nanoflann.hpp', 'share/pkgconfig/nanoflann.pc'], + 'dirs': ['share/cmake/nanoflann'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0_use_external_googletest.patch b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0_use_external_googletest.patch new file mode 100644 index 000000000000..04ef96f0a14a --- /dev/null +++ b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0_use_external_googletest.patch @@ -0,0 +1,46 @@ +Use external googletest + +Åke Sandgren, 20230213 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc84430..31ab273 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,6 +90,10 @@ endif() + # Tests + option(NANOFLANN_BUILD_TESTS "Build unit tests" ON) + if(NANOFLANN_BUILD_TESTS) ++ find_package(GTest) ++ if (NOT GTEST_FOUND) ++ message(ERROR "Testing requires googletest.") ++ endif() + enable_testing() + add_subdirectory(tests) + endif() +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 2e593da..9c3b443 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -8,17 +8,6 @@ if(MSVC) + add_definitions(-D_VARIADIC_MAX=10) + endif(MSVC) + +-if(NOT TARGET gtest) +- # Treat this directory as "system" to ignore pedantic warnings. +- if(CMAKE_COMPILER_IS_GNUCXX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem gtest-1.8.0/include") +- endif() +- +- # Compile gtest from sources: +- add_subdirectory(gtest-1.8.0) +- INCLUDE_DIRECTORIES("gtest-1.8.0/include/") +-endif() +- + set(EXECUTABLE_OUTPUT_PATH "${${PROJECT_NAME}_BINARY_DIR}") + + # Tests based on Google gtest: +@@ -37,4 +26,4 @@ ADD_TEST(unit_tests_run ${EXECUTABLE_OUTPUT_PATH}/unit_tests) + set_tests_properties(unit_tests_run PROPERTIES DEPENDS unit_tests_build) + + # Add the required libraries for linking: +-TARGET_LINK_LIBRARIES(unit_tests mygtest nanoflann) ++TARGET_LINK_LIBRARIES(unit_tests ${GTEST_LIBRARIES} nanoflann) diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2021a.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2021a.eb new file mode 100644 index 000000000000..82b4f0b5841f --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2021a.eb @@ -0,0 +1,29 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.18.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e4fa37ab1bccc3287947f5792acad3c96fd1c02cb9c0a1f5d218d26bcdbe1632'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Pysam', '0.16.0.1'), + ('nanomath', '1.2.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.2.1-foss-2021a.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.2.1-foss-2021a.eb new file mode 100644 index 000000000000..5d1a69c2f733 --- /dev/null +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.2.1-foss-2021a.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'nanomath' +version = '1.2.1' + +homepage = 'https://github.com/wdecoster/nanomath' +description = "A few simple math function for other Oxford Nanopore processing scripts" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +exts_list = [ + ('Python-Deprecated', '1.1.0', { + 'modulename': 'deprecated', + 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], + }), + (name, version, { + 'checksums': ['3c611c3b0a8fa364b8afe87c948f31d5d8009a212c28954382e926f36f90e060'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.4-foss-2021b.eb b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.4-foss-2021b.eb new file mode 100644 index 000000000000..bd3f4f3f540d --- /dev/null +++ b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.4-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'nanomax-analysis-utils' +version = '0.4.4' + +github_account = 'maxiv-science' +homepage = "https://github.com/%(github_account)s/nanomax-analysis-utils" +description = """A set of tools for handling and analysing data at the NanoMAX beamline.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('silx', '1.0.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6b1d1812114af95ebbe7559ae456f79dbe757db6a502810d10a2193e1e5ef668'] + +options = {'modulename': 'nmutils'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb b/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb new file mode 100644 index 000000000000..18337a90cfdb --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb @@ -0,0 +1,135 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'napari' +version = '0.4.15' + +homepage = 'https://napari.org/' +description = """napari is a fast, interactive, multi-dimensional image viewer for Python. It's +designed for browsing, annotating, and analyzing large multi-dimensional images. +It's built on top of Qt (for the GUI), vispy (for performant GPU-based +rendering), and the scientific Python stack (numpy, scipy).""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyQt5', '5.15.4'), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('dask', '2022.1.0'), + ('PyOpenGL', '3.1.6'), + ('imageio', '2.13.5'), + ('tqdm', '4.62.3'), + ('IPython', '7.26.0'), + ('Qtconsole', '5.3.2'), + ('typing-extensions', '3.10.0.2'), + ('scikit-image', '0.19.1'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +sanity_pip_check = True +exts_list = [ + ('pytomlpp', '1.0.10', { + 'checksums': ['6de110c8fe43f46c52b2041d5fbaa0522677a712234832ffd8cbb51cff50804e'], + }), + ('freetype_py', '2.3.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-%(version)s.zip'], + 'checksums': ['f9b64ce3272a5c358dcee824800a32d70997fb872a0965a557adca20fce7a5d0'], + }), + ('hsluv', '5.0.3', { + 'checksums': ['2586bcb61d29d76e89e563a6836df24d86939961c9657f129a59f7617de45377'], + }), + ('vispy', '0.10.0', { + 'checksums': ['b76ad6f3eacadbfc4944cfb8211eadb6ea8417a590993ece5aa7caac082cffc2'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('cachey', '0.2.1', { + 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], + }), + ('docstring-parser', '0.14.1', { + 'sources': ['docstring_parser-%(version)s.tar.gz'], + 'checksums': ['2c77522e31b7c88b1ab457a1f3c9ae38947ad719732260ba77ee8a3deb58622a'], + }), + ('pep517', '0.12.0', { + 'checksums': ['931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('magicgui', '0.5.1', { + 'checksums': ['dcd05c4c9bbd55bdeb72d41069b2d4304952dabe04c2aac7bdd43f5a4e3a8a94'], + }), + ('napari-console', '0.0.4', { + 'modulename': 'napari_console', + 'checksums': ['ea0e30fbfdd76542adda44be457f1306a65146fe7578f95838e28d62874f4c45'], + }), + ('napari-plugin-engine', '0.2.0', { + 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], + }), + ('napari-svg', '0.1.6', { + 'checksums': ['12fa5c64995fc7179349969a39316355496b463858c3b0815e3b3e7ffcdced34'], + }), + ('Pint', '0.19.2', { + 'checksums': ['e1d4989ff510b378dad64f91711e7bdabe5ca78d75b06a18569ac454678c4baf'], + }), + ('build', '0.8.0', { + 'checksums': ['887a6d471c901b1a6e6574ebaeeebb45e5269a79d095fe9a8f88d6614ed2e5f0'], + }), + ('psygnal', '0.3.5', { + 'patches': ['psygnal-0.3.5_python3.8.patch'], + 'checksums': [ + '5abf84f0da9f487be68299854c4eb39de0765236407736d201f97ef39913a548', # psygnal-0.3.5.tar.gz + '34c36af20b555c7201da1c4cd26180aa446d9670f55a6e89a27152e4f50e0e29', # psygnal-0.3.5_python3.8.patch + ], + }), + ('pydantic', '1.9.1', { + 'checksums': ['1ed987c3ff29fff7fd8c3ea3a3ea877ad310aae2ef9889a119e22d3f2db0691a'], + }), + ('typer', '0.4.1', { + 'checksums': ['5646aef0d936b2c761a10393f0384ee6b5c7fe0bb3e5cd710b17134ca1d99cff'], + }), + ('npe2', '0.5.0', { + 'checksums': ['3d3d43b99bbd3b189fedd7313589c89642a4af0f14b24b9763eb134ba6a5548c'], + }), + ('numpydoc', '1.4.0', { + 'checksums': ['9494daf1c7612f59905fa09e65c9b8a90bbacb3804d91f7a94e778831e6fcfa5'], + }), + ('superqt', '0.3.2', { + 'checksums': ['a37df244a2d6e4387e865cdedabe925798b3352ab9cdc52f60701eb12d907960'], + }), + ('tifffile', '2022.5.4', { + 'checksums': ['b03147a15862b7c1d90d47435197f149bef7a52c25ad67cf1f9b465faa71b8d2'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('pythran', '0.10.0', { + 'checksums': ['9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf'], + }), + (name, version, { + 'checksums': ['0d4cf6067d2112c78a705917aa5e74371463982d80147a898c6b5d2f0b514baa'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + '%(name)s --help', + 'pyrcc5 -version 2>&1 |grep pyrcc5' # make sure PyQt5 module was not built with --no-tools +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/napari/psygnal-0.3.5_python3.8.patch b/easybuild/easyconfigs/n/napari/psygnal-0.3.5_python3.8.patch new file mode 100644 index 000000000000..b8f4bace8b27 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/psygnal-0.3.5_python3.8.patch @@ -0,0 +1,12 @@ +#Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +#python > 3.7: prevent comple error future feature annotations is not defined +diff -ru psygnal-0.3.5/psygnal/_evented_model.py psygnal-0.3.5_python3.8/psygnal/_evented_model.py +--- psygnal-0.3.5/psygnal/_evented_model.py 2022-05-26 02:03:19.000000000 +0200 ++++ psygnal-0.3.5_python3.8/psygnal/_evented_model.py 2022-06-23 10:41:46.536586585 +0200 +@@ -1,5 +1,4 @@ +-from __future__ import annotations +- ++import annotations + import operator + import sys + import warnings diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.10.9-gompi-2021a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.10.9-gompi-2021a.eb new file mode 100644 index 000000000000..aa5ea3306c4d --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.10.9-gompi-2021a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'ncbi-vdb' +version = '2.10.9' + +homepage = 'https://github.com/ncbi/ncbi-vdb' +description = """The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for + using data in the INSDC Sequence Read Archives.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch'] +checksums = [ + '3707f81412dbf6ce2b29d3e65e364116c86acc534543e5a084cf8a666b81960d', # ncbi-vdb-2.10.9.tar.gz + 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133', # ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch +] + +builddependencies = [('Perl', '5.32.1')] + +dependencies = [ + ('NGS', '2.10.9'), + ('file', '5.40'), # provides libmagic + ('HDF5', '1.10.7'), + ('libxml2', '2.9.10'), + ('bzip2', '1.0.8'), +] + +# add addtional libraries needed to statically link HDF5 from EB +preconfigopts = "sed -i 's/-lhdf5 -Wl,-Bdynamic/-lhdf5 -Wl,-Bdynamic -lmpi -lsz/' setup/konfigure.perl &&" + +configopts = "--build-prefix=%(builddir)s " # change default build directory +configopts += "--with-ngs-sdk-prefix=$EBROOTNGS --with-ngs-java-prefix=$EBROOTNGS/jar/ngs-java.jar " +configopts += "--with-hdf5-prefix=$EBROOTHDF5 --with-xml2-prefix=$EBROOTLIBXML2" + +# replace hardcoded optimization flags with EB settings +prebuildopts = "find build/ -name \"Makefile*\" -exec sed -i 's/-O3/$(EBFLAGS)/g' {} + && EBFLAGS=\"$CFLAGS\" " +preinstallopts = 'EBFLAGS="$CFLAGS" ' + +sanity_check_paths = { + 'files': ['include/ncbi-vdb/NGS.hpp', ('lib/libncbi-ngs-c++.a', 'lib64/libncbi-ngs-c++.a')] + + [('lib/libncbi-%s.%s' % (l, e), 'lib64/libncbi-%s.%s' % (l, e)) + for l in ['vdb', 'wvdb'] for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2021b.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2021b.eb new file mode 100644 index 000000000000..2809be90fa48 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2021b.eb @@ -0,0 +1,49 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.0' + +homepage = 'https://github.com/ncbi/ncbi-vdb' +description = """The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for + using data in the INSDC Sequence Read Archives.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch', + 'ncbi-vdb-cstdlib.patch', + 'ncbi-vdb-3.0.0_hdf5_api.patch', +] +checksums = [ + {'ncbi-vdb-3.0.0.tar.gz': '154317ef265104861fe8d3d2e439939ae98f33b1e28da3c45f32ae8534dbfad7'}, + {'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch': 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133'}, + {'ncbi-vdb-cstdlib.patch': 'db3d563262ca9b14e7b9a94a0be6683a9eef41a498c9c064aa05c2a6785f1655'}, + {'ncbi-vdb-3.0.0_hdf5_api.patch': '34bdad822248118a011b5106fe5b5efaa068c19b66ed10f949a9c0b07a79de8b'}, +] + +builddependencies = [ + ('Perl', '5.34.0', '-minimal'), + ('Python', '3.9.6', '-bare'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('libxml2', '2.9.10'), + ('bzip2', '1.0.8'), +] + +configopts = "-DHDF5_INCDIR=$EBROOTHDF5/include -DHDF5_LIBDIR=$EBROOTHDF5/lib " +configopts += "-DXML2_INCDIR=$EBROOTLIBXML2/include -DXML2_LIBDIR=$EBROOTLIBXML2/lib " + +sanity_check_paths = { + 'files': ['include/ncbi/ncbi.h', 'include/ncbi/vdb-blast.h'] + + [('lib/libncbi-%s.%s' % (k, e)) for k in ['vdb', 'wvdb'] for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2022a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2022a.eb new file mode 100644 index 000000000000..e9b2be165700 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.0' + +homepage = 'https://github.com/ncbi/ncbi-vdb' +description = """The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for + using data in the INSDC Sequence Read Archives.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch', + 'ncbi-vdb-cstdlib.patch', + 'ncbi-vdb-3.0.0_hdf5_api.patch', +] +checksums = [ + {'ncbi-vdb-3.0.0.tar.gz': '154317ef265104861fe8d3d2e439939ae98f33b1e28da3c45f32ae8534dbfad7'}, + {'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch': 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133'}, + {'ncbi-vdb-cstdlib.patch': 'db3d563262ca9b14e7b9a94a0be6683a9eef41a498c9c064aa05c2a6785f1655'}, + {'ncbi-vdb-3.0.0_hdf5_api.patch': '34bdad822248118a011b5106fe5b5efaa068c19b66ed10f949a9c0b07a79de8b'}, +] + +builddependencies = [ + ('Perl', '5.34.1', '-minimal'), + ('Python', '3.10.4', '-bare'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('bzip2', '1.0.8'), +] + +configopts = "-DHDF5_INCDIR=$EBROOTHDF5/include -DHDF5_LIBDIR=$EBROOTHDF5/lib " +configopts += "-DXML2_INCDIR=$EBROOTLIBXML2/include -DXML2_LIBDIR=$EBROOTLIBXML2/lib " + +sanity_check_paths = { + 'files': ['include/ncbi/ncbi.h', 'include/ncbi/vdb-blast.h'] + + [('lib/libncbi-%s.%s' % (k, e)) for k in ['vdb', 'wvdb'] for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0_hdf5_api.patch b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0_hdf5_api.patch new file mode 100644 index 000000000000..e3e7aaa68b9c --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0_hdf5_api.patch @@ -0,0 +1,13 @@ +ensuring compatibility with the newest hdf5 version +diff -ruN ncbi-vdb-3.0.0_orig/libs/hdf5/hdf5dir.c ncbi-vdb-3.0.0/libs/hdf5/hdf5dir.c +--- ncbi-vdb-3.0.0_orig/libs/hdf5/hdf5dir.c 2022-11-11 11:55:46.455701000 +0100 ++++ ncbi-vdb-3.0.0/libs/hdf5/hdf5dir.c 2022-11-11 11:58:33.079945000 +0100 +@@ -26,7 +26,7 @@ + + typedef struct HDF5Dir HDF5Dir; + #define KDIR_IMPL HDF5Dir +- ++#define H5_USE_18_API + #define H5Gopen_vers 2 + #define H5Eset_auto_vers 2 + \ No newline at end of file diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.2-gompi-2022a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.2-gompi-2022a.eb new file mode 100644 index 000000000000..8144240a86ca --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.2-gompi-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.2' + +homepage = 'https://github.com/ncbi/ncbi-vdb' +description = """The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for + using data in the INSDC Sequence Read Archives.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['275ccb225ddb156688c8c71f772f73276cb18ebff773a51150f86f8002ed2d59'] + +builddependencies = [ + ('Perl', '5.34.1', '-minimal'), + ('Python', '3.10.4', '-bare'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('bzip2', '1.0.8'), +] + +configopts = "-DHDF5_INCDIR=$EBROOTHDF5/include -DHDF5_LIBDIR=$EBROOTHDF5/lib " +configopts += "-DXML2_INCDIR=$EBROOTLIBXML2/include -DXML2_LIBDIR=$EBROOTLIBXML2/lib " + +sanity_check_paths = { + 'files': ['include/ncbi/ncbi.h', 'include/ncbi/vdb-blast.h'] + + [('lib/libncbi-%s.%s' % (k, e)) for k in ['vdb', 'wvdb'] for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6e0cca39d811 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.3' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059'] + +builddependencies = [('binutils', '2.39')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2022a.eb b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2022a.eb new file mode 100644 index 000000000000..5914ef4527ae --- /dev/null +++ b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2022a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'neptune-client' +version = '0.16.2' + +homepage = 'https://docs.neptune.ai' +description = """ +Neptune is an experiment tracking hub that brings organization and collaboration to your data science team. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('GitPython', '3.1.27'), + ('Pillow-SIMD', '9.2.0'), + ('PyYAML', '6.0'), + ('typing-extensions', '4.3.0'), + ('boto3', '1.26.37'), +] + +use_pip = True + +exts_list = [ + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], + }), + ('swagger-spec-validator', '3.0.3', { + 'checksums': ['16a5ce08c772824a77b1a4a05efc047d72eef1ed53fb969dfe0a18f437ac30a8'], + }), + ('jsonref', '0.2', { + 'checksums': ['f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697'], + }), + ('bravado-core', '5.17.1', { + 'checksums': ['0da9c6f3814734622a55db3f62d08db6e188b25f3ebd087de370c91afb66a7f4'], + }), + ('bravado', '11.0.3', { + 'checksums': ['1bb6ef75d84140c851fffe6420baaee5037d840070cfe11d60913be6ab8e0530'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('blinker', '1.5', { + 'checksums': ['923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + (name, version, { + 'modulename': 'neptune', + 'checksums': ['7e5e0261f3ce486f45e3272c5b5e3d563f0765a921bcda159b002e70175a553b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2022a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2022a.eb new file mode 100644 index 000000000000..df12f9d9a906 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'netCDF-C++4' +version = '4.3.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.9.0')] + +sanity_check_paths = { + 'files': ['include/netcdf', 'lib/libnetcdf_c++4.a', 'lib/libnetcdf_c++4.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb new file mode 100644 index 000000000000..e7d505dc509f --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.0' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8194aa70e400c0adfc456127c1d97af2c6489207171d13b10cd754a16da8b0ca'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.0'), + ('bzip2', '1.0.8'), +] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-iimpi-2022a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-iimpi-2022a.eb new file mode 100644 index 000000000000..6ccd8e612712 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-iimpi-2022a.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.0' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8194aa70e400c0adfc456127c1d97af2c6489207171d13b10cd754a16da8b0ca'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.0'), + ('bzip2', '1.0.8'), +] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb index f79aa51ab54b..6aad7ec48605 100644 --- a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb @@ -34,6 +34,8 @@ dependencies = [ ('cURL', '7.83.0'), ('Szip', '2.1.1'), ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.9.13'), ] # make sure both static and shared libs are built diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022b.eb new file mode 100644 index 000000000000..3aa763759fb4 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022b.eb @@ -0,0 +1,61 @@ +name = 'netCDF' +version = '4.9.0' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.0.tar.gz': '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6'}, + {'netCDF-4.9.0_fix-lib-name.patch': 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a'}, + {'netCDF-4.9.0_fix-linking-errors.patch': '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), + ('Doxygen', '1.9.5'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('cURL', '7.86.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.10.3'), +] + +# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso +# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172 +preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'" + " %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&") + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022a.eb new file mode 100644 index 000000000000..8cec66eec5aa --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022a.eb @@ -0,0 +1,53 @@ +name = 'netCDF' +version = '4.9.0' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6', # v4.9.0.tar.gz + 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a', # netCDF-4.9.0_fix-lib-name.patch + '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15', # netCDF-4.9.0_fix-linking-errors.patch + '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('cURL', '7.83.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.9.13'), +] + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022b.eb new file mode 100644 index 000000000000..3b2300fd940f --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022b.eb @@ -0,0 +1,61 @@ +name = 'netCDF' +version = '4.9.0' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.0.tar.gz': '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6'}, + {'netCDF-4.9.0_fix-lib-name.patch': 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a'}, + {'netCDF-4.9.0_fix-linking-errors.patch': '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), + ('Doxygen', '1.9.5'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('cURL', '7.86.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.10.3'), +] + +# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso +# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172 +preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'" + " %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&") + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb b/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb index 5cf8e1384e9d..db306984cd59 100644 --- a/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb +++ b/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb @@ -3,15 +3,14 @@ easyblock = 'Tarball' name = 'netMHC' version = '4.0a' -homepage = 'http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHC' -description = """ NetMHC 4.0 software predicts binding of peptides to a number of different - HLA alleles using artificial neural networks (ANN). """ +homepage = 'https://www.cbs.dtu.dk/services/NetMHC/' +description = """NetMHC 4.0 predicts binding of peptides to a number of different + HLA alleles using artificial neural networks (ANN).""" toolchain = SYSTEM -# netMHC is proprietary software, but free for academcs -# see: http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHC -source_urls = ['http://www.cbs.dtu.dk/services/NetMHC-4.0'] +# netMHC is proprietary software, but free for academics. +# It can be requested at https://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHC sources = [ { 'filename': '%(name)s-%(version)s.Linux.tar.gz', @@ -27,18 +26,21 @@ checksums = [ 'f3fb6d77ec11bc51de963e96fd75a0622f5098a2d1e37d750afa3709d5b876d1', # netMHC-4.0a-data.tar.gz ] +keepsymlinks = True + postinstallcmds = [ - 'sed -i -e "s|setenv[[:space:]]NMHOME.*|setenv NMHOME \$EBROOTNETMHC|" %(installdir)s/netMHC', - 'sed -i -e "s|setenv[[:space:]]TMPDIR.*|setenv TMPDIR /tmp|" %(installdir)s/netMHC', + "sed -i -e 's|setenv[[:space:]]NMHOME.*|setenv NMHOME $EBROOTNETMHC|' %(installdir)s/netMHC", + "sed -i -e 's|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR /tmp|' %(installdir)s/netMHC", + "chmod -R +rX %(installdir)s", ] -modextrapaths = {'PATH': ''} - sanity_check_paths = { 'files': ['netMHC', 'Linux_x86_64/bin/netMHC'], - 'dirs': [], + 'dirs': ['data'], } sanity_check_commands = ['netMHC -h'] +modextrapaths = {'PATH': ''} + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/netMHCII/netMHCII-2.3.eb b/easybuild/easyconfigs/n/netMHCII/netMHCII-2.3.eb new file mode 100644 index 000000000000..0729f2f83829 --- /dev/null +++ b/easybuild/easyconfigs/n/netMHCII/netMHCII-2.3.eb @@ -0,0 +1,49 @@ +easyblock = 'Tarball' + +name = 'netMHCII' +version = '2.3' + +homepage = 'https://www.cbs.dtu.dk/services/NetMHCII/' +description = """NetMHCII 2.3 server predicts binding of peptides to HLA-DR, + HLA-DQ, HLA-DP and mouse MHC class II alleles using articial neuron networks. + Predictions can be obtained for 25 HLA-DR alleles, 20 HLA-DQ, 9 HLA-DP, and + 7 mouse H2 class II alleles.""" + +toolchain = SYSTEM + +# netMHCII is proprietary software, but free for academics. +# It can be requested at https://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCII +sources = [ + { + 'filename': '%(name)s-%(version)s.Linux.tar.gz', + 'extract_cmd': 'tar --strip-components=1 -xzf %s', + }, + { + 'download_filename': 'data.Linux.tar.gz', + 'filename': '%(name)s-%(version)s-data.Linux.tar.gz', + }, +] +checksums = [ + '8b184b2463b93bbcbb93a7351c6c0bae12d82c7827c451ebc5153b257dd0be86', # netMHCII-2.3.Linux.tar.gz + '6bf8af9e2e89d96b8fe9a2752164606417c4583872bdc2e81637f6668dee30a0', # netMHCII-2.3-data.Linux.tar.gz +] + +keepsymlinks = True + +postinstallcmds = [ + "sed -i -e 's|setenv[[:space:]]NMHOME.*|setenv NMHOME $EBROOTNETMHCII|' %(installdir)s/netMHCII-%(version)s", + "sed -i -e 's|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR $TMPDIR|' %(installdir)s/netMHCII-%(version)s", + "cd %(installdir)s && ln -s netMHCII-2.3 netMHCII", + "chmod -R +rX %(installdir)s", +] + +sanity_check_paths = { + 'files': ['netMHCII-%(version)s', 'Linux_x86_64/bin/netMHCII'], + 'dirs': ['data'], +} + +sanity_check_commands = ['netMHCII-%(version)s -h'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb b/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb index 8f7e07d18ec8..ae72747c66b5 100644 --- a/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb @@ -32,7 +32,7 @@ checksums = [ dependencies = [('Perl', '5.28.0')] postinstallcmds = [ - 'sed -i -e "s|setenv[[:space:]]*NMHOME.*|setenv NMHOME \$EBROOTNETMHCIIPAN|" %(installdir)s/netMHCIIpan', + r'sed -i -e "s|setenv[[:space:]]*NMHOME.*|setenv NMHOME \$EBROOTNETMHCIIPAN|" %(installdir)s/netMHCIIpan', 'sed -i -e "s|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR /tmp|" %(installdir)s/netMHCIIpan', 'sed -i -e "1i #!/usr/bin/env perl" %(installdir)s/NetMHCIIpan-%(version)s.pl', 'mkdir -p %(installdir)s/man/man1 && mv %(installdir)s/netMHCIIpan.1 %(installdir)s/man/man1/' diff --git a/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb b/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb index 7cda16cb5135..1515b7f4e1a4 100644 --- a/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb +++ b/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb @@ -3,24 +3,22 @@ easyblock = 'Tarball' name = 'netMHCpan' version = '4.0a' -homepage = 'http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCpan' -description = """ The NetMHCpan software predicts binding of peptides to any known MHC - molecule using artificial neural networks (ANNs). """ +homepage = 'https://www.cbs.dtu.dk/services/NetMHCpan/' +description = """The NetMHCpan software predicts binding of peptides to any known MHC + molecule using artificial neural networks (ANNs).""" toolchain = SYSTEM -# netMHCpan is proprietary software, but free for academcs -# see: http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCpan -source_urls = ['http://www.cbs.dtu.dk/services/NetMHCpan-4.0'] +# netMHCpan is proprietary software, but free for academics. +# It can be requested at https://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCpan sources = [ { 'filename': '%(name)s-%(version)s.Linux.tar.gz', - 'extract_cmd': 'tar --strip-components=1 -xzf %s && chmod -R +rX *', + 'extract_cmd': 'tar --strip-components=1 -xzf %s', }, { 'download_filename': 'data.Linux.tar.gz', 'filename': '%(name)s-%(version)s-data.Linux.tar.gz', - 'extract_cmd': 'tar -xzf %s -C Linux_x86_64 && chmod -R +rX Linux_x86_64/data' }, ] @@ -29,18 +27,21 @@ checksums = [ 'c2a4c9263af448f1a46e63f7c068194fd5bbfa0413413c741cf92d88e6a76b06', # netMHCpan-4.0a-data.Linux.tar.gz ] +keepsymlinks = True + postinstallcmds = [ - 'sed -i -e "s|setenv[[:space:]]NMHOME.*|setenv NMHOME \$EBROOTNETMHCPAN|" %(installdir)s/netMHCpan', - 'sed -i -e "s|setenv[[:space:]]TMPDIR.*|setenv TMPDIR /tmp|" %(installdir)s/netMHCpan', + "sed -i -e 's|setenv[[:space:]]NMHOME.*|setenv NMHOME $EBROOTNETMHCPAN|' %(installdir)s/netMHCpan", + "sed -i -e 's|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR /tmp|' %(installdir)s/netMHCpan", + "chmod -R +rX %(installdir)s", ] -modextrapaths = {'PATH': ''} - sanity_check_paths = { 'files': ['netMHCpan', 'Linux_x86_64/bin/netMHCpan'], - 'dirs': [], + 'dirs': ['data'], } sanity_check_commands = ['netMHCpan -h'] +modextrapaths = {'PATH': ''} + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-intel-2022a.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-intel-2022a.eb new file mode 100644 index 000000000000..d5d6084f968c --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-intel-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.1' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('netCDF', '4.9.0'), + ('cURL', '7.83.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.6.2', { + 'checksums': ['8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2'], + }), + (name, version, { + 'patches': [ + 'netcdf4-python-1.1.8-avoid-diskless-test.patch', + 'netcdf4-python-1.6.1_relax_tolerance_compression_test.patch', + ], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'ba8dc5d65293a99f1afb8c2acf588d903fdfdc1963a62545b677fa2734262a78', # netCDF4-1.6.1.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + # netcdf4-python-1.6.1_relax_tolerance_compression_test.patch + '64d192a5d1e3e00af78f053da78f5a35015fa713c7f97b10b622be6a44347166', + ], + }), +] + +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/nettle/nettle-3.8.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.8.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..7389e42ad8e4 --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.8.1-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.8.1' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['364f3e2b77cd7dcde83fd7c45219c834e54b0c75e428b6f894a23d12dd41cbfe'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.8.4-intel-2022a.eb b/easybuild/easyconfigs/n/networkx/networkx-2.8.4-intel-2022a.eb new file mode 100644 index 000000000000..40d509decfb1 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.8.4-intel-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.8.4' + +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': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5e53f027c0d567cf1f884dbb283224df525644e43afd1145d64c9d88a3584762'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.8.8-gfbf-2022b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.8.8-gfbf-2022b.eb new file mode 100644 index 000000000000..bac13dc9e35a --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.8.8-gfbf-2022b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.8.8' + +homepage = 'https://pypi.python.org/pypi/networkx' +description = """NetworkX is a Python package for the creation, manipulation, +and study of the structure, dynamics, and functions of complex networks.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.0-foss-2022b.eb b/easybuild/easyconfigs/n/networkx/networkx-3.0-foss-2022b.eb new file mode 100644 index 000000000000..5825b79f6d4d --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.0-foss-2022b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.0' + +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': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9a9992345353618ae98339c2b63d8201c381c2944f38a2ab49cb45a4c667e412'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nf-core-mag/nf-core-mag-20221110-foss-2021a.eb b/easybuild/easyconfigs/n/nf-core-mag/nf-core-mag-20221110-foss-2021a.eb new file mode 100644 index 000000000000..2e45780b042b --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core-mag/nf-core-mag-20221110-foss-2021a.eb @@ -0,0 +1,56 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'Bundle' + +name = 'nf-core-mag' +version = '20221110' + +homepage = 'https://nf-co.re/mag' +description = """The Nextflow pipeline 'mag' ported to EasyBuild/EESSI.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Nextflow', '22.10.1', '', SYSTEM), + ('AdapterRemoval', '2.3.2'), + ('BCFtools', '1.12'), + ('Bowtie2', '2.4.4'), + ('BUSCO', '5.4.2'), + ('CAT-BAT', '5.2.3'), + ('Centrifuge', '1.0.4'), + ('DAS_Tool', '1.1.3', '-R-4.1.0'), + ('fastp', '0.23.2'), + ('FastQC', '0.11.9', '-Java-11', SYSTEM), + ('Filtlong', '0.2.1'), + ('freebayes', '1.3.6', '-R-4.1.0'), + ('GTDB-Tk', '2.0.0'), + ('Kraken2', '2.1.2'), + ('KronaTools', '2.8'), + ('MaxBin', '2.2.7'), + ('MEGAHIT', '1.2.9'), + ('MetaBAT', '2.15'), + ('MultiQC', '1.11'), + ('NanoLyse', '1.2.1'), + ('NanoPlot', '1.33.0'), + ('Porechop', '0.2.4'), + ('prodigal', '2.6.3'), + ('prokka', '1.14.5'), + ('PyDamage', '0.70'), + ('QUAST', '5.0.2'), + ('SPAdes', '3.13.0'), +] + +postinstallcmds = ["echo 'Bundle for the Nextflow pipeline https://nf-co.re/mag' > %(installdir)s/README"] + +sanity_check_paths = { + 'files': ['README'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.3.0.eb b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..b3af8adacf8a --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.3.0.eb @@ -0,0 +1,57 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'nghttp2' +version = '1.48.0' + +homepage = 'https://github.com/nghttp2/nghttp2' +description = """ +This is an implementation of the Hypertext Transfer Protocol version 2 in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. +On top of that, we have implemented an HTTP/2 client, server and proxy. +We have also developed load test and benchmarking tools for HTTP/2. + +An HPACK encoder and decoder are available as a public API.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'nghttp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '946a8fa490548b67fc6074553cb225279cc6404bae96cf74551f2ad4453be637', # v1.48.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), + ('CMake', '3.23.1'), + ('CUnit', '2.1-3'), + ('Boost', '1.79.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('nghttp3', '0.6.0'), + ('Python', '3.10.4'), + ('libxml2', '2.9.13'), + ('Jansson', '2.14'), + ('jemalloc', '5.3.0'), + ('ngtcp2', '0.7.0'), + ('libevent', '2.1.12'), + ('libev', '4.33'), + ('c-ares', '1.18.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp2.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp2', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..5d41fd671995 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'nghttp3' +version = '0.6.0' + +homepage = 'https://github.com/ngtcp2/nghttp3' +description = """ nghttp3 is an implementation of RFC 9114 HTTP/3 +mapping over QUIC and RFC 9204 QPACK in C. +It does not depend on any particular QUIC transport implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '3cd5fa107541a2dd11b87a84f251a98fae4c7b67df9d78be7343e4adce540b7f', # v0.6.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkg-config', '0.29.2'), + ('CUnit', '2.1-3'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp3.a', 'lib/libnghttp3.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp3'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2021a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2021a.eb new file mode 100644 index 000000000000..0d555c1e8910 --- /dev/null +++ b/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'nglview' +version = '3.0.3' + +homepage = 'https://github.com/arose/nglview' +description = "IPython widget to interactively view molecular structures and trajectories." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('IPython', '7.25.0'), + ('JupyterLab', '3.0.16'), + ('nodejs', '14.17.0'), + ('MDAnalysis', '2.0.0'), # optional +] + +use_pip = True + +exts_list = [ + ('versioneer', '0.24', { + 'checksums': ['1b8dba9e51e2f0e04c7e8545216eecdea2d63e1bd5569448ee66c549f7e7782f'], + }), + (name, version, { + 'use_pip_extras': 'MDAnalysis', + 'checksums': ['3253c44bd071e4701c288de44997471608487d5191ab3d3b7736c8651335c1af'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/nglview'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.3.0.eb b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..f5d87ac788a0 --- /dev/null +++ b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.3.0.eb @@ -0,0 +1,47 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'ngtcp2' +version = '0.7.0' + +homepage = 'https://github.com/ngtcp2/ngtcp2' +description = """ +'Call it TCP/2. One More Time.' + +ngtcp2 project is an effort to implement RFC9000 QUIC protocol.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + 'b2015c58e6d249bb71c7f7726a1e5ec5ccc78be7d50d82938358fac14ec98ca9', # v0.6.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('CUnit', '2.1-3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('GnuTLS', '3.7.8'), + ('nghttp3', '0.6.0'), + ('libev', '4.33'), +] + +configopts = '-DENABLE_GNUTLS=True' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libngtcp2_static.a', 'lib/libngtcp2.%s' % SHLIB_EXT], + 'dirs': ['share/doc/ngtcp2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nichenetr/nichenetr-1.1.1-20230223-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/n/nichenetr/nichenetr-1.1.1-20230223-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..646ba5fd353d --- /dev/null +++ b/easybuild/easyconfigs/n/nichenetr/nichenetr-1.1.1-20230223-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'nichenetr' +local_commit = 'cc3bced' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '1.1.1-20230223' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/saeyslab/nichenetr' +description = """R implementation of the NicheNet method, + to predict active ligand-target links between interacting cells""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/saeyslab/nichenetr/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['522475bd8d5552062cc6d6ba095dae8c214e13b3c553c3e090b67a7c8c1723af'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..a5775e9ae84b --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.11.2' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['share/cmake', 'share/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb index deaf600ec198..866799bfdea0 100644 --- a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb @@ -14,11 +14,16 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['http://%(name)s.org/dist/v%(version)s/'] sources = ['node-v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_fix-argument-list-too-long.patch'] +patches = [ + '%(name)s-%(version)s_fix-argument-list-too-long.patch', + '%(name)s-%(version)s_use_new_icu69_calls.patch', +] checksums = [ '6114e82d3256136dc85a509d835442fbdf2f8430dcd8bfa7c304097344d06fb7', # node-v14.17.0.tar.gz # nodejs-14.17.0_fix-argument-list-too-long.patch 'b0eac4b478a9268c8902ec701f99e1445eeba2a70927bfacdeb5ba243e668550', + # nodejs-14.17.0_use_new_icu69_calls.patch + '24fbc749d225b395184aa9c4c3880665026ced898474d77259c597f6b790e290', ] builddependencies = [ @@ -26,21 +31,30 @@ builddependencies = [ ('Python', '3.9.5'), ] +dependencies = [ + ('ICU', '69.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + configopts = [ - '--with-intl=none', # Fully disable ICU to avoid issues with the embedded icu-small library - '--shared --with-intl=none', # Build libnode.so in a second run + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run ] # Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + postinstallcmds = [ - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libnode.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libbase.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libplatform.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs ] sanity_check_paths = { - 'files': ['bin/node', 'bin/npm', 'lib/libnode.%s.%s' % (SHLIB_EXT, local_libversion)], + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], 'dirs': ['lib/node_modules', 'include/node'] } diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0_use_new_icu69_calls.patch b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0_use_new_icu69_calls.patch new file mode 100644 index 000000000000..9b635d20f3d8 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0_use_new_icu69_calls.patch @@ -0,0 +1,92 @@ +From 035c305ce7761f51328b45f1bd83e26aef267c9d Mon Sep 17 00:00:00 2001 +From: Frank Tang +Date: Thu, 15 Oct 2020 22:44:27 -0700 +Subject: [PATCH] [Intl] call new ListFormatter::createInstance + +The one we currently using is now marked as internal and to be removed +for 68. Migrating to the style which already avaiable in ICU 67-1. + +Bug: v8:11031 +Change-Id: I668382a2e1b8602ddca02bf231c5008a6c92bf2d +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477751 +Reviewed-by: Jakob Kummerow +Commit-Queue: Frank Tang +Cr-Commit-Position: refs/heads/master@{#70638} +--- + +diff --git a/deps/v8/src/objects/js-list-format.cc b/deps/v8/src/objects/js-list-format.cc +index b17d38c..e48a387 100644 +--- a/deps/v8/src/objects/js-list-format.cc ++++ b/deps/v8/src/objects/js-list-format.cc +@@ -29,46 +29,27 @@ + namespace internal { + + namespace { +-const char* kStandard = "standard"; +-const char* kOr = "or"; +-const char* kUnit = "unit"; +-const char* kStandardShort = "standard-short"; +-const char* kOrShort = "or-short"; +-const char* kUnitShort = "unit-short"; +-const char* kStandardNarrow = "standard-narrow"; +-const char* kOrNarrow = "or-narrow"; +-const char* kUnitNarrow = "unit-narrow"; + +-const char* GetIcuStyleString(JSListFormat::Style style, +- JSListFormat::Type type) { ++UListFormatterWidth GetIcuWidth(JSListFormat::Style style) { ++ switch (style) { ++ case JSListFormat::Style::LONG: ++ return ULISTFMT_WIDTH_WIDE; ++ case JSListFormat::Style::SHORT: ++ return ULISTFMT_WIDTH_SHORT; ++ case JSListFormat::Style::NARROW: ++ return ULISTFMT_WIDTH_NARROW; ++ } ++ UNREACHABLE(); ++} ++ ++UListFormatterType GetIcuType(JSListFormat::Type type) { + switch (type) { + case JSListFormat::Type::CONJUNCTION: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kStandard; +- case JSListFormat::Style::SHORT: +- return kStandardShort; +- case JSListFormat::Style::NARROW: +- return kStandardNarrow; +- } ++ return ULISTFMT_TYPE_AND; + case JSListFormat::Type::DISJUNCTION: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kOr; +- case JSListFormat::Style::SHORT: +- return kOrShort; +- case JSListFormat::Style::NARROW: +- return kOrNarrow; +- } ++ return ULISTFMT_TYPE_OR; + case JSListFormat::Type::UNIT: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kUnit; +- case JSListFormat::Style::SHORT: +- return kUnitShort; +- case JSListFormat::Style::NARROW: +- return kUnitNarrow; +- } ++ return ULISTFMT_TYPE_UNITS; + } + UNREACHABLE(); + } +@@ -143,7 +124,7 @@ + icu::Locale icu_locale = r.icu_locale; + UErrorCode status = U_ZERO_ERROR; + icu::ListFormatter* formatter = icu::ListFormatter::createInstance( +- icu_locale, GetIcuStyleString(style_enum, type_enum), status); ++ icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status); + if (U_FAILURE(status) || formatter == nullptr) { + delete formatter; + THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError), diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb index 569932aa4527..6be4d5098780 100644 --- a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb @@ -21,21 +21,30 @@ builddependencies = [ ('Python', '3.9.6', '-bare'), ] +dependencies = [ + ('ICU', '69.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + configopts = [ - '--with-intl=none', # Fully disable ICU to avoid issues with the embedded icu-small library - '--shared --with-intl=none', # Build libnode.so in a second run + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run ] # Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + postinstallcmds = [ - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libnode.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libbase.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libplatform.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs ] sanity_check_paths = { - 'files': ['bin/node', 'bin/npm', 'lib/libnode.%s.%s' % (SHLIB_EXT, local_libversion)], + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], 'dirs': ['lib/node_modules', 'include/node'] } diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb index 3fe69b1af4cf..87bfe5f2d358 100644 --- a/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb @@ -14,28 +14,45 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} source_urls = ['https://nodejs.org/dist/v%(version)s/'] sources = ['node-v%(version)s.tar.gz'] -checksums = ['308aee7149c4092a53c87c28ef49e23a8d1606119e79ae68333062e2a1f94208'] +patches = [ + '%(name)s-%(version)s_fix-argument-list-too-long.patch', +] +checksums = [ + {'node-v16.15.1.tar.gz': '308aee7149c4092a53c87c28ef49e23a8d1606119e79ae68333062e2a1f94208'}, + {'nodejs-16.15.1_fix-argument-list-too-long.patch': + '36b5627e60fd2b861ce3dc5445b137b4fe7ec30a4f866ea540ec56bda9686405'}, +] builddependencies = [ ('binutils', '2.38'), + ('pkgconf', '1.8.0'), ('Python', '3.10.4', '-bare'), ] +dependencies = [ + ('ICU', '71.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + configopts = [ - '--with-intl=none', # Fully disable ICU to avoid issues with the embedded icu-small library - '--shared --with-intl=none', # Build libnode.so in a second run + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run ] # Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + postinstallcmds = [ - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libnode.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libbase.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libplatform.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs ] sanity_check_paths = { - 'files': ['bin/node', 'bin/npm', 'lib/libnode.%s.%s' % (SHLIB_EXT, local_libversion)], + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], 'dirs': ['lib/node_modules', 'include/node'] } diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1_fix-argument-list-too-long.patch b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1_fix-argument-list-too-long.patch new file mode 100644 index 000000000000..4a69b371a766 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1_fix-argument-list-too-long.patch @@ -0,0 +1,107 @@ +# +# nodejs-14.17.0_fix-argument-list-too-long.patch adjusted for v16 +# +# Source: https://github.com/nodejs/node/issues/9137 +# +diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py +index d163ae31..2ce1c301 100644 +--- a/tools/gyp/pylib/gyp/generator/make.py ++++ b/tools/gyp/pylib/gyp/generator/make.py +@@ -155,6 +155,31 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) + quiet_cmd_link = LINK($(TOOLSET)) $@ + cmd_link = $(LINK.$(TOOLSET)) -o $@ $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--start-group $(LD_INPUTS) $(LIBS) -Wl,--end-group + ++# Note: this does not handle spaces in paths ++define xargs ++ $(1) $(word 1,$(2)) ++$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2)))) ++endef ++ ++define write-to-file ++ @: >$(1) ++$(call xargs,@printf "%s\\n" >>$(1),$(2)) ++endef ++ ++OBJ_FILE_LIST := ar-file-list ++ ++define create_archive ++ rm -f $(1) $(1).$(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crs $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ ++define create_thin_archive ++ rm -f $(1) $(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crsT $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ + # We support two kinds of shared objects (.so): + # 1) shared_library, which is just bundling together many dependent libraries + # into a link line. +@@ -199,6 +224,31 @@ cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^) + quiet_cmd_alink_thin = AR($(TOOLSET)) $@ + cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) + ++# Note: this does not handle spaces in paths ++define xargs ++ $(1) $(word 1,$(2)) ++$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2)))) ++endef ++ ++define write-to-file ++ @: >$(1) ++$(call xargs,@printf "%s\\n" >>$(1),$(2)) ++endef ++ ++OBJ_FILE_LIST := ar-file-list ++ ++define create_archive ++ rm -f $(1) $(1).$(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crs $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ ++define create_thin_archive ++ rm -f $(1) $(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crsT $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ + # Due to circular dependencies between libraries :(, we wrap the + # special "figure out circular dependencies" flags around the entire + # input list during linking. +@@ -1766,14 +1816,28 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD + self.flavor not in ("mac", "openbsd", "netbsd", "win") + and not self.is_standalone_static_library + ): +- self.WriteDoCmd( ++ if self.flavor in ('linux', 'android'): ++ self.WriteMakeRule( + [self.output_binary], + link_deps, +- "alink_thin", +- part_of_all, +- postbuilds=postbuilds, +- ) ++ actions = ['$(call create_thin_archive,$@,$^)'] ++ ) ++ else: ++ self.WriteDoCmd( ++ [self.output_binary], ++ link_deps, ++ "alink_thin", ++ part_of_all, ++ postbuilds=postbuilds, ++ ) + else: ++ if self.flavor in ('linux', 'android'): ++ self.WriteMakeRule( ++ [self.output_binary], ++ link_deps, ++ actions = ['$(call create_archive,$@,$^)'] ++ ) ++ else: + self.WriteDoCmd( + [self.output_binary], + link_deps, diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-18.12.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-18.12.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2ea5d3c974f3 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-18.12.1-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '18.12.1' # LTS on 2022-11-22 +local_libversion = '108' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186'] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8', '-bare'), +] + +dependencies = [ + ('ICU', '72.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..d9344685b433 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.16' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a35c3bdb3efab5c65927e0de5703227760b1101f5e27ab741d8f32b3d5f0a44c'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numba/llvmlite-0.39.1_fix-LLVM-14.patch b/easybuild/easyconfigs/n/numba/llvmlite-0.39.1_fix-LLVM-14.patch new file mode 100644 index 000000000000..4d09309e51e5 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/llvmlite-0.39.1_fix-LLVM-14.patch @@ -0,0 +1,95 @@ +fix build on top of LLVM 14, +like this: https://github.com/numba/llvmlite/issues/897 +diff -ruN llvmlite-0.39.1.orig/ffi/passmanagers.cpp llvmlite-0.39.1/ffi/passmanagers.cpp +--- llvmlite-0.39.1.orig/ffi/passmanagers.cpp 2022-09-01 13:47:22.477959200 +0000 ++++ llvmlite-0.39.1/ffi/passmanagers.cpp 2023-01-10 16:59:33.776510869 +0000 +@@ -8,6 +8,7 @@ + #include "llvm/IR/DiagnosticInfo.h" + #include "llvm/IR/DiagnosticPrinter.h" + #include "llvm/IR/LegacyPassManager.h" ++#include "llvm/Pass.h" + #include "llvm/IR/Module.h" + #include "llvm/Support/FileSystem.h" + #include "llvm/Support/ToolOutputFile.h" +@@ -17,9 +18,6 @@ + #include "llvm-c/Transforms/IPO.h" + #include "llvm-c/Transforms/Scalar.h" + #include "llvm/IR/LegacyPassManager.h" +-#if LLVM_VERSION_MAJOR > 11 +-#include "llvm/IR/RemarkStreamer.h" +-#endif + #include "llvm/IR/LLVMRemarkStreamer.h" + #include "llvm/Remarks/RemarkStreamer.h" + #include "llvm/Transforms/IPO.h" +diff -ruN llvmlite-0.39.1.orig/ffi/targets.cpp llvmlite-0.39.1/ffi/targets.cpp +--- llvmlite-0.39.1.orig/ffi/targets.cpp 2022-09-01 13:47:22.449959300 +0000 ++++ llvmlite-0.39.1/ffi/targets.cpp 2023-01-10 16:59:54.544810234 +0000 +@@ -6,7 +6,7 @@ + #include "llvm/IR/LegacyPassManager.h" + #include "llvm/IR/Type.h" + #include "llvm/Support/Host.h" +-#include "llvm/Support/TargetRegistry.h" ++#include "llvm/MC/TargetRegistry.h" + #include "llvm/Target/TargetMachine.h" + + #include +@@ -204,7 +204,6 @@ + rm = Reloc::DynamicNoPIC; + + TargetOptions opt; +- opt.PrintMachineCode = PrintMC; + opt.MCOptions.ABIName = ABIName; + + bool jit = JIT; +diff -ruN llvmlite-0.39.1.orig/ffi/value.cpp llvmlite-0.39.1/ffi/value.cpp +--- llvmlite-0.39.1.orig/ffi/value.cpp 2022-09-01 13:47:22.449959300 +0000 ++++ llvmlite-0.39.1/ffi/value.cpp 2023-01-10 16:59:09.616162588 +0000 +@@ -154,7 +154,7 @@ + Argument *arg = unwrap(A); + unsigned argno = arg->getArgNo(); + AttributeSet attrs = +- arg->getParent()->getAttributes().getParamAttributes(argno); ++ arg->getParent()->getAttributes().getParamAttrs(argno); + return wrap(new AttributeSetIterator(attrs.begin(), attrs.end())); + } + +diff -ruN llvmlite-0.39.1.orig/llvmlite/tests/test_binding.py llvmlite-0.39.1/llvmlite/tests/test_binding.py +--- llvmlite-0.39.1.orig/llvmlite/tests/test_binding.py 2022-09-01 13:47:22.481959000 +0000 ++++ llvmlite-0.39.1/llvmlite/tests/test_binding.py 2023-01-10 17:00:04.868959051 +0000 +@@ -18,6 +18,16 @@ + from llvmlite.tests import TestCase + + ++def clean_string_whitespace(x: str) -> str: ++ # Remove trailing whitespace from the end of each line ++ x = re.sub(r"\s+$", "", x, flags=re.MULTILINE) ++ # Remove intermediate blank lines ++ x = re.sub(r"\n\s*\n", r"\n", x, flags=re.MULTILINE) ++ # Remove extraneous whitespace from the beginning and end of the string ++ x = x.strip() ++ return x ++ ++ + # arvm7l needs extra ABI symbols to link successfully + if platform.machine() == 'armv7l': + llvm.load_library_permanently('libgcc_s.so.1') +@@ -555,7 +565,10 @@ + bd = ir.IRBuilder(fn.append_basic_block(name="<>!*''#")) + bd.ret(ir.Constant(ir.IntType(32), 12345)) + asm = str(mod) +- self.assertEqual(asm, asm_nonalphanum_blocklabel) ++ self.assertEqual( ++ clean_string_whitespace(asm), ++ clean_string_whitespace(asm_nonalphanum_blocklabel) ++ ) + + def test_global_context(self): + gcontext1 = llvm.context.get_global_context() +@@ -640,7 +653,7 @@ + def test_version(self): + major, minor, patch = llvm.llvm_version_info + # one of these can be valid +- valid = [(11,)] ++ valid = [(11,), (12,), (13,), (14,)] + self.assertIn((major,), valid) + self.assertIn(patch, range(10)) diff --git a/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..01f814670221 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.56.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('LLVM', '14.0.3'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +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.39.1', { + 'preinstallopts': local_llvmlite_preinstallopts, + 'patches': ['llvmlite-0.39.1_fix-LLVM-14.patch'], + 'checksums': [ + {'llvmlite-0.39.1.tar.gz': 'b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572'}, + {'llvmlite-0.39.1_fix-LLVM-14.patch': '39cde92d522cce45f8b93231059f7e2c69bc54dc7c35c4c6eaee3423f3f04d17'}, + ], + }), + (name, version, { + # 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + {'numba-0.56.4.tar.gz': '32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee'}, + ], + }), +] + +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/numba/numba-0.56.4-foss-2022a.eb b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a.eb new file mode 100644 index 000000000000..c24eb2ca63f4 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.56.4' + +homepage = 'https://numba.pydata.org/' +description = """Numba is an Open Source NumPy-aware optimizing compiler for +Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM +compiler infrastructure to compile Python syntax to machine code.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('LLVM', '14.0.3'), +] + +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.39.1', { + 'preinstallopts': local_llvmlite_preinstallopts, + 'patches': ['llvmlite-0.39.1_fix-LLVM-14.patch'], + 'checksums': [ + {'llvmlite-0.39.1.tar.gz': 'b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572'}, + {'llvmlite-0.39.1_fix-LLVM-14.patch': '39cde92d522cce45f8b93231059f7e2c69bc54dc7c35c4c6eaee3423f3f04d17'}, + ], + }), + (name, version, { + # 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + {'numba-0.56.4.tar.gz': '32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee'}, + ], + }), +] + +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.4-foss-2022a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.4-foss-2022a.eb new file mode 100644 index 000000000000..41f638503e2c --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.4-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.8.4' + +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': '2022a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0e21addd25db5f62d60d97e4380339d9c1fb2de72c88b070c279776ee6455d10'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nvofbf/nvofbf-2022.07.eb b/easybuild/easyconfigs/n/nvofbf/nvofbf-2022.07.eb new file mode 100644 index 000000000000..172f0f07ea94 --- /dev/null +++ b/easybuild/easyconfigs/n/nvofbf/nvofbf-2022.07.eb @@ -0,0 +1,25 @@ +easyblock = 'Toolchain' + +name = 'nvofbf' +version = '2022.07' + +homepage = '(none)' +description = """NVHPC based toolchain, including OpenMPI for MPI support, +OpenBLAS (via FlexiBLAS for BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '22.7-CUDA-11.7.0') + +local_comp_mpi_tc = ('nvompi', version) + +dependencies = [ + local_compiler, + ('OpenMPI', '4.1.4', '', local_compiler), + ('FlexiBLAS', '3.2.0', '', local_compiler), + ('FFTW', '3.3.10', '', local_compiler), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/n/nvompi/nvompi-2022.07.eb b/easybuild/easyconfigs/n/nvompi/nvompi-2022.07.eb new file mode 100644 index 000000000000..1a1647cbfa25 --- /dev/null +++ b/easybuild/easyconfigs/n/nvompi/nvompi-2022.07.eb @@ -0,0 +1,19 @@ +easyblock = 'Toolchain' + +name = 'nvompi' +version = '2022.07' + +homepage = '(none)' +description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.' + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '22.7-CUDA-11.7.0') + +dependencies = [ + local_compiler, + ('OpenMPI', '4.1.4', '', local_compiler), + ('CUDA', '11.7.0', '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..acd3f2134b0d --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +easyblock = 'ConfigureMake' + +name = 'OPARI2' +version = '2.0.7' + +homepage = 'https://www.score-p.org' +description = """ + OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a + source-to-source instrumentation tool for OpenMP and hybrid codes. + It surrounds OpenMP directives and runtime library calls with calls + to the POMP2 measurement interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715'] + +builddependencies = [ + ('binutils', '2.37'), +] + + +sanity_check_paths = { + 'files': ['bin/opari2', 'include/opari2/pomp2_lib.h'], + 'dirs': [], +} + +sanity_check_commands = ['opari2-config --help'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c672c06de72a --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +easyblock = 'ConfigureMake' + +name = 'OPARI2' +version = '2.0.7' + +homepage = 'https://www.score-p.org' +description = """ + OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a + source-to-source instrumentation tool for OpenMP and hybrid codes. + It surrounds OpenMP directives and runtime library calls with calls + to the POMP2 measurement interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +sanity_check_paths = { + 'files': ['bin/opari2', 'include/opari2/pomp2_lib.h'], + 'dirs': [], +} + +sanity_check_commands = ['opari2-config --help'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb index 27e6168a39c0..72562d321369 100644 --- a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb @@ -37,7 +37,7 @@ buildopts = 'install CXX="$CXX" CXXFLAGS="$CXXFLAGS"' files_to_copy = ['bin'] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", "cp %(builddir)s/blasr-1.3.1 %(installdir)s/bin/blasr", # make sure all binaries/scripts and bin subdir have executable permissions "chmod -R a+rx %(installdir)s/bin", diff --git a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb index 1e06cb1a67e9..82609afabe3f 100644 --- a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb @@ -37,7 +37,7 @@ buildopts = 'install CXX="$CXX" CXXFLAGS="$CXXFLAGS"' files_to_copy = ['bin'] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", "cp %(builddir)s/blasr-1.3.1 %(installdir)s/bin/blasr", # make sure all binaries/scripts and bin subdir have executable permissions "chmod -R a+rx %(installdir)s/bin", diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2022a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2022a.eb new file mode 100644 index 000000000000..451b27578dbc --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2022a.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.4' + +homepage = 'https://orcaforum.kofo.mpg.de' +description = """ +ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum +chemistry with specific emphasis on spectroscopic properties of open-shell +molecules. It features a wide variety of standard quantum chemical methods +ranging from semiempirical methods to DFT to single- and multireference +correlated ab initio methods. It can also treat environmental and relativistic +effects.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +download_instructions = "Shared build of ORCA: download from https://orcaforum.kofo.mpg.de" +# mostly dynamically linked (SCALAPACK, OpenBLAS are still embedded) +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_shared_openmpi411.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_5_0_4_linux_x86-64_shared_openmpi411.tar.xz + 'c4ea5aea60da7bcb18a6b7042609206fbeb2a765c6fa958c5689d450b588b036', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-ROCm-4.5.0.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-ROCm-4.5.0.eb new file mode 100755 index 000000000000..a6b19ada3f2e --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-ROCm-4.5.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' +_rocm_version = '4.5.0' +versionsuffix = '-ROCm-%s' % _rocm_version + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +dependencies = [ + ('ROCm', _rocm_version), + ('UCX-ROCm', '1.11.2', versionsuffix), +] + +configopts = ' --enable-rocm ' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-iimpi-2022a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-iimpi-2022a.eb new file mode 100644 index 000000000000..ed75d86ee387 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-iimpi-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022.10.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022.10.eb new file mode 100644 index 000000000000..9326eb7240e9 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022.10.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '6.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022.10'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb9dbc87dcf8ec6785977a61f6fceee8febf1a682488eaab4c58cf50e4fa985f'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b.eb new file mode 100644 index 000000000000..b98375baf035 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '6.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb9dbc87dcf8ec6785977a61f6fceee8febf1a682488eaab4c58cf50e4fa985f'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb index 6fa20d819faa..c34cc8c99f13 100644 --- a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb @@ -39,6 +39,9 @@ dependencies = [ ('SIONlib', '1.7.4', '-tools'), ] +# set $PYTHON_FOR_GENERATOR to ':' to disable Python support (since we're not included Python 2.x as dependency) +preconfigopts = "export PYTHON_FOR_GENERATOR=':' && " + configopts = '--enable-shared' sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb index 4c77f62f44d8..2c088bb71583 100644 --- a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb @@ -39,6 +39,9 @@ dependencies = [ ('SIONlib', '1.7.6', '-tools'), ] +# set $PYTHON_FOR_GENERATOR to ':' to disable Python support (since we're not included Python 2.x as dependency) +preconfigopts = "export PYTHON_FOR_GENERATOR=':' && " + configopts = '--enable-shared' sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb index 7c446a1051d0..75ec06996ed1 100644 --- a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb @@ -40,6 +40,9 @@ dependencies = [ ('SIONlib', '1.7.6', '-tools'), ] +# set $PYTHON_FOR_GENERATOR to ':' to disable Python support (since we're not included Python 2.x as dependency) +preconfigopts = "export PYTHON_FOR_GENERATOR=':' && " + configopts = '--enable-shared' sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..7c4d60f05143 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,50 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +easyblock = 'EB_Score_minus_P' + +name = 'OTF2' +version = '3.0.2' + +homepage = 'https://www.score-p.org' +description = """ + The Open Trace Format 2 is a highly scalable, memory efficient event trace + data format plus support library. It is the new standard trace format for + Scalasca, Vampir, and TAU and is open for other tools. + +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ae3a7ad83055d8f873738fee5031470652d31b9bcbf223dd556aea41f5f62303'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), +] + +configopts = '--enable-shared' + + +sanity_check_paths = { + 'files': ['bin/otf2-config', 'include/otf2/otf2.h', + 'lib/libotf2.a', 'lib/libotf2.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s-config --help'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..61eba75f5f0f --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +easyblock = 'EB_Score_minus_P' + +name = 'OTF2' +version = '3.0.2' + +homepage = 'https://www.score-p.org' +description = """ + The Open Trace Format 2 is a highly scalable, memory efficient event trace + data format plus support library. It is the new standard trace format for + Scalasca, Vampir, and TAU and is open for other tools. + +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ae3a7ad83055d8f873738fee5031470652d31b9bcbf223dd556aea41f5f62303'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), +] + +configopts = '--enable-shared' + + +sanity_check_paths = { + 'files': ['bin/otf2-config', 'include/otf2/otf2.h', + 'lib/libotf2.a', 'lib/libotf2.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s-config --help'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OVITO/OVITO-3.7.11-gompi-2022a-basic.eb b/easybuild/easyconfigs/o/OVITO/OVITO-3.7.11-gompi-2022a-basic.eb new file mode 100644 index 000000000000..25186032c64f --- /dev/null +++ b/easybuild/easyconfigs/o/OVITO/OVITO-3.7.11-gompi-2022a-basic.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OVITO' +version = '3.7.11' +versionsuffix = '-basic' + +homepage = 'https://www.ovito.org' +description = """OVITO is a scientific visualization and data analysis solution for atomistic and other particle-based +models. It helps scientists gain meaningful and quick insights from numerical simulation results.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://gitlab.com/stuko/ovito/-/archive/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dc592ea59c6bc6fbc31bd750905e0767bc48d21b4c35276f3068d4479794ecec'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Qt5', '5.15.5'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('FFmpeg', '4.4.2'), + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('libglvnd', '1.4.0'), + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['bin/ovito'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/Octave/Octave-7.1.0-foss-2021b.eb b/easybuild/easyconfigs/o/Octave/Octave-7.1.0-foss-2021b.eb new file mode 100644 index 000000000000..a22e3ec40930 --- /dev/null +++ b/easybuild/easyconfigs/o/Octave/Octave-7.1.0-foss-2021b.eb @@ -0,0 +1,88 @@ +# 'optim' plugin added which is required for dynare +# Author: J. Sassmannshausen (Imperial College London/UK) + +name = 'Octave' +version = '7.1.0' + +homepage = 'https://www.gnu.org/software/octave/' +description = """GNU Octave is a high-level interpreted language, primarily intended for numerical computations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d4a9d81f3f67b4a6e07cb7a80dcb10ad5e9176fcc30762c70a81580a64b8b0b6'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Autotools', '20210726'), + ('gperf', '3.1'), + ('pkgconf', '1.8.0'), + ('gawk', '5.1.1'), +] + +dependencies = [ + ('X11', '20210802'), + ('PCRE', '8.45'), + ('ncurses', '6.2'), + ('libreadline', '8.1'), + ('arpack-ng', '3.8.0'), + ('cURL', '7.78.0'), + ('FLTK', '1.3.7'), + ('fontconfig', '2.13.94'), + ('freetype', '2.11.0'), + ('GLPK', '5.0'), + ('GL2PS', '1.4.2'), + ('gnuplot', '5.4.2'), + ('Java', '11', '', SYSTEM), + ('zlib', '1.2.11'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('Qhull', '2020.2'), + ('Qt5', '5.15.2'), + ('HDF5', '1.12.1'), + ('qrupdate', '1.1.2'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('makeinfo', '6.8'), + ('libsndfile', '1.0.31'), + ('GraphicsMagick', '1.3.36'), + ('SUNDIALS', '6.3.0'), +] + +configopts = '--disable-docs ' +# correct for both GCC and Intel compilers +configopts += '--enable-fortran-calling-convention=gfortran' + +local_pkg_url = 'https://downloads.sourceforge.net/' +local_pkg_url += 'project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/' +exts_default_options = {'source_urls': [local_pkg_url]} + +exts_list = [ + ('control', '3.4.0', { + 'checksums': ['6ec6a06e13ad288afad8631cc41f7247e47096fa1e8d04240d4ed01efbe4a77a'], + }), + ('general', '2.1.2', { + 'checksums': ['a30cd1a79743c62528dae46ebd4a83f848ae46a1c1dac3eaabc36662d42294cf'], + }), + ('io', '2.6.4', { + 'checksums': ['a74a400bbd19227f6c07c585892de879cd7ae52d820da1f69f1a3e3e89452f5a'], + }), + ('signal', '1.4.2', { + 'checksums': ['62a4e06117dcc43c36169905f8255d015481ca982aeae9013b0d9df3e48e7062'], + }), + ('statistics', '1.4.3', { + 'checksums': ['9801b8b4feb26c58407c136a9379aba1e6a10713829701bb3959d9473a67fa05'], + }), + ('struct', '1.0.17', { + 'checksums': ['0137bbb5df650f29104f6243502f3a2302aaaa5e42ea9f02d8a3943aaf668433'], + }), + ('optim', '1.6.2', { + 'checksums': ['554a8e18bb7195ae861f5059c14f1a557844265c1addb5bfbf3ab9885524787e'], + }), +] + +runtest = 'check' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..0008cde884d3 --- /dev/null +++ b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'OmegaFold' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/HeliXonProtein/OmegaFold' +description = """OmegaFold: High-resolution de novo Structure Prediction from Primary Sequence""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('Biopython', '1.79'), +] + +use_pip = True +sanity_pip_check = True + +# add missing version for OmegaFold +exts_list = [ + (name, version, { + 'preinstallopts': """sed -i '/^setup(/a \ version="%(version)s",' setup.py && """, # noqa: W605 + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/HeliXonProtein/OmegaFold/archive/'], + 'checksums': ['ab3b48fe7721539b6943b49cdbafc9799e15b4425a324cc25daf15a24e3f9e37'], + }), +] + +sanity_check_paths = { + 'files': ['bin/omegafold'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/omegafold'], +} + +sanity_check_commands = [ + "omegafold --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb index a0d4dffee1d6..c98d769985ef 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb @@ -17,7 +17,7 @@ patches = [ ('timing.tgz', '.'), '%(name)s-0.3.7_fix-possible-memory-leak-after-fork.patch', '%(name)s-%(version)s_add-missing-params-for-power.patch', - '%(name)s-0.3.15_icelake-detection.patch', + '%(name)s-0.3.12_icelake-detection.patch', ] checksums = [ '65a7d3a4010a4e3bd5c0baa41a234797cd3a1735449a4a5902129152601dc57b', # v0.3.12.tar.gz @@ -27,7 +27,8 @@ checksums = [ '4b3ab7260975ea2cfd7460731c0201b2c1e374cd83ae90d55b8da3e670633ba0', # OpenBLAS-0.3.12_add-missing-params-for-power.patch '4454af07290d1fe33e414023a41bb8999d6ee31887e194daa72bd23d46a0072a', - '9cc47898ba4ad090011dbb0b29e597a13eeebd49a52d4dc94e975743072724b7', # OpenBLAS-0.3.15_icelake-detection.patch + # OpenBLAS-0.3.12_icelake-detection.patch + '9cc47898ba4ad090011dbb0b29e597a13eeebd49a52d4dc94e975743072724b7', ] # extensive testing can be enabled by uncommenting the line below diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_icelake-detection.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_icelake-detection.patch new file mode 100644 index 000000000000..618c165930b5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_icelake-detection.patch @@ -0,0 +1,75 @@ +Add autodetection for Intel Ice Lake SP +https://github.com/xianyi/OpenBLAS/pull/3233 +diff --git a/cpuid_x86.c b/cpuid_x86.c +index 44704fcd9..18ff122e5 100644 +--- a/cpuid_x86.c ++++ b/cpuid_x86.c +@@ -1398,6 +1398,17 @@ int get_cpuname(void){ + return CPUTYPE_SANDYBRIDGE; + else + return CPUTYPE_NEHALEM; ++ case 10: // Ice Lake SP ++ if(support_avx512_bf16()) ++ return CPUTYPE_COOPERLAKE; ++ if(support_avx512()) ++ return CPUTYPE_SKYLAKEX; ++ if(support_avx2()) ++ return CPUTYPE_HASWELL; ++ if(support_avx()) ++ return CPUTYPE_SANDYBRIDGE; ++ else ++ return CPUTYPE_NEHALEM; + } + break; + case 7: // family 6 exmodel 7 +@@ -2112,7 +2123,22 @@ int get_coretype(void){ + #endif + else + return CORE_NEHALEM; +-#endif ++#endif ++ if (model == 10) ++#ifndef NO_AVX512 ++ if(support_avx512_bf16()) ++ return CORE_COOPERLAKE; ++ return CORE_SKYLAKEX; ++#else ++ if(support_avx()) ++#ifndef NO_AVX2 ++ return CORE_HASWELL; ++#else ++ return CORE_SANDYBRIDGE; ++#endif ++ else ++ return CORE_NEHALEM; ++#endif + break; + case 7: + if (model == 10) +diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c +index 158e1b3da..46ad06a7c 100644 +--- a/driver/others/dynamic.c ++++ b/driver/others/dynamic.c +@@ -621,6 +621,22 @@ static gotoblas_t *get_coretype(void){ + return &gotoblas_NEHALEM; + } + } ++ if (model == 10) { ++ // Ice Lake SP ++ if(support_avx512_bf16()) ++ return &gotoblas_COOPERLAKE; ++ if (support_avx512()) ++ return &gotoblas_SKYLAKEX; ++ if(support_avx2()) ++ return &gotoblas_HASWELL; ++ if(support_avx()) { ++ openblas_warning(FALLBACK_VERBOSE, SANDYBRIDGE_FALLBACK); ++ return &gotoblas_SANDYBRIDGE; ++ } else { ++ openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK); ++ return &gotoblas_NEHALEM; ++ } ++ } + return NULL; + case 7: + if (model == 10) // Goldmont Plus diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb index 6f209915e173..3b8d83f4116d 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb @@ -23,7 +23,7 @@ checksums = [ '30a99dec977594b387a17f49904523e6bc8dd88bd247266e83485803759e4bbe', # v0.3.15.tar.gz 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz - '9cc47898ba4ad090011dbb0b29e597a13eeebd49a52d4dc94e975743072724b7', # OpenBLAS-0.3.15_icelake-detection.patch + 'aa96e1c3b1532dbafe4b6e8591688ef200e99304a902851f342cb9d467219762', # OpenBLAS-0.3.15_icelake-detection.patch 'ba7bd45af9fe0516f8c9b1cf047eec7b833996e481bc925d4fb2563865d3db38', # OpenBLAS-0.3.15_fix-aarch64.patch # OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971', diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch index 618c165930b5..14a317cea1ba 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch @@ -46,6 +46,24 @@ index 44704fcd9..18ff122e5 100644 break; case 7: if (model == 10) +@@ -2135,13 +2161,13 @@ + case 8: + if (model == 12) { // Tiger Lake + if(support_avx512()) +- return CPUTYPE_SKYLAKEX; ++ return CORE_SKYLAKEX; + if(support_avx2()) +- return CPUTYPE_HASWELL; ++ return CORE_HASWELL; + if(support_avx()) +- return CPUTYPE_SANDYBRIDGE; ++ return CORE_SANDYBRIDGE; + else +- return CPUTYPE_NEHALEM; ++ return CORE_NEHALEM; + } + if (model == 14) { // Kaby Lake + if(support_avx()) diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 158e1b3da..46ad06a7c 100644 --- a/driver/others/dynamic.c diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb index 93e65aa92218..c4b29c67422f 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb @@ -19,6 +19,8 @@ patches = [ 'OpenBLAS-%(version)s_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch', 'OpenBLAS-%(version)s_fix-segfault-ztrsv.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', ] checksums = [ {'v0.3.17.tar.gz': 'df2934fa33d04fd84d839ca698280df55c690c86a5a1133b3f7266fce1de279f'}, @@ -31,6 +33,9 @@ checksums = [ {'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch': 'b1f89d90cc46b486534069135854e6081994b5a1a88370d32dae982e0f040111'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb index 866cd7de5151..762a9558bfb9 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb @@ -18,6 +18,8 @@ patches = [ 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', 'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', ] checksums = [ {'v0.3.18.tar.gz': '1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb'}, @@ -28,6 +30,9 @@ checksums = [ {'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch': 'b1f89d90cc46b486534069135854e6081994b5a1a88370d32dae982e0f040111'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, ] builddependencies = [ 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 index c654f92e7003..98f44c83e7ce 100644 --- 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 @@ -17,6 +17,8 @@ patches = [ ('timing.tgz', '.'), 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', ] checksums = [ {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, @@ -26,6 +28,9 @@ checksums = [ 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb index bb82984319e4..4496c0bc5b3f 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb @@ -17,6 +17,8 @@ patches = [ ('timing.tgz', '.'), 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', ] checksums = [ {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, @@ -26,6 +28,9 @@ checksums = [ 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, {'OpenBLAS-0.3.21_fix-order-vectorization.patch': '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 000000000000..39645058d21d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,39 @@ +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': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb new file mode 100644 index 000000000000..b0244cb98cef --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb @@ -0,0 +1,47 @@ +name = 'OpenBLAS' +version = '0.3.21' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.21.tar.gz': 'f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch': + '9784e93567d100960a4c34d86e215bd7aa70bb28b0bc2c6bf1b22c6a05d56003'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + # required by LAPACK test suite + ('Python', '3.10.8', '-bare'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch new file mode 100644 index 000000000000..ff665e1300d8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch @@ -0,0 +1,73 @@ +From e7e3aa29482281edba46a27fcd452d7ed630f46a Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Thu, 27 Oct 2022 17:20:44 -0400 +Subject: [PATCH] x86_64: prevent GCC and Clang from generating FMAs in + cscal/zscal. + +If e.g. -march=haswell is set in CFLAGS, GCC generates FMAs by default, which +is inconsistent with the microkernels, none of which use FMAs. These +inconsistencies cause a few failures in the LAPACK testcases, where +eigenvalue results with/without eigenvectors are compared. + +Moreover using FMAs for multiplication of complex numbers can give surprising +results, see 22aa81f for more information. + +This uses the same syntax as used in 22aa81f for zarch (s390x). + +Edit: 2022-11-11: add no-fma target since fp-contract=off isn't sufficient for +GCC 12.2. +--- + kernel/x86_64/cscal.c | 14 +++++++++++++ + kernel/x86_64/zscal.c | 14 +++++++++++++ + 2 files changed, 28 insertions(+) + +diff --git a/kernel/x86_64/cscal.c b/kernel/x86_64/cscal.c +index dc3f688c69..6ae66d9731 100644 +--- a/kernel/x86_64/cscal.c ++++ b/kernel/x86_64/cscal.c +@@ -25,6 +25,20 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#pragma GCC target ("no-fma") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + +diff --git a/kernel/x86_64/zscal.c b/kernel/x86_64/zscal.c +index 3744c98bb7..dfdb4230b6 100644 +--- a/kernel/x86_64/zscal.c ++++ b/kernel/x86_64/zscal.c +@@ -25,6 +25,20 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#pragma GCC target ("no-fma") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_avoid-crash-in-zdot.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_avoid-crash-in-zdot.patch new file mode 100644 index 000000000000..d96341d6de58 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_avoid-crash-in-zdot.patch @@ -0,0 +1,19 @@ +Avoid crash with GCC 11's vectorizer involving 256-bit ymm registers. + +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107451 + +Bart Oldeman + +diff --git a/kernel/x86_64/zdot.c b/kernel/x86_64/zdot.c +index 27397ccf..e1d43be1 100644 +--- a/kernel/x86_64/zdot.c ++++ b/kernel/x86_64/zdot.c +@@ -97,7 +97,7 @@ extern int blas_level1_thread_with_return_value(int mode, BLASLONG m, BLASLONG n + + + +-static void zdot_compute (BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y,OPENBLAS_COMPLEX_FLOAT *result) ++__attribute__((target("prefer-vector-width=128"))) static void zdot_compute (BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y,OPENBLAS_COMPLEX_FLOAT *result) + { + BLASLONG i; + BLASLONG ix,iy; diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch new file mode 100644 index 000000000000..6e2cb2e62e08 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch @@ -0,0 +1,68 @@ +From e7e3aa29482281edba46a27fcd452d7ed630f46a Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Thu, 27 Oct 2022 17:20:44 -0400 +Subject: [PATCH] x86_64: prevent GCC and Clang from generating FMAs in + cscal/zscal. + +If e.g. -march=haswell is set in CFLAGS, GCC generates FMAs by default, which +is inconsistent with the microkernels, none of which use FMAs. These +inconsistencies cause a few failures in the LAPACK testcases, where +eigenvalue results with/without eigenvectors are compared. + +Moreover using FMAs for multiplication of complex numbers can give surprising +results, see 22aa81f for more information. + +This uses the same syntax as used in 22aa81f for zarch (s390x). +--- + kernel/x86_64/cscal.c | 13 +++++++++++++ + kernel/x86_64/zscal.c | 13 +++++++++++++ + 2 files changed, 26 insertions(+) + +diff --git a/kernel/x86_64/cscal.c b/kernel/x86_64/cscal.c +index dc3f688c69..6ae66d9731 100644 +--- a/kernel/x86_64/cscal.c ++++ b/kernel/x86_64/cscal.c +@@ -25,6 +25,19 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + +diff --git a/kernel/x86_64/zscal.c b/kernel/x86_64/zscal.c +index 3744c98bb7..dfdb4230b6 100644 +--- a/kernel/x86_64/zscal.c ++++ b/kernel/x86_64/zscal.c +@@ -25,6 +25,19 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-CUDA-11.7.0-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-CUDA-11.7.0-contrib.eb new file mode 100644 index 000000000000..70276c875266 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-CUDA-11.7.0-contrib.eb @@ -0,0 +1,99 @@ +name = 'OpenCV' +version = '4.6.0' +versionsuffix = '-CUDA-%(cudaver)s-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++14'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': SOURCELOWER_ZIP + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': '%(namelower)s_contrib-%(version)s.zip' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] +checksums = [ + '158db5813a891c7eda8644259fc1dbd76b21bd1ffb9854a8b4b8115a4ceec359', # opencv-4.6.0.zip + '588ca44e3c88ccf8e3ff7f46e966e26ff63d72607968ace83b91628d3440f8a3', # opencv_contrib-4.6.0.zip + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246', # ippicv_2020_lnx_intel64_20191018_general.tgz +] + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('zlib', '1.2.12'), + ('FFmpeg', '4.4.2'), + ('freetype', '2.12.1'), + ('HarfBuzz', '4.2.1'), + ('libjpeg-turbo', '2.1.3'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libwebp', '1.2.4'), + ('OpenEXR', '3.1.5'), + ('JasPer', '2.0.33'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.72.1'), + ('GTK4', '4.7.0'), + ('HDF5', '1.12.2'), + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", + "-DCUDA_NVCC_FLAGS=--std=c++14", +]) + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..51ef158f6912 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.1.5' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +dependencies = [ + ('Imath', '3.1.6'), + ('zlib', '1.2.12') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + + ['bin/exr%s' % b for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-ThirdParty.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-ThirdParty.patch new file mode 100644 index 000000000000..4a2dd8f3b77e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-ThirdParty.patch @@ -0,0 +1,276 @@ +# This patch removes all need for the ThirdParty files of OpenFOAM: +# we use EB dependencies for everything. It adjusts the paths, variables, etc +# We also let the install dir, compiler, etc be set by EB. +# Aligned hunks by Leon Kos. Based on patch for OpenFOAM 5.0 and 4.1 by +# Kenneth Hoste (HPC-UGent) and Ward Poelmans + +diff -ru OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +--- OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2022-09-19 11:34:37.930703275 +0200 +@@ -17,8 +17,8 @@ + fi + + # Ensure CMake gets the correct C/C++ compilers +-[ -n "$WM_CC" ] && export CC="$WM_CC" +-[ -n "$WM_CXX" ] && export CXX="$WM_CXX" ++#[ -n "$WM_CC" ] && export CC="$WM_CC" ++#[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + + wmake $targetType vtkPVblockMesh + wmake $targetType vtkPVFoam +diff -ru OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt +--- OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2022-09-19 11:34:37.932703249 +0200 +@@ -2,6 +2,8 @@ + + PROJECT(PVReaders) + ++FIND_PACKAGE(MPI REQUIRED) ++ + FIND_PACKAGE(ParaView REQUIRED) + + INCLUDE(GNUInstallDirs) +diff -ru OpenFOAM-10-version-10/etc/bashrc OpenFOAM-10/etc/bashrc +--- OpenFOAM-10-version-10/etc/bashrc 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/bashrc 2022-09-19 11:34:37.934703223 +0200 +@@ -43,8 +43,9 @@ + # Please set to the appropriate path if the default is not correct. + # + [ "$BASH" -o "$ZSH_NAME" ] && \ +-export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ +-export FOAM_INST_DIR=$HOME/$WM_PROJECT ++#export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ ++#export FOAM_INST_DIR=$HOME/$WM_PROJECT ++# For Easybuild: set by the module + # export FOAM_INST_DIR=~$WM_PROJECT + # export FOAM_INST_DIR=/opt/$WM_PROJECT + # export FOAM_INST_DIR=/usr/local/$WM_PROJECT +diff -ru OpenFOAM-10-version-10/etc/config.sh/CGAL OpenFOAM-10/etc/config.sh/CGAL +--- OpenFOAM-10-version-10/etc/config.sh/CGAL 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/CGAL 2022-09-19 11:34:37.935703211 +0200 +@@ -39,22 +39,7 @@ + # + #------------------------------------------------------------------------------ + +-boost_version=boost-system +-#boost_version=boost-1.55.0 +-#boost_version=boost-1.72.0 +- +-cgal_version=cgal-system +-#cgal_version=CGAL-4.10 +-#cgal_version=CGAL-5.0.2 +- +-if [ "$boost_version" != "boost-system" ] +-then +- export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/$boost_version +-fi +- +-if [ "$cgal_version" != "cgal-system" ] +-then +- export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/$cgal_version +-fi ++export CGAL_ARCH_PATH=$EBROOTCGAL ++export BOOST_ARCH_PATH=$EBROOTBOOST + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/gperftools OpenFOAM-10/etc/config.sh/gperftools +--- OpenFOAM-10-version-10/etc/config.sh/gperftools 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/gperftools 2022-09-19 11:34:37.937703185 +0200 +@@ -29,13 +29,7 @@ + # + #------------------------------------------------------------------------------ + +-version=svn +-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-GPERFTOOLS_VERSION=gperftools-$version +-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION +- +-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH +-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH ++GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS ++GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/metis OpenFOAM-10/etc/config.sh/metis +--- OpenFOAM-10-version-10/etc/config.sh/metis 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/metis 2022-09-19 11:34:37.938703172 +0200 +@@ -34,7 +34,7 @@ + # + #------------------------------------------------------------------------------ + +-export METIS_VERSION=metis-5.1.0 +-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION ++export METIS_VERSION=metis-$EBVERSIONMETIS ++export METIS_ARCH_PATH=$EBROOTMETIS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/mpi OpenFOAM-10/etc/config.sh/mpi +--- OpenFOAM-10-version-10/etc/config.sh/mpi 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/mpi 2022-09-19 11:34:37.939703159 +0200 +@@ -254,6 +254,9 @@ + _foamAddPath $MPI_ARCH_PATH/bin64 + _foamAddLib $MPI_ARCH_PATH/lib/release + ;; ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; + *) + export FOAM_MPI=dummy + ;; +diff -ru OpenFOAM-10-version-10/etc/config.sh/paraview OpenFOAM-10/etc/config.sh/paraview +--- OpenFOAM-10-version-10/etc/config.sh/paraview 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/paraview 2022-09-19 11:34:37.941703134 +0200 +@@ -41,25 +41,6 @@ + ) \ + && PATH="$cleaned" + +-# Determine the cmake to be used. Take the most recent. +-unset CMAKE_HOME CMAKE_ROOT +-for cmake in $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/cmake-* +-do +- if [ -d $cmake ] +- then +- if [ -z $CMAKE_HOME ] || \ +- $WM_PROJECT_DIR/bin/tools/foamVersionCompare $CMAKE_HOME lt $cmake +- then +- export CMAKE_HOME=$cmake +- export CMAKE_ROOT=$cmake +- fi +- fi +-done +-if [ -n $CMAKE_HOME ] +-then +- export PATH=$cmake/bin:$PATH +-fi +- + #- ParaView version, automatically determine major version + #export ParaView_VERSION=4.0.1 + #export ParaView_VERSION=4.1.0 +@@ -69,7 +50,8 @@ + #export ParaView_VERSION=5.0.1 + #export ParaView_VERSION=5.4.0 + #export ParaView_VERSION=5.5.0 +-export ParaView_VERSION=5.6.3 ++#export ParaView_VERSION=5.6.3 ++export ParaView_VERSION=$EBVERSIONPARAVIEW + export ParaView_MAJOR=detect + + #export ParaView_GL=system +@@ -109,7 +91,8 @@ + export ParaView_VERSION ParaView_MAJOR + + # Set the binary and source directories +-export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++# export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++export ParaView_DIR=$EBROOTPARAVIEW + paraviewSrcDir=$WM_THIRD_PARTY_DIR/ParaView-$ParaView_VERSION + + # Set paths if binaries or source are present +@@ -129,8 +112,6 @@ + fi + export ParaView_LIB_DIR=$ParaView_DIR/lib$paraviewArch$paraviewLibSubDir + +- export PATH=$ParaView_DIR/bin:$PATH +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$LD_LIBRARY_PATH + export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR + + if [ "$FOAM_VERBOSE" -a "$PS1" ] +@@ -142,18 +123,6 @@ + echo " PV_PLUGIN_PATH : $PV_PLUGIN_PATH" + fi + +- # Add in python libraries if required +- paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping +- if [ -r $paraviewPython ] +- then +- if [ "$PYTHONPATH" ] +- then +- export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR +- else +- export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR +- fi +- fi +- + # Alias paraview to launch with mesa if necessary + if [ "$ParaView_GL" = mesa ] + then +diff -ru OpenFOAM-10-version-10/etc/config.sh/scotch OpenFOAM-10/etc/config.sh/scotch +--- OpenFOAM-10-version-10/etc/config.sh/scotch 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/scotch 2022-09-19 11:34:37.942703121 +0200 +@@ -37,7 +37,7 @@ + # + #------------------------------------------------------------------------------ + +-export SCOTCH_VERSION=scotch_6.0.9 +-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION ++export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH ++export SCOTCH_ARCH_PATH=$EBROOTSCOTCH + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/settings OpenFOAM-10/etc/config.sh/settings +--- OpenFOAM-10-version-10/etc/config.sh/settings 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/settings 2022-09-19 11:34:37.943703108 +0200 +@@ -61,11 +61,11 @@ + 64) + WM_ARCH=linux64 + export WM_COMPILER_LIB_ARCH=64 +- export WM_CC='gcc' +- export WM_CXX='g++' +- export WM_CFLAGS='-m64 -fPIC' +- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' +- export WM_LDFLAGS='-m64' ++ export WM_CC=$CC ++ export WM_CXX=$CXX ++ export WM_CFLAGS=$CFLAGS ++ export WM_CXXFLAGS=$CXXFLAGS ++ export WM_LDFLAGS=$LDFLAGS + ;; + *) + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/Make/options +--- OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/Make/options 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/Make/options 2022-09-19 11:34:37.945703082 +0200 +@@ -4,14 +4,7 @@ + $(PFLAGS) $(PINC) \ + -I$(FOAM_SRC)/Pstream/mpi/lnInclude \ + -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ +- -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ +- -L$(SCOTCH_ARCH_PATH)/lib \ +- -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ +- -lptscotch \ +- -lptscotcherrexit \ +- -lscotch \ +- -lrt ++ -L$(SCOTCH_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C +--- OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2022-09-19 11:34:37.947703057 +0200 +@@ -31,10 +31,11 @@ + #include "SubField.H" + #include "PstreamGlobals.H" + ++#include ++ + extern "C" + { + #include +- #include + #include "ptscotch.h" + } + +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-10/src/parallel/decompose/scotchDecomp/Make/options +--- OpenFOAM-10-version-10/src/parallel/decompose/scotchDecomp/Make/options 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/scotchDecomp/Make/options 2022-09-19 11:34:37.948703044 +0200 +@@ -6,7 +6,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb new file mode 100644 index 000000000000..f9ebf346635a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb @@ -0,0 +1,42 @@ +name = 'OpenFOAM' + +version = '10' +_version_patch = '20230119' +versionsuffix = '-%s' % _version_patch + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % _version_patch, + 'filename': 'OpenFOAM-%(version)s%(versionsuffix)s.tar.gz', +}] +patches = ['OpenFOAM-%(version_major)s-ThirdParty.patch'] +checksums = [ + {'OpenFOAM-10-20230119.tar.gz': '86f8cb18d4f59812b129ce7d669e8ff498da442fbdb46705492fbba3cbda82ab'}, + {'OpenFOAM-10-ThirdParty.patch': '307df0206cdb24533f4974378843332064f4a2d85cf0638c20fc4c87b1524b43'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('ncurses', '6.3'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('CGAL', '4.14.3'), + ('ParaView', '5.10.1', '-mpi'), + ('gnuplot', '5.4.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb new file mode 100644 index 000000000000..7fafa63937ce --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb @@ -0,0 +1,36 @@ +name = 'OpenFOAM' +version = '10' + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-%(version)s-ThirdParty.patch'] +checksums = [ + {'version-10.tar.gz': '59d712ba798ca44b989b6ac50bcb7c534eeccb82bcf961e10ec19fc8d84000cf'}, + {'OpenFOAM-10-ThirdParty.patch': '307df0206cdb24533f4974378843332064f4a2d85cf0638c20fc4c87b1524b43'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('ncurses', '6.3'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('CGAL', '4.14.3'), + ('ParaView', '5.10.1', '-mpi'), + ('gnuplot', '5.4.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-intel-2021a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-intel-2021a.eb new file mode 100644 index 000000000000..bcf1776f9808 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-intel-2021a.eb @@ -0,0 +1,37 @@ +name = 'OpenFOAM' +version = '9' + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-%(version)s-cleanup.patch'] +checksums = [ + '0c48fb56e2fbb4dd534112811364d3b2dc12106e670a6486b361e4f864b435ee', # version-9.tar.gz + '4b638891f32badde1a5b1b364bc3bd5e0eda180b9d9a8afdf797d5818b8b494e', # OpenFOAM-9-cleanup.patch +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('CMake', '3.20.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '4.14.3'), + ('ParaView', '5.9.1', '-mpi'), + ('gnuplot', '5.4.2'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-cleanup.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-cleanup.patch new file mode 100644 index 000000000000..ffc27639061b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-cleanup.patch @@ -0,0 +1,159 @@ +# Replaces OpenFOAM third-party libraries with EASYBUILD variants. +# Uses the OpenFOAM prefs mechanism and the FOAM_CONFIG_ETC variable +# to define the preferred settings without patching the original files +# +# Authors: Mark Olesen +# ------------------------------------------------------------------------- +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/prefs.sh 2020-12-14 10:02:26.488430802 +0100 +@@ -0,0 +1,7 @@ ++##Easybuild## settings -*- sh -*- ++ ++export FOAM_CONFIG_ETC="etc/easybuild" ++ ++export WM_MPLIB=EASYBUILDMPI ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/CGAL 2020-12-14 10:10:55.991841204 +0100 +@@ -0,0 +1,6 @@ ++##Easybuild## settings -*- sh -*- ++ ++export BOOST_ARCH_PATH="$EBROOTBOOST" ++export CGAL_ARCH_PATH="$EBROOTCGAL" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/FFTW 2020-12-14 10:10:53.735843322 +0100 +@@ -0,0 +1,5 @@ ++##Easybuild## settings -*- sh -*- ++ ++export FFTW_ARCH_PATH="$EBROOTFFTW" ++ ++##EasyBuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/metis 2020-12-11 21:23:28.774934024 +0100 +@@ -0,0 +1,6 @@ ++##Easybuild## settings -*- sh -*- ++ ++METIS_VERSION="metis-$EBVERSIONMETIS" ++[ -d "$METIS_ARCH_PATH" ] || METIS_ARCH_PATH="$METIS_ROOT" ++ ++##Easybuild## +--- /dev/null 2022-12-01 18:21:35.103878336 +0100 ++++ OpenFOAM-v2206/etc/easybuild/config.sh/kahip 2022-12-12 20:24:07.538408981 +0100 +@@ -0,0 +1,6 @@ ++##Easybuild## settings -*- sh -*- ++ ++KAHIP_VERSION="kahip-$EBVERSIONKAHIP" ++export KAHIP_ARCH_PATH="$EBROOTKAHIP" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/readline 2020-12-11 21:23:22.534951043 +0100 +@@ -0,0 +1,5 @@ ++##Easybuild## settings -*- sh -*- ++ ++export READLINE_ARCH_PATH="$EBROOTLIBREADLINE" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/scotch 2020-12-11 21:23:17.586964539 +0100 +@@ -0,0 +1,7 @@ ++##Easybuild## settings -*- sh -*- ++ ++export SCOTCH_VERSION="scotch_$EBVERSIONSCOTCH" ++export SCOTCH_ARCH_PATH="$EBROOTSCOTCH" ++[ -d "$SCOTCH_ARCH_PATH" ] || SCOTCH_ARCH_PATH="$SCOTCH_ROOT" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/vtk 2020-12-11 21:22:55.463024882 +0100 +@@ -0,0 +1,9 @@ ++##Easybuild## settings -*- sh -*- ++ ++export VTK_DIR="$EBROOTVTK" ++export MESA_ARCH_PATH="$EBROOTMESA" ++ ++# Define paraview-mesa directory as required ++unset ParaView_MESA_DIR ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2012/etc/easybuild/config.sh/paraview 2020-12-14 10:13:53.583674383 +0100 +@@ -0,0 +1,75 @@ ++##Easybuild## settings -*- sh -*- ++# ++# Largely a knockoff of the OpenFOAM etc/config.sh/paraview-system ++# readjusted for easybuild ++# ++# Copyright (C) 2020 OpenCFD Ltd. ++# ++#------------------------------------------------------------------------------ ++# Compiler-specific location for ThirdParty installations ++archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER" ++ ++# Clean path and library path of previous settings ++eval \ ++ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=PATH \ ++ $ParaView_DIR $archDir/ParaView- $archDir/qt-)" ++ ++eval \ ++ "$($WM_PROJECT_DIR/bin/foamCleanPath -sh-env=LD_LIBRARY_PATH \ ++ $ParaView_DIR $archDir/ParaView- $archDir/qt-)" ++ ++ ++#------------------------------------------------------------------------------ ++ ++##Easybuild## settings ++ ++ParaView_VERSION="$EBVERSIONPARAVIEW" ++export ParaView_DIR="$EBROOTPARAVIEW" ++ ++#------------------------------------------------------------------------------ ++ ++unset PV_PLUGIN_PATH ++ ++# Set API to correspond to VERSION ++# pv_api is . from ParaView_VERSION ++#- ++# Extract API from VERSION ++pv_api=$(echo "$ParaView_VERSION" | \ ++ sed -ne 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p') ++ ++pv_plugin_dir="$FOAM_LIBBIN/paraview-$pv_api" ++ ++# Set paths if binaries are present ++if [ -r "$ParaView_DIR" ] ++then ++ export PATH="$ParaView_DIR/bin:$PATH" ++ ++ # ParaView libraries ++ # - 5.5 and later: lib/, but could also be lib64/ ++ for libDir in lib64 lib ++ do ++ pvLibDir="$libDir/paraview-$pv_api" ++ if [ -d "$ParaView_DIR/$pvLibDir" ] ++ then ++ export LD_LIBRARY_PATH="$ParaView_DIR/$libDir:$LD_LIBRARY_PATH" ++ break ++ fi ++ done ++ ++ # OpenFOAM plugin directory must be the first in PV_PLUGIN_PATH ++ # and have paraview-major.minor encoded in its name ++ if [ -d "$pv_plugin_dir" ] ++ then ++ export PV_PLUGIN_PATH="$pv_plugin_dir" ++ fi ++fi ++ ++ ++#------------------------------------------------------------------------------ ++ ++unset ParaView_VERSION ++ ++unset archDir libDir ++unset pv_api pv_plugin_dir pvLibDir ++ ++#------------------------------------------------------------------------------ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb index 4c58236cb3be..e15587e68ee8 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb @@ -16,12 +16,12 @@ toolchainopts = {'cstd': 'c++11', 'vectorize': False} source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] sources = [SOURCE_TGZ] patches = [ - ('OpenFOAM-v2012-cleanup.patch', 1), + ('OpenFOAM-v2206-cleanup.patch', 1), 'OpenFOAM-v1906-wmake-ompi.patch', ] checksums = [ 'db95eda4afb97ca870733b2d4201ef539099d0778e3f3eca9a075d4f1a0eea46', # OpenFOAM-v2206.tgz - 'cdd2597a1ac1448e9bd33a364a8dfe17f51cc9ab5a8e0ab67cf92bba3ed9da43', # OpenFOAM-v2012-cleanup.patch + '25333124581acae57c173587de4ebd6e143b894b1a26e4f0326db8b7e0cb1972', # OpenFOAM-v2206-cleanup.patch '518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch ] @@ -37,6 +37,7 @@ dependencies = [ # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) ('METIS', '5.1.0'), ('SCOTCH', '7.0.1'), + ('KaHIP', '3.14'), ('CGAL', '4.14.3'), ('ParaView', '5.10.1', '-mpi'), ('gnuplot', '5.4.4'), diff --git a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb index 52743c921acc..9eec3b5f8071 100644 --- a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb @@ -71,7 +71,7 @@ exts_list = [ ('dllogger', version, { 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags/'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['43e5e3c3acf891dfe6151f7d869f3ad2424772fe57fd8dcb0a45bad06de93bf7'], + 'checksums': ['abae2b2ac73b9e176fa87144bf6c2048ddd3dae8e7002d6d5a270bc7e4da6b4d'], }), (name, version, { 'source_urls': ['https://github.com/aqlaboratory/openfold/archive/refs/tags/'], diff --git a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..7f64d5495504 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,129 @@ +easyblock = 'PythonBundle' + +name = 'OpenFold' +version = '1.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/aqlaboratory/openfold' +description = "A faithful PyTorch reproduction of DeepMind's AlphaFold 2" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # CMake is required to build ninja Python package (included as extension) + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('dm-tree', '0.1.6'), + ('einops', '0.4.1'), + ('colossalai', '0.1.8', versionsuffix), + ('scikit-build', '0.11.1'), + # OpenFold also requires the AlphaFold modification to OpenMM + # https://github.com/aqlaboratory/openfold/blob/v1.0.0/scripts/install_third_party_dependencies.sh#L20-L24 + # https://github.com/aqlaboratory/openfold/blob/v1.0.0/lib/openmm.patch + ('OpenMM', '7.5.1', '-CUDA-%(cudaver)s-DeepMind-patch'), +] + +use_pip = True + +# flash_attn (FlashAttention) is optional, speeds up MSA attention for sequences with < 1000 residues +exts_list = [ + ('flash_attn', '0.2.8', { + 'checksums': ['b54fee86463cdb9933e8d47e500c52f3eaf283f1c8a9d96099e62acc7dc0be1f'], + }), + ('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'], + }), + ('ninja', '1.10.2.3', { + 'checksums': ['e1b86ad50d4e681a7dbdff05fc23bb52cb773edb90bc428efba33fa027738408'], + }), + ('hjson', '3.0.2', { + 'checksums': ['2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5'], + }), + ('py-cpuinfo', '8.0.0', { + 'modulename': 'cpuinfo', + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + }), + ('triton', '1.0.0', { + 'source_tmpl': '%(name)s-%(version)s-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['37b8d0eb36ed7631a6f9d01bd3183f900ae7dbd9e5e40112468a3568505671dc'], + }), + ('deepspeed', '0.5.9', { + 'checksums': ['7c43d151b51d346a430034e77764097c4af7637217c08503291c48c37ae7d090'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + ('dllogger', '1.0.0', { + 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['abae2b2ac73b9e176fa87144bf6c2048ddd3dae8e7002d6d5a270bc7e4da6b4d'], + }), + (name, version, { + 'source_urls': ['https://github.com/aqlaboratory/openfold/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['79eee0b90280eea5ec110511d95b42c62ea6e0098e4a78678738eb21b332bd99'], + }), +] + +local_resources_dir = '%(installdir)s/lib/python%(pyshortver)s/site-packages/openfold/resources/' +# local_resources_target_dir = '/databases/bio/%(namelower)s-%(version)s' + +local_scp_url = 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/' +local_scp_url += '7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt' + +postinstallcmds = [ + 'cp -a run_pretrained_openfold.py thread_sequence.py train_openfold.py %(installdir)s/bin', + 'cp -a scripts %(installdir)s/bin', + 'chmod -R a+x %(installdir)s/bin', + # download stereo_chemical_props.txt + copy it to openfold/resources directory, + # see also install_third_party_dependencies.sh script; + # we currently can't let EasyBuild download (and cache + checksum) this, + # because an extension can only have a single source file, and (Python)Bundle doesn't allow any "parent" downloads + "cd %%(builddir)s && curl -OL %s && cp -a stereo_chemical_props.txt %s" % (local_scp_url, local_resources_dir), + # manually download openfold parameters and alphafold parameters + # see scripts download_alphafold_params.sh + download_openfold_params.sh + # download to local_resources_target_dir and add symlinks in local_resources_dir + # or download directly into local_resources_dir + # 'ln -s %s/openfold_params %s' % (local_resources_target_dir, local_resources_dir), + # 'ln -s %s/params %s' % (local_resources_target_dir, local_resources_dir), +] + +fix_python_shebang_for = ['bin/*.py', '/bin/scripts/*.py'] + +modextrapaths = { + 'PATH': 'bin/scripts', +} + +sanity_check_paths = { + 'files': ['bin/pdbfixer', 'bin/run_pretrained_openfold.py', + 'lib/python%(pyshortver)s/site-packages/openfold/resources/stereo_chemical_props.txt'], + 'dirs': ['bin/scripts', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "run_pretrained_openfold.py --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..9b762b8294be --- /dev/null +++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'OpenImageIO' +version = '2.3.17.0' + +homepage = 'https://openimageio.org/' +description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, + and applications.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['22d38347b40659d218fcafcadc9258d3f6eda0be02029b11969361c9a6fa9f5c'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('git', '2.36.0', '-nodocs'), +] +dependencies = [ + ('Boost', '1.79.0'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('OpenEXR', '3.1.5'), + ('freetype', '2.12.1'), + ('zlib', '1.2.12'), +] + +separate_build_dir = True + +configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF' + +sanity_check_paths = { + 'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT], + 'dirs': ['include/OpenImageIO', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..1c0e9a28999c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.5.0' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), +] + +sanity_check_paths = { + 'files': [ + 'bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT + ], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-CUDA-11.3.1-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-CUDA-11.3.1-DeepMind-patch.eb new file mode 100644 index 000000000000..44bbbce31f60 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-CUDA-11.3.1-DeepMind-patch.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-CUDA-%(cudaver)s-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + ('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python'), + '%(name)s-7.5.0_fix_path_to_nvcc.patch', +] +checksums = [ + {'7.5.1.tar.gz': 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7'}, + {'OpenMM-7.5.1_DeepMind.patch': '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6'}, + {'OpenMM-7.5.0_fix_path_to_nvcc.patch': '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +# defining OPENMM_CUDA_COMPILER=nvcc on pretestops causes 1 test to fail: https://github.com/openmm/openmm/issues/3373 +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-CUDA-11.4.1-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-CUDA-11.4.1-DeepMind-patch.eb new file mode 100644 index 000000000000..335b9a7e2daf --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-CUDA-11.4.1-DeepMind-patch.eb @@ -0,0 +1,66 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-CUDA-%(cudaver)s-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + ('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python'), + 'OpenMM-7.5.0_fix_path_to_nvcc.patch', + 'OpenMM-8.0.0_add_no_tree_vectorize.patch', +] +checksums = [ + {'7.5.1.tar.gz': 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7'}, + {'OpenMM-7.5.1_DeepMind.patch': '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6'}, + {'OpenMM-7.5.0_fix_path_to_nvcc.patch': '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c'}, + {'OpenMM-8.0.0_add_no_tree_vectorize.patch': '4bacf45443a2472e59798743f27d07481e065d784cbbea7be22aa6427af0d2bd'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('CUDA', '11.4.1', '', SYSTEM), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +# defining OPENMM_CUDA_COMPILER=nvcc on pretestops causes 1 test to fail: https://github.com/openmm/openmm/issues/3373 +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-DeepMind-patch.eb new file mode 100644 index 000000000000..e290a831169b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-DeepMind-patch.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python')] +checksums = [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('SWIG', '4.0.2'), +] + +runtest = """test -e ARGS="-E \'(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(HippoNonbondedForce)\'" """ + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..4215d0a143f5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '8.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['OpenMM-8.0.0_add_no_tree_vectorize.patch'] +checksums = [ + 'dc63d7b47c8bb7b169c409cfd63d909ed0ce1ae114d37c627bf7a4231acf488e', # 8.0.0.tar.gz + '4bacf45443a2472e59798743f27d07481e065d784cbbea7be22aa6427af0d2bd', # OpenMM-8.0.0_add_no_tree_vectorize.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SWIG', '4.0.2'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +# Set the OPENMM_CUDA_COMPILER variable to make sure that all tests use the right nvcc, +# Otherwise they will use the wrong path: `/usr/local/cuda/bin/nvcc` +pretestopts = ' export OPENMM_CUDA_COMPILER=${EBROOTCUDA}/bin/nvcc && ' +pretestopts += " CTEST_OUTPUT_ON_FAILURE=1" +# Skip CudaCompiler test as it doesn't work when the OPENMM_CUDA_COMPILER variable is set +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(CudaCompiler)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0_add_no_tree_vectorize.patch b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0_add_no_tree_vectorize.patch new file mode 100644 index 000000000000..e3fb0d995791 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0_add_no_tree_vectorize.patch @@ -0,0 +1,16 @@ +# This patch resolves the tree vectorizatior error that appears when "-march" is used with GCC 11.3.0: +# .../openmm-8.0.0/platforms/common/src/CommonKernels.cpp:5055:6: internal compiler error: in vect_get_vec_defs_for_operand, at tree-vect-stmts.c:1450 +# 5055 | void CommonCalcGayBerneForceKernel::sortAtoms() { +# Author: maxim-masterov (SURF) + +diff -Nru openmm-8.0.0.orig/platforms/common/src/CommonKernels.cpp openmm-8.0.0/platforms/common/src/CommonKernels.cpp +--- openmm-8.0.0.orig/platforms/common/src/CommonKernels.cpp 2023-03-29 10:08:28.765461000 +0200 ++++ openmm-8.0.0/platforms/common/src/CommonKernels.cpp 2023-04-04 15:55:17.152316000 +0200 +@@ -5052,6 +5052,7 @@ + sortAtoms(); + } + ++__attribute__((optimize("no-tree-vectorize"))) + void CommonCalcGayBerneForceKernel::sortAtoms() { + // Sort the list of atoms by type to avoid thread divergence. This is executed every time + // the atoms are reordered. diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb new file mode 100755 index 000000000000..6e354371c1c8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb @@ -0,0 +1,50 @@ +name = 'OpenMPI' +version = '4.1.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch', + 'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.1.1_opal-pmix-package-rank.patch', + 'OpenMPI-4.1.1_pmix3x-protection.patch', + 'OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch', +] +checksums = [ + 'e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda', # openmpi-4.1.1.tar.bz2 + # OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch + 'a189d834506f3d7c31eda6aa184598a3631ea24a94bc551d5ed1f053772ca49e', + # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch + '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', + '04353672cf7be031e5306c94068d7012d99e6cd94b69d93230797ffcd7f31903', # OpenMPI-4.1.1_opal-pmix-package-rank.patch + '384ef9f1fa803b0d71dae2ec0748d0f20295992437532afedf21478bda164ff8', # OpenMPI-4.1.1_pmix3x-protection.patch + # OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch + 'a94a74b174ce783328abfd3656ff5196b89ef4c819fe4c8b8a0f1277123e76ea', +] + + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.5.0'), + ('libevent', '2.1.12'), + ('UCX', '1.11.2'), + ('libfabric', '1.13.2'), + ('PMIx', '4.1.0'), +] + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb new file mode 100644 index 000000000000..09a6bc393d37 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb @@ -0,0 +1,62 @@ +name = 'OpenMPI' +version = '4.1.4' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 + # OpenMPI-4.1.1_build-with-internal-cuda-header.patch + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', + # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.13.1'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.1.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 000000000000..34c4551c73e2 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,65 @@ +name = 'OpenMPI' +version = '4.1.4' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + '92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2 + # OpenMPI-4.1.1_build-with-internal-cuda-header.patch + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83', + # OpenMPI-4.1.1_opal-datatype-cuda-performance.patch + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e', +] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Perl', '5.34.1'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.7.1'), + ('libevent', '2.1.12'), + ('UCX', '1.12.1'), + ('UCX-CUDA', '1.12.1', '-CUDA-%(cudaver)s'), + ('libfabric', '1.15.1'), + ('PMIx', '4.1.2'), + ('UCC', '1.0.0'), + ('UCC-CUDA', '1.0.0', '-CUDA-%(cudaver)s'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' +configopts += ' CC=pgcc CXX=pgc++ FC=pgfortran' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb new file mode 100644 index 000000000000..634b2a2f67bd --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb @@ -0,0 +1,62 @@ +name = 'OpenMPI' +version = '4.1.5' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'OpenMPI-4.1.1_build-with-internal-cuda-header.patch', + 'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch', +] +checksums = [ + {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.13.1'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.1.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.06-intel-2022a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.06-intel-2022a.eb new file mode 100644 index 000000000000..b8d19e00410b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.06-intel-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '22.06' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + '45daca1e6465d59a43479d5509315bca9c19dedbb0a2d4bb4f26f0b443b7670d', # OpenMolcas-v22.06.tar.gz + '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a', # OpenMolcas-21.06_mcpdft_deps.patch +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('GlobalArrays', '5.8.1'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), +] + +build_shared_libs = True + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +configopts = '-DLINALG=MKL -DMKLROOT=$MKLROOT ' +configopts += '-DMPI=ON -DOPENMP=ON -DGA=ON ' +configopts += '-DTOOLS=ON -DFDE=ON' + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a-noGA.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a-noGA.eb new file mode 100644 index 000000000000..b7411caf8a68 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a-noGA.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '22.10' +versionsuffix = '-noGA' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = """OpenMolcas is a quantum chemistry software package. +This build does not support MPI and can only be run on a single node.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + {'OpenMolcas-v22.10.tar.gz': 'd1d3d6c9bd69486c36f5285a51ac18e75c03540c5b33751855e94abc764d9658'}, + {'OpenMolcas-21.06_mcpdft_deps.patch': '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('HDF5', '1.12.2'), +] + +build_shared_libs = True + +_copts = [ + '-DLINALG=MKL', + '-DMKLROOT=$MKLROOT', + '-DOPENMP=ON', + '-DTOOLS=ON', + '-DFDE=ON', + '-DMPI=OFF', + '-DGA=OFF', +] +configopts = ' '.join(_copts) + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify'] + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb new file mode 100644 index 000000000000..58cdb96d1a41 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '22.10' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package." + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + {'OpenMolcas-v22.10.tar.gz': 'd1d3d6c9bd69486c36f5285a51ac18e75c03540c5b33751855e94abc764d9658'}, + {'OpenMolcas-21.06_mcpdft_deps.patch': '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('HDF5', '1.12.2'), + ('GlobalArrays', '5.8.1'), +] + +build_shared_libs = True + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +_copts = [ + '-DLINALG=MKL', + '-DMKLROOT=$MKLROOT', + '-DOPENMP=ON', + '-DTOOLS=ON', + '-DFDE=ON', + '-DMPI=ON', + '-DGA=ON', +] +configopts = ' '.join(_copts) + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify'] + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb index d5f4151e2f26..ee1e94ca6bbd 100644 --- a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb @@ -6,7 +6,7 @@ minimum_openssl_version = '1.1.1' homepage = 'https://www.openssl.org/' description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, - and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) + and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. """ toolchain = SYSTEM @@ -27,11 +27,11 @@ builddependencies = [('pkgconf', '1.8.0')] # component list, which will be build and installed as usual. components = [ - (name, '1.1.1o', { + (name, '1.1.1t', { 'easyblock': 'EB_OpenSSL', 'source_urls': ['https://www.openssl.org/source/'], 'sources': [SOURCELOWER_TAR_GZ], - 'checksums': ['9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f'], + 'checksums': ['8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b'], 'start_dir': '%(namelower)s-%(version)s', }), ] diff --git a/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2022a.eb b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2022a.eb new file mode 100644 index 000000000000..1b3f0538c07a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2022a.eb @@ -0,0 +1,51 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jiri Furst +### + +easyblock = 'CMakeMake' + +name = 'OpenSceneGraph' +version = '3.6.5' + +homepage = 'http://www.openscenegraph.org/' +description = """The OpenSceneGraph is an open source high performance 3D graphics toolkit, +used by application developers in fields such as visual simulation, games, virtual reality, +scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs +on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating +systems. The OpenSceneGraph is now well established as the world leading scene graph +technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual +reality industries.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_SOURCE] +sources = ['OpenSceneGraph-%(version)s.tar.gz'] +checksums = ['aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('GDAL', '3.5.0'), + ('DCMTK', '3.6.7'), + ('OpenEXR', '3.1.5'), + ('SDL2', '2.0.22'), + ('poppler', '22.12.0'), + ('librsvg', '2.55.1'), + ('giflib', '5.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['osgarchive', 'osgconv', 'osgfilecache', 'osgversion', 'osgviewer', 'present3D']], + 'dirs': ['lib'], +} + +sanity_check_commands = ['osgversion'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb new file mode 100644 index 000000000000..b39f32e43c66 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' +versionsuffix = '-largefiles' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_large_file_support.patch'] +checksums = [ + # v3.4.1.tar.gz + 'a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c', + # %(name)s-%(version_major_minor)s.1_large_file_support.patch + 'cb618053f4ae6c3ce37d1b8b0e4ef7c55fd17378776d13be4aa4efab91706b8c', +] + +builddependencies = [ + ('Autotools', '20220317'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('OpenJPEG', '2.5.0'), + ('libxml2', '2.9.13'), + ('SQLite', '3.38.3'), + ('cairo', '1.17.4'), + ('Gdk-Pixbuf', '2.42.8'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': [ + 'bin/openslide-quickhash1sum', + 'bin/openslide-show-properties', + 'bin/openslide-write-png', + 'lib/libopenslide.la', + 'lib/libopenslide.%s' % SHLIB_EXT + ], + 'dirs': ['include/openslide'] +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-6.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-6.0.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6b695f632798 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-6.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,126 @@ +easyblock = 'PythonBundle' + +name = 'OpenStackClient' +version = '6.0.0' + +homepage = 'https://docs.openstack.org/python-openstackclient/latest/' +description = """OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the +command set for Compute, Identity, Image, Network, Object Store and Block +Storage APIs together in a single shell with a uniform command structure.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0'), +] +builddependencies = [('binutils', '2.39')] + +exts_default_options = { + 'use_pip': True, +} +exts_list = [ + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.4.2', { + 'checksums': ['073e555c05853b0f6965f3d03329babdf9e38a5f2cea028e61a64cd7eeb74ad5'], + }), + ('jsonpointer', '2.3', { + 'checksums': ['97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a'], + }), + ('prettytable', '3.5.0', { + 'checksums': ['52f682ba4efe29dccb38ff0fe5bac8a23007d0780ff92a8b85af64bc4fc74d72'], + }), + ('autopage', '0.5.1', { + 'checksums': ['01be3ee61bb714e9090fcc5c10f4cf546c396331c620c6ae50a2321b28ed3199'], + }), + ('stevedore', '4.1.1', { + 'checksums': ['7f8aeb6e3f90f96832c301bff21a7eb5eefbe894c88c506483d355565d88cc1a'], + }), + ('cliff', '4.0.0', { + 'checksums': ['3b0d30e7acf50e3c214a39ee3e66aa2f2b5957e2a1de373e17bba8e98c7501a5'], + }), + ('dogpile.cache', '1.1.8', { + 'checksums': ['d844e8bb638cc4f544a4c89a834dfd36fe935400b71a16cbd744ebdfb720fd4e'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('jsonpatch', '1.32', { + 'checksums': ['b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2'], + }), + ('os-service-types', '1.7.0', { + 'checksums': ['31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c'], + }), + ('keystoneauth1', '5.0.0', { + 'checksums': ['6ebb5f044c9dfd263087a328d51d479947d1ddc90c09daf4191df7dc71334323'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + ('requestsexceptions', '1.4.0', { + 'checksums': ['b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065'], + }), + ('openstacksdk', '0.102.0', { + 'modulename': 'openstack', + 'checksums': ['b2a18feba79eac2ac3469c8dafe01d4008c8ac30be3a4c6b53275b4f1c6ba2ad'], + }), + ('oslo.i18n', '5.1.0', { + 'modulename': 'oslo_i18n', + 'checksums': ['6bf111a6357d5449640852de4640eae4159b5562bbba4c90febb0034abc095d0'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('debtcollector', '2.5.0', { + 'checksums': ['dc9d1ad3f745c43f4bbedbca30f9ffe8905a8c028c9926e61077847d5ea257ab'], + }), + ('oslo.utils', '6.1.0', { + 'modulename': 'oslo_utils', + 'checksums': ['76bc0108d50aca972b68fec8298e791b5fbcbeb9a51a27c6986b41b0a6a62eeb'], + }), + ('osc-lib', '2.6.2', { + 'checksums': ['879b6c5a142f3294464748ab14adde0cba0a14a5f704a0d840c9e92144489dba'], + }), + ('oslo.serialization', '5.0.0', { + 'modulename': 'oslo_serialization', + 'checksums': ['2845328d0f47dc8a23fed2a82253e90acff0aa731dbd24f379cf8e50e6cc66ba'], + }), + ('rfc3986', '2.0.0', { + 'checksums': ['97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c'], + }), + ('oslo.config', '9.0.0', { + 'modulename': 'oslo_config', + 'checksums': ['3b6b63c43cf1e09344ba850bcb11d6f2b9201086fbeb0a97a8950e7eac3f2645'], + }), + ('python-novaclient', '18.2.0', { + 'modulename': 'novaclient', + 'checksums': ['185bbf2cafb5f3d761f272e3e184a700cc7ba5cf7d51619065be7f5c4b5b7cf4'], + }), + ('python-keystoneclient', '5.0.1', { + 'modulename': 'keystoneclient', + 'checksums': ['a8bbf671f56c24aa5a37a225b98f2994b82063d73e3486657eb500a33a406d29'], + }), + ('python-cinderclient', '9.1.0', { + 'modulename': 'cinderclient', + 'checksums': ['f9b30af2e6e6e5a126c2c81f35145c5aee70c20955e6dd409919be4d1b87b343'], + }), + ('python-openstackclient', version, { + 'modulename': 'openstackclient', + 'checksums': ['91c3ac12da4b423c16b3917616f84a23e2961e750fce590d409ecc50ee0431ce'], + }), +] + +sanity_pip_check = True +enhance_sanity_check = True +sanity_check_commands = ['openstack -h'] + +sanity_check_paths = { + 'files': ['bin/openstack'], + 'dirs': ["bin", 'lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/Optuna/Optuna-3.1.0-foss-2022a.eb b/easybuild/easyconfigs/o/Optuna/Optuna-3.1.0-foss-2022a.eb new file mode 100644 index 000000000000..c22e7e088b0e --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-3.1.0-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '3.1.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('matplotlib', '3.5.2'), # optional + ('plotly.py', '5.12.0'), # optional + ('redis-py', '4.5.1'), # optional + ('scikit-learn', '1.1.2'), # optional + ('Mako', '1.2.0'), + ('Greenlet', '2.0.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('alembic', '1.9.3', { + 'checksums': ['8fd6aaea56f5a703a190d25a705dfa91d7c313bb71de2f9c68f5abdcaf5df164'], + }), + ('cmaes', '0.9.1', { + 'checksums': ['d122f8d46377f643a150c85ffc81c4e33909a34cfdcb522ee7a6fb17ea4f232c'], + }), + ('colorlog', '6.7.0', { + 'checksums': ['bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5'], + }), + ('SQLAlchemy', '2.0.3', { + 'checksums': ['c2b924f6d0162ed1c0d8f47db1e56498702b1c3c953ad84f0eefbf5b4e53bb05'], + }), + ('%(namelower)s', version, { + 'use_pip_extras': 'optional', + 'checksums': ['96c7c92860c8692d3aa569d749e72b121422cb4af0ed3ad4bfbc445b61416919'], + }), +] + +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/occt/occt-7.5.0p1-foss-2022a.eb b/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2022a.eb new file mode 100644 index 000000000000..40e83e5f3fcc --- /dev/null +++ b/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'occt' +version = '7.5.0p1' + +homepage = 'https://www.opencascade.com/' +description = """Open CASCADE Technology (OCCT) is an object-oriented C++ +class library designed for rapid production of sophisticated domain-specific +CAD/CAM/CAE applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://files.salome-platform.org/Salome/other'] +sources = ['opencascade-%(version)s.tar.gz'] +checksums = ['c0bbe42f0c41b6dcd6a39a83961ca7e414eb2d5d919f4dcb930096f2a423a578'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Doxygen', '1.9.4'), +] +dependencies = [ + ('Mesa', '22.0.3'), + ('freetype', '2.12.1'), + ('Tcl', '8.6.12'), + ('Tk', '8.6.12'), + ('FreeImage', '3.18.0'), + ('tbb', '2021.5.0'), +] + + +separate_build_dir = True + +configopts = "-DUSE_FREEIMAGE=ON -D3RDPARTY_FREEIMAGE_DIR=$EBROOTFREEIMAGE " +configopts += "-D3RDPARTY_TBB_DIR=$EBROOTTBB " +configopts += "-D3RDPARTY_TCL_DIR=$EBROOTTCL " +configopts += "-D3RDPARTY_TK_DIR=$EBROOTTK " +configopts += "-D3RDPARTY_FREETYPE_DIR=$EBROOTFREETYPE " + +sanity_check_paths = { + 'files': ['bin/DRAWEXE', 'bin/env.sh'], + 'dirs': ['lib/cmake/opencascade'], +} + +sanity_check_commands = ['DRAWEXE -h'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/oceanspy/oceanspy-0.2.0-foss-2022a.eb b/easybuild/easyconfigs/o/oceanspy/oceanspy-0.2.0-foss-2022a.eb new file mode 100644 index 000000000000..ac13454ba89e --- /dev/null +++ b/easybuild/easyconfigs/o/oceanspy/oceanspy-0.2.0-foss-2022a.eb @@ -0,0 +1,37 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'oceanspy' +version = '0.2.0' + +homepage = 'https://github.com/hainegroup/oceanspy' +description = """OceanSpy - A Python package to facilitate ocean model data analysis +and visualization.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('dask', '2022.10.0'), + ('xarray', '2022.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xgcm', '0.8.0', { + 'checksums': ['99e7e2fc9268fb13827f8849dbae279eaaa4960d51872d62bc38293605b0215f'], + }), + (name, version, { + 'checksums': ['8c684ecdfe03bade171e17f5ae6bedd422e51db6faffed0303e1839051d40614'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/olego/olego-1.1.9-GCC-11.2.0.eb b/easybuild/easyconfigs/o/olego/olego-1.1.9-GCC-11.2.0.eb new file mode 100644 index 000000000000..5bb617a46272 --- /dev/null +++ b/easybuild/easyconfigs/o/olego/olego-1.1.9-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +# updated by: Denis Kristak (INUITS) +easyblock = 'MakeCp' + +name = 'olego' +version = '1.1.9' + +homepage = 'https://github.com/chaolinzhanglab/olego' +description = """OLego is a program specifically designed for de novo spliced mapping of mRNA-seq reads. OLego adopts +a seed-and-extend scheme, and does not rely on a separate external mapper.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/chaolinzhanglab/olego//archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1b6ba7a4a310ac71667052d3a6e1f073d3976302ab6b6b67041475f7ca1f4bac'] + +files_to_copy = ['*'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['olegoindex', 'olego'], + 'dirs': [], +} + +sanity_check_commands = ['olego 2>&1 | grep "version %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6-CUDA-11.7.0.eb new file mode 100644 index 000000000000..bc2f11eb6df1 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'ont-guppy' +version = '6.4.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://community.nanoporetech.com/protocols/Guppy-protocol' +description = """ +Guppy is a bioinformatics toolkit that enables real-time basecalling and several + post-processing features that works on Oxford Nanopore Technologies™ sequencing platforms. + + For Research Use Only +""" + +toolchain = SYSTEM + +source_urls = ['https://mirror.oxfordnanoportal.com/software/analysis'] +sources = ['%(name)s_%(version)s_linux64.tar.gz'] +checksums = ['a633b2f0712781ff303a4c8fecb08d5e5603c755d6c445a6181ab11930f5bd63'] + +dependencies = [ + ('CUDA', '11.7.0'), +] + +_bins = ['guppy_%s' % x for x in ['aligner', 'barcoder', 'basecall_client', 'basecaller', 'basecaller_duplex', + 'basecaller_supervisor', 'basecall_server']] +_libs = ['lib/libvbz_hdf_plugin.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins] + _libs, + 'dirs': ['data'], +} + +# requires libcuda.so to be present, else it exits with code 127 +# sanity_check_commands = ['%s --help' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6.eb b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6.eb new file mode 100644 index 000000000000..be0229947659 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6.eb @@ -0,0 +1,32 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'ont-guppy' +version = '6.4.6' + +homepage = 'https://community.nanoporetech.com/protocols/Guppy-protocol' +description = """ +Guppy is a bioinformatics toolkit that enables real-time basecalling and several + post-processing features that works on Oxford Nanopore Technologies™ sequencing platforms. + + For Research Use Only +""" + +toolchain = SYSTEM + +source_urls = ['https://mirror.oxfordnanoportal.com/software/analysis'] +sources = ['%(name)s-cpu_%(version)s_linux64.tar.gz'] +checksums = ['5c454a1d91124ff6da1618d08cae999b0091897e7f20e3dba09038303a259bef'] + +_bins = ['guppy_%s' % x for x in ['aligner', 'barcoder', 'basecall_client', 'basecaller', 'basecaller_duplex', + 'basecaller_supervisor', 'basecall_server']] +_libs = ['lib/libvbz_hdf_plugin.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins] + _libs, + 'dirs': ['data'], +} + +sanity_check_commands = ['%s --help' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.10-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..bc8a63f9df38 --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.10-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'openpyxl' +version = '3.0.10' + +homepage = 'https://openpyxl.readthedocs.io' +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('lxml', '4.9.1'), + ('Pillow', '9.1.1'), +] + +use_pip = True + +exts_list = [ + ('et_xmlfile', '1.1.0', { + 'checksums': ['8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c'], + }), + ('jdcal', '1.4.1', { + 'checksums': ['472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8'], + }), + (name, version, { + 'checksums': ['e47805627aebcf860edb4edf7987b1309c1b3632f3750538ed962bbcc3bd7449'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/openslide-python/openslide-python-1.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.2.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1d28069258b9 --- /dev/null +++ b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'openslide-python' +version = '1.2.0' + +homepage = 'https://github.com/openslide/openslide-python' +description = "OpenSlide Python is a Python interface to the OpenSlide library." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/openslide/openslide-python/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8162829d3d0ea44dd82602ced7390d9b10dd339337a58f17a8eb81a30bc0883b'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('Pillow-SIMD', '9.2.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'openslide'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PAML/PAML-4.10.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PAML/PAML-4.10.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c7fc5f254048 --- /dev/null +++ b/easybuild/easyconfigs/p/PAML/PAML-4.10.5-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'PAML' +version = '4.10.5' + +homepage = 'http://abacus.gene.ucl.ac.uk/software/paml.html' +description = """PAML is a package of programs for phylogenetic + analyses of DNA or protein sequences using maximum likelihood.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'abacus-gene' + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1bb40ea7c976d961a4f46b76e950423f6f252d7060bc621cbf29c9743b88a063'] + +builddependencies = [('binutils', '2.38')] + +start_dir = 'src' + +prebuildopts = "sed -i 's/enum/extern enum/g' paml.h &&" +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + # (['%(builddir)s/%(namelower)s%(version)s/README.txt'], ''), + (['README.txt', 'LICENSE'], ''), + (['src/baseml', 'src/basemlg', 'src/chi2', 'src/codeml', 'src/evolver'], 'bin'), + (['src/infinitesites', 'src/mcmctree', 'src/pamp', 'src/yn00'], 'bin'), + (['dat/*'], 'dat'), + (['doc/*'], 'doc'), + (['examples/*'], 'examples'), + (['Technical/*'], 'Technical'), +] + +sanity_check_paths = { + 'files': ['examples/baseml.ctl', 'examples/codeml.ctl', 'bin/baseml', 'bin/codeml'], + 'dirs': ['dat', 'doc', 'examples'], +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/examples/HIVNSsites %(builddir)s && " + "cd %(builddir)s/HIVNSsites && codeml", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..57ba7388d945 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# Author: Robert Mijakovic +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '7.0.0' + +homepage = 'https://icl.cs.utk.edu/projects/papi/' + +description = """ + PAPI provides the tool designer and application engineer with a consistent + interface and methodology for use of the performance counter hardware found + in most major microprocessors. PAPI enables software engineers to see, in near + real time, the relation between software performance and processor events. + In addition Component PAPI provides access to a collection of components + that expose performance measurement opportunites across the hardware and + software stack. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://icl.cs.utk.edu/projects/papi/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix-compile-warning.patch'] +checksums = [ + '799dcc317a47da96beaeed445812ecb6ae49df7c0504a4569797c1f7d74c4fd2', + {'PAPI-7.0.0_fix-compile-warning.patch': 'a5d2b266669d55cb0280b4c2fed1a53c7705eb5bad7fc7d247a414e81b3f65a8'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +start_dir = 'src' + +configopts = "--with-components=rapl " # for energy measurements + +parallel = 1 + +runtest = 'fulltest' + +sanity_check_paths = { + 'files': ["bin/papi_%s" % x + for x in ["avail", "clockres", "command_line", "component_avail", + "cost", "decode", "error_codes", "event_chooser", + "mem_info", "multiplex_cost", "native_avail", + "version", "xml_event_info"]], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0_fix-compile-warning.patch b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0_fix-compile-warning.patch new file mode 100644 index 000000000000..062d326dbc5c --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0_fix-compile-warning.patch @@ -0,0 +1,21 @@ +Fix error during compilation caused by a warning: +pfmlib_perf_event_pmu.c: In function gen_tracepoint_table: +pfmlib_perf_event_pmu.c:433:27: Error: p could be used uninitialized [-Werror=maybe-uninitialized] + 433 | p->modmsk = 0, + | ~~~~~~~~~~^~~ +cc1: All warnings handled as errors + +Author: Alexander Grund (TU Dresden) + +diff -aur a/src/libpfm4/lib/pfmlib_perf_event_pmu.c b/src/libpfm4/lib/pfmlib_perf_event_pmu.c +--- a/src/libpfm4/lib/pfmlib_perf_event_pmu.c 2023-02-02 15:07:10.990410868 +0100 ++++ b/src/libpfm4/lib/pfmlib_perf_event_pmu.c 2023-02-02 15:05:51.962978074 +0100 +@@ -361,7 +361,7 @@ + { + DIR *dir1, *dir2; + struct dirent *d1, *d2; +- perf_event_t *p; ++ perf_event_t *p = NULL; + perf_umask_t *um; + char d2path[MAXPATHLEN]; + char idpath[MAXPATHLEN]; diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..1f099f8c63d9 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.45' + +homepage = 'https://www.pcre.org/' + +description = """ + The PCRE library is a set of functions that implement regular expression + pattern matching using the same syntax and semantics as Perl 5. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.pcre.org/pub/pcre/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +configopts = ' '.join([ + '--enable-utf', + '--enable-unicode-properties', + '--enable-pcre16', + '--enable-pcre32', +]) + +sanity_check_paths = { + 'files': ['bin/pcre-config', 'include/pcre.h', + 'share/man/man3/pcre.3', 'lib/libpcre32.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'share/doc/pcre/html', 'share/man/man1'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb index 12016d01cbe1..987673424a7a 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb @@ -12,8 +12,9 @@ description = """ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True, 'pic': True} -source_urls = ['http://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['1cfd43caffe07fe7f2cfafc74c8f0d87b38d80bbb63226a1193407476508e317'] configopts = "--with-pic --disable-cpp --enable-jit" diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb index 5c1b1a2eee6c..6e778809b3c2 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'pic': True} -source_urls = ['http://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e11ebd99dd23a7bccc9127d95d9978101b5f3cf0a6e7d25a1b1ca165a97166c4'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb index 01e3fb5bfdb0..450024fdf675 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} toolchainopts = {'pic': True} -source_urls = ['http://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e2e2899a97489fc6ad1b0cc3da7952c7cca991b4a0f7db6649b75d9721025d31'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb index 389549a78a0f..8cc0b7a65246 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e2e2899a97489fc6ad1b0cc3da7952c7cca991b4a0f7db6649b75d9721025d31'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb index 964495dcb0e6..f5d596ea476c 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['da6aba7ba2509e918e41f4f744a59fa41a2425c59a298a232e7fe85691e00379'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb index af6d2eaca841..b44919660c67 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['8fdcef8c8f4cd735169dd0225fd010487970c1bcadd49e9b90e26c7250a33dc9'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb index 5f9348bc96c0..6f63b8cf2984 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['b95ddb9414f91a967a887d69617059fb672b914f56fa3d613812c1ee8e8a1a37'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb index 257c390e0b9d..e82daf409ada 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '11.2.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['04e214c0c40a97b8a5c2b4ae88a3aa8a93e6f2e45c6b3534ddac351f26548577'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..7aed3007b9f6 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.40' + +homepage = 'https://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax + and semantics as Perl 5. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ded42661cab30ada2e72ebff9e725e745b4b16ce831993635136f2ef86177724'] + +builddependencies = [('binutils', '2.39')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..2e977b2ffc63 --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +name = 'PDT' +version = '3.25.1' + +homepage = 'https://www.cs.uoregon.edu/research/pdt/' +description = """ + Program Database Toolkit (PDT) is a framework for analyzing source code + written in several programming languages and for making rich program + knowledge accessible to developers of static and dynamic analysis tools. + PDT implements a standard program representation, the program database + (PDB), that can be accessed in a uniform way through a class library + supporting common PDB operations. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.37'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..49e5f3b335f7 --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +name = 'PDT' +version = '3.25.1' + +homepage = 'https://www.cs.uoregon.edu/research/pdt/' +description = """ + Program Database Toolkit (PDT) is a framework for analyzing source code + written in several programming languages and for making rich program + knowledge accessible to developers of static and dynamic analysis tools. + PDT implements a standard program representation, the program database + (PDB), that can be accessed in a uniform way through a class library + supporting common PDB operations. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-intel-2021a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-intel-2021a.eb new file mode 100644 index 000000000000..75d34f53c6c3 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-intel-2021a.eb @@ -0,0 +1,52 @@ +## +# Author: Robert Mijakovic +## +name = 'PETSc' +version = '3.15.1' + +homepage = 'https://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', + 'PETSc_remove-mpiicc-show-quotes.patch', +] +checksums = [ + {'petsc-3.15.1.tar.gz': 'c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb'}, + {'PETSc_ranlib-fix.patch': '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297'}, + {'PETSc_remove-mpiicc-show-quotes.patch': 'e6ccd7ab33d806f1e635f536d94c98b7aa36f6462d6a0f9f71b177f6ed23f09e'}, +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('MUMPS', '5.4.0', '-metis'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('Hypre', '2.21.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 ' + +shared_libs = 1 + +# only required when building PETSc in a SLURM job environment +# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 ' +# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.17.4-foss-2022a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.17.4-foss-2022a.eb new file mode 100644 index 000000000000..4f5e7a066713 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.17.4-foss-2022a.eb @@ -0,0 +1,53 @@ +## +# Author: Robert Mijakovic +# Author: Jasper Grimm (UoY) +## +name = 'PETSc' +version = '3.17.4' + +homepage = 'https://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + '99c127486722a3ffd95a268b4ceb0976cbf217926c681a9631bd7246eab8cb2a', # petsc-3.17.4.tar.gz + '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('MUMPS', '5.5.1', '-metis'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('Hypre', '2.25.0'), + ('ParMETIS', '4.0.3'), + ('SuperLU_DIST', '8.1.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 ' + +shared_libs = 1 + +# only required when building PETSc in a SLURM job environment +# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 ' +# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.18.4-intel-2021b.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.18.4-intel-2021b.eb new file mode 100644 index 000000000000..37ddfc1c7fc7 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.18.4-intel-2021b.eb @@ -0,0 +1,47 @@ +name = 'PETSc' +version = '3.18.4' + +homepage = 'https://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + {'petsc-3.18.4.tar.gz': '6173d30637261c5b740c0bea14747759200ca2012c7343139f9216bc296a6394'}, + {'PETSc_ranlib-fix.patch': '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297'}, +] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Boost', '1.77.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.2'), + ('MUMPS', '5.4.1', '-metis'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('Hypre', '2.24.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 ' + +shared_libs = 1 + +# only required when building PETSc in a SLURM job environment +# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 ' +# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PETSc/PETSc_remove-mpiicc-show-quotes.patch b/easybuild/easyconfigs/p/PETSc/PETSc_remove-mpiicc-show-quotes.patch new file mode 100644 index 000000000000..0286368966ec --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc_remove-mpiicc-show-quotes.patch @@ -0,0 +1,18 @@ +The PETSc configuration script relies on the output of the command +"mpicc/mpiicc -show". For some versions of mpiicc, that command prints +include and link paths between double quotes, which confuses the PETSc +configuration script. This patch removes the double quotes again and should +only be necessary when using mpiicc newer than 2021a. +Author: Steven Vandenbrande +diff -Nru config/PETSc/Configure.py.back config/PETSc/Configure.py` +--- config/PETSc/Configure.py.back 2023-02-09 14:59:14.086680000 +0100 ++++ config/PETSc/Configure.py 2023-02-09 14:59:03.095892000 +0100 +@@ -251,7 +251,7 @@ + compiler = self.setCompilers.getCompiler() + if [s for s in ['mpicc','mpiicc'] if os.path.basename(compiler).find(s)>=0]: + try: +- output = self.executeShellCommand(compiler + ' -show', log = self.log)[0] ++ output = self.executeShellCommand(compiler + ' -show', log = self.log)[0].replace('"', '') + compiler = output.split(' ')[0] + self.addDefine('MPICC_SHOW','"'+output.strip().replace('\n','\\\\n')+'"') + except: diff --git a/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..4033ffc1c52f --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +# Contribution from Imperial College London (UK) +# Uploaded by J. Sassmannshausen + +easyblock = 'CmdCp' + +name = 'PGPLOT' +version = '5.2.2' + +homepage = 'https://sites.astro.caltech.edu/~tjp/pgplot/' +description = """The PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, +device-independent graphics package for making simple scientific graphs. It is intended +for making graphical images of publication quality with minimum effort on the part of +the user. For most applications, the program can be device-independent, and the output +can be directed to the appropriate device at run time.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['ftp://ftp.astro.caltech.edu/pub/pgplot/'] +sources = ['%%(namelower)s%s.tar.gz' % version.replace('.', '')] +patches = ['PGPLOT-5.2.2_gfortran-deps-fixes.patch'] +checksums = [ + {'pgplot522.tar.gz': 'a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4'}, + {'PGPLOT-5.2.2_gfortran-deps-fixes.patch': 'b1822eb32499dc18aa4aa4fae0b31c3c64ff8abb3a243716e78addafa7e58cec'}, +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('X11', '20210802'), +] + +cmds_map = [('.*', './makemake . linux g77_gcc && make && make shared && make cpg && make cpg-shared')] + +files_to_copy = [ + (['pgdemo*'], 'bin'), + (['libpgplot.*', 'libcpgplot.*'], 'lib'), + (['grfont.dat'], 'share'), + (['cpgplot.h'], 'include'), +] + +# create .so symlinks for shared libraries +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.5.2.2 libcpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.5.2.2 libcpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.5.2.2 libpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.5.2.2 libpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), +] + +sanity_check_paths = { + 'files': ['include/cpgplot.h', 'lib/libpgplot.a', 'lib/libcpgplot.a', + 'lib/libpgplot.%s' % SHLIB_EXT, 'lib/libcpgplot.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +modextravars = {'PGPLOT_FONT': '%(installdir)s/share/grfont.dat'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2_gfortran-deps-fixes.patch b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2_gfortran-deps-fixes.patch new file mode 100644 index 000000000000..d8073c05f6f8 --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2_gfortran-deps-fixes.patch @@ -0,0 +1,265 @@ +Patch to make sure that gfortran can be used, also includes EasyBuild specific environment variables +Some of it is based on the Debian patches +Author: J. Sassmannshausen (ICL/UK) +diff --git a/pgplot.orig/drivers/pndriv.c b/pgplot/drivers/pndriv.c +index 2b2f87d..63fa246 100644 +--- a/pgplot.orig/drivers/pndriv.c ++++ b/pgplot/drivers/pndriv.c +@@ -222,7 +222,7 @@ static void write_image_file(DeviceData *dev) { + return; + } + +- if (setjmp(png_ptr->jmpbuf)) { /* not really sure what I'm doing here... */ ++ if (setjmp(png_jmpbuf(png_ptr))) { /* not really sure what I'm doing here... */ + fprintf(stderr,"%s: error in libpng while writing file %s, plotting disabled\n", png_ident, filename); + png_destroy_write_struct(&png_ptr,&info_ptr); + dev->error = true; +diff --git a/pgplot.orig/drivers.list b/pgplot/drivers.list +index 11108bb..b6ff758 100644 +--- a/pgplot.orig/drivers.list ++++ b/pgplot/drivers.list +@@ -3,48 +3,50 @@ + ! To configure PGPLOT, ensure that drivers you do not want are + ! commented out (place ! in column 1). N.B. Many device-drivers are + ! available on selected operating systems only. ++! Modified by Gopal Narayanan for debian Jul 6, 2001 + !------------------------------------------------------------------------------ + ! File Code Description Restrictions + ! BCDRIV 0 /BCANON Canon Laser printer (bitmap version), landscape + ! CADRIV 0 /CANON Canon Laser printer, LBP-8/A2, landscape + ! CCDRIV 0 /CCP DEC LJ250 Color Companion printer +-! CGDRIV 1 /CGM CGM metafile, indexed colour selection C +-! CGDRIV 2 /CGMD CGM metafile, direct colour selection C ++ CGDRIV 1 /CGM CGM metafile, indexed colour selection C ++ CGDRIV 2 /CGMD CGM metafile, direct colour selection C + ! CWDRIV 0 /CW6320 Gould/Bryans Colourwriter 6320 pen plotter Std F77 + ! EPDRIV 0 /EPSON Epson FX100 dot matrix printer + ! EXDRIV 1 /EXCL Talaris/EXCL printers, landscape + ! EXDRIV 2 /EXCL Talaris/EXCL printers, portrait + ! GCDRIV 0 /GENICOM Genicom 4410 dot-matrix printer, landscape + ! Caution: use of GIDRIV may require a license from Unisys: +-! GIDRIV 1 /GIF GIF-format file, landscape +-! GIDRIV 2 /VGIF GIF-format file, portrait +-! GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77 +-! GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77 ++! Since Unisys patent has expired allowing now. ++ GIDRIV 1 /GIF GIF-format file, landscape ++ GIDRIV 2 /VGIF GIF-format file, portrait ++ GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77 ++ GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77 + ! GODRIV 0 /GOC GOC Sigma T5670 terminal VMS + ! GVDRIV 0 /GVENICOM Genicom 4410 dot-matrix printer, portrait +-! HGDRIV 0 /HPGL2 Hewlett-Packard graphics language ++ HGDRIV 0 /HPGL2 Hewlett-Packard graphics language + ! HIDRIV 0 /HIDMP Houston Instruments HIDMP pen plotter + ! HJDRIV 0 /HJ Hewlett-Packard Desk/Laserjet printer +-! HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77 ++ HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77 + ! LADRIV 0 /LA50 Dec LA50 and other sixel printers + ! LJDRIV 0 /LJ Hewlett-Packard LaserJet printers VMS + ! LSDRIV 1 /LIPS2 Canon LaserShot printer (landscape) + ! LSDRIV 2 /VLIPS2 Canon LaserShot printer (portrait) + ! LNDRIV 0 /LN03 Dec LN03-PLUS Laser printer (landscape) VMS + ! LVDRIV 0 /LVN03 Dec LN03-PLUS Laser printer (portrait) VMS +-! LXDRIV 0 /LATEX LaTeX picture environment ++ LXDRIV 0 /LATEX LaTeX picture environment + ! MFDRIV 0 /FILE PGPLOT graphics metafile + ! NEDRIV 0 /NEXT Computers running NeXTstep operating system + NUDRIV 0 /NULL Null device (no output) Std F77 +-! PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77 +-! PNDRIV 1 /PNG Portable Network Graphics file C +-! PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C ++ PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77 ++ PNDRIV 1 /PNG Portable Network Graphics file C ++ PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C + ! PPDRIV 1 /PPM Portable Pixel Map file, landscape + ! PPDRIV 2 /VPPM Portable PIxel Map file, portrait +-! PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77 +-! PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77 +-! PSDRIV 3 /CPS PostScript printers, color, landscape Std F77 +-! PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77 ++ PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77 ++ PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77 ++ PSDRIV 3 /CPS PostScript printers, color, landscape Std F77 ++ PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77 + ! PXDRIV 0 /PRINTRONI Printronix P300 or P600 dot-matrix printer + ! QMDRIV 1 /QMS QUIC devices (QMS and Talaris), landscape Std F77 + ! QMDRIV 2 /VQMS QUIC devices (QMS and Talaris), portrait Std F77 +diff --git a/pgplot.orig/makemake b/pgplot/makemake +index e48455e..93b9985 100755 +--- a/pgplot.orig/makemake ++++ b/pgplot/makemake +@@ -658,6 +658,8 @@ CPGPLOT_LIB=$CPGPLOT_LIB + # + SHARED_LIB=$SHARED_LIB + SHARED_LD=$SHARED_LD ++SHARED_LD_PGPLOT_OPTS=$SHARED_LD_PGPLOT_OPTS ++SHARED_LD_CPGPLOT_OPTS=$SHARED_LD_CPGPLOT_OPTS + # + # The libraries that the shared PGPLOT library depends upon. + # This is for systems that allow one to specify what libraries +@@ -667,6 +669,7 @@ SHARED_LD=$SHARED_LD + # libraries when they link their executables. + # + SHARED_LIB_LIBS=$SHARED_LIB_LIBS ++SHARED_LIB_CPGPLOT_LIBS=$SHARED_LIB_CPGPLOT_LIBS + # + # Ranlib command if required + # +@@ -806,7 +809,8 @@ grexec.o: grexec.f + # libraries. + #----------------------------------------------------------------------- + +-lib : libpgplot.a $(SHARED_LIB) ++#lib : libpgplot.a $(SHARED_LIB) ++lib : libpgplot.a + + libpgplot.a : $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \ + $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) +@@ -816,6 +820,16 @@ libpgplot.a : $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \ + $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` + $(RANLIB) libpgplot.a + ++#shared: $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \ ++# $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) ++# $(SHARED_LD) ++ ++shared: $(PG_ROUTINES) $(PG_NON_STANDARD) \ ++ $(GR_ROUTINES) $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) ++ $(SHARED_LD) $(SHARED_LD_PGPLOT_OPTS) `ls $(PG_ROUTINES) \ ++ $(PG_NON_STANDARD) $(GR_ROUTINES) $(DISPATCH_ROUTINE) \ ++ $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` $(SHARED_LIB_LIBS) ++ + EOD + + # Emit the shared library dependency if requested. +@@ -824,7 +838,7 @@ if test -n "$SHARED_LIB" -a -n "$SHARED_LD"; then + cat >> makefile << \EOD + $(SHARED_LIB): $(PG_ROUTINES) $(PG_NON_STANDARD) \ + $(GR_ROUTINES) $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) +- $(SHARED_LD) `ls $(PG_ROUTINES) \ ++ $(SHARED_LD) $(SHARED_LD_PGPLOT_OPTS) `ls $(PG_ROUTINES) \ + $(PG_NON_STANDARD) $(GR_ROUTINES) $(DISPATCH_ROUTINE) \ + $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` $(SHARED_LIB_LIBS) + EOD +@@ -1019,13 +1033,14 @@ EOD + + cat >> makefile << \EOD + ++DEB_HOST_MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++ + # Miscellaneous include files required by drivers + + griv00.o : $(DRVDIR)/gadef.h $(DRVDIR)/gmdef.h $(DRVDIR)/gphdef.h + grivas.o : $(DRVDIR)/gadef.h + grtv00.o : $(DRVDIR)/imdef.h + pgxwin.o : $(DRVDIR)/pgxwin.h +-pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h + + x2driv.o figdisp_comm.o: $(DRVDIR)/commands.h + +@@ -1039,6 +1054,8 @@ cpg: libcpgplot.a cpgplot.h cpgdemo + @echo 'will be needed.' + @echo ' ' + ++cpg-shared: libcpgplot.so ++ + pgbind: $(SRC)/cpg/pgbind.c + $(CCOMPL) $(CFLAGC) $(SRC)/cpg/pgbind.c -o pgbind + +@@ -1050,6 +1067,13 @@ libcpgplot.a cpgplot.h: $(PG_SOURCE) pgbind + $(RANLIB) libcpgplot.a + rm -f cpg*.o + ++libcpgplot.so: $(PG_SOURCE) pgbind ++ ./pgbind $(PGBIND_FLAGS) -w $(PG_SOURCE) ++ $(CCOMPL) -c $(CFLAGC) cpg*.c ++ rm -f cpg*.c ++ $(SHARED_LD) $(SHARED_LD_CPGPLOT_OPTS) cpg*.o $(SHARED_LIB_CPGPLOT_LIBS) ++ rm -f cpg*.o ++ + cpgdemo: cpgplot.h $(SRC)/cpg/cpgdemo.c libcpgplot.a + $(CCOMPL) $(CFLAGD) -c -I. $(SRC)/cpg/cpgdemo.c + $(FCOMPL) -o cpgdemo cpgdemo.o $(CPGPLOT_LIB) $(LIBS) +diff --git a/pgplot.orig/sys_linux/g77_gcc.conf b/pgplot/sys_linux/g77_gcc.conf +index d6b73e6..b3905b0 100644 +--- a/pgplot.orig/sys_linux/g77_gcc.conf ++++ b/pgplot/sys_linux/g77_gcc.conf +@@ -1,11 +1,11 @@ +-# The GNU g77 FORTRAN compiler and Gnu gcc C compiler on an elf-system. ++# The GNU gfortran FORTRAN compiler and Gnu gcc C compiler on an elf-system. + #----------------------------------------------------------------------- + + # Optional: Needed by XWDRIV (/xwindow and /xserve) and + # X2DRIV (/xdisp and /figdisp). + # The arguments needed by the C compiler to locate X-window include files. + +- XINCL="-I/usr/X11R6/include" ++ XINCL="-I${EBROOTLIBPNG}/include -I${BROOTZLIB}/include" + + # Optional: Needed by XMDRIV (/xmotif). + # The arguments needed by the C compiler to locate Motif, Xt and +@@ -34,13 +34,13 @@ + # Mandatory. + # The FORTRAN compiler to use. + +- FCOMPL="g77" ++ FCOMPL="gfortran" + + # Mandatory. + # The FORTRAN compiler flags to use when compiling the pgplot library. + # (NB. makemake prepends -c to $FFLAGC where needed) + +- FFLAGC="-u -Wall -fPIC -O" ++ FFLAGC="-u -Wall -fPIC -O3 -std=legacy " + + # Mandatory. + # The FORTRAN compiler flags to use when compiling fortran demo programs. +@@ -57,12 +57,12 @@ + # Mandatory. + # The C compiler flags to use when compiling the pgplot library. + +- CFLAGC="-Wall -fPIC -DPG_PPU -O" ++ CFLAGC="-Wall -fPIC -DPG_PPU -O3" + + # Mandatory. + # The C compiler flags to use when compiling C demo programs. + +- CFLAGD="-Wall -O" ++ CFLAGD="-Wall -O3" + + # Optional: Only needed if the cpgplot library is to be compiled. + # The flags to use when running pgbind to create the C pgplot wrapper +@@ -74,7 +74,7 @@ + # The library-specification flags to use when linking normal pgplot + # demo programs. + +- LIBS="-L/usr/X11R6/lib -lX11" ++ LIBS="-L${EBROOTLIBPNG}/lib -lpng" + + # Optional: Needed by XMDRIV (/xmotif). + # The library-specification flags to use when linking motif +@@ -108,7 +108,11 @@ + # Optional: Needed if SHARED_LIB is set. + # How to create a shared library from a trailing list of object files. + +- SHARED_LD="gcc -shared -o $SHARED_LIB" ++ SHARED_LD_PGPLOT_OPTS="-o $SHARED_LIB.5.2.2 -Wl,-soname,libpgplot.so.5.2.2" ++ ++ SHARED_LD_CPGPLOT_OPTS="-o libcpgplot.so.5.2.2 -Wl,-soname,libcpgplot.so.5.2.2" ++ ++ SHARED_LD="gfortran -shared" + + # Optional: + # On systems such as Solaris 2.x, that allow specification of the +@@ -117,7 +121,9 @@ + # library-specification flags used to specify these libraries to + # $SHARED_LD + +- SHARED_LIB_LIBS="" ++ SHARED_LIB_LIBS="-L/usr/X11R6/lib -lX11 -lpng -lc -lgfortran" ++ ++ SHARED_LIB_CPGPLOT_LIBS="-L. -lpgplot" + + # Optional: + # Compiler name used on Next systems to compile objective-C files. diff --git a/easybuild/easyconfigs/p/PICI-LIGGGHTS/PICI-LIGGGHTS-3.8.1-foss-2022a.eb b/easybuild/easyconfigs/p/PICI-LIGGGHTS/PICI-LIGGGHTS-3.8.1-foss-2022a.eb new file mode 100644 index 000000000000..f0929b054cd1 --- /dev/null +++ b/easybuild/easyconfigs/p/PICI-LIGGGHTS/PICI-LIGGGHTS-3.8.1-foss-2022a.eb @@ -0,0 +1,48 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' + +name = 'PICI-LIGGGHTS' +version = '3.8.1' + +homepage = 'https://github.com/uob-positron-imaging-centre/PICI-LIGGGHTS' +description = """UoB Positron Imaging Centre's Improved LIGGGHTS distribution with + an emphasis on the Python interface.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/uob-positron-imaging-centre/PICI-LIGGGHTS/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['49df8c0379b00ebb57eac7c8ec25755976c2459c0a9f569090b55a0aafee628f'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('libjpeg-turbo', '2.1.3'), + ('VTK', '9.2.2'), +] + +configopts = '-DVTK_DIR=$EBROOTVTK' + +_pydir = "%(installdir)s/lib/python%(pyshortver)s/site-packages" +postinstallcmds = [ + "mkdir -p %s" % _pydir, + "cd %%(builddir)s/%%(name)s*/python && python install.py %%(installdir)s/lib %s" % _pydir, + "cp -r %(builddir)s/%(name)s*/examples %(installdir)s/", +] +start_dir = 'src' + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/liggghts', 'lib/libliggghts.a', 'lib/libliggghts.%s' % SHLIB_EXT], + 'dirs': ['examples/LIGGGHTS/Tutorials_public', 'include'], +} + +sanity_check_commands = ['python -c "import liggghts"'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2021a.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2021a.eb new file mode 100644 index 000000000000..a75ba7b43f05 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'PIPITS' +version = '3.0' + +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', SYSTEM), + ('SeqKit', '2.1.0', '', SYSTEM), +] + +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-3.0_remove-conda-commands.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pipits/archive/'], + 'checksums': [ + {'3.0.tar.gz': 'ee9f142e473e57b186760d940131610c16bdfe57eefca935df35779fd85377bd'}, + {'PIPITS-3.0_remove-conda-commands.patch': + 'd4be41ac4d6d37a19ad09b06c1f05ed83921aa59dc4b04b38fa257e6bce6d12f'}, + ], + }), +] + +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-3.0-foss-2022a.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2022a.eb new file mode 100644 index 000000000000..561a7f5e9c25 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2022a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'PIPITS' +version = '3.0' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('VSEARCH', '2.22.1'), + ('FASTX-Toolkit', '0.0.14'), + ('ITSx', '1.1.3'), + ('HMMER', '3.3.2'), + ('RDP-Classifier', '2.13', '-Java-11', SYSTEM), + ('SeqKit', '2.3.1', '', SYSTEM), +] + +use_pip = True + +exts_list = [ + ('biom-format', '2.1.14', { + 'modulename': 'biom', + 'checksums': ['c8bac94ab6aa8226c0d38af7a3341d65e5f3664b9f45ec44fdf8b5275b2f92c1'], + }), + ('python-utils', '3.5.2', { + 'checksums': ['68198854fc276bc4b2403b261703c218e01ef564dcb072a7096ed9ea7aa5130c'], + }), + ('progressbar2', '4.2.0', { + 'modulename': 'progressbar', + 'checksums': ['1393922fcb64598944ad457569fbeb4b3ac189ef50b5adb9cef3284e87e394ce'], + }), + ('pispino', '1.1', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pispino/archive/'], + 'checksums': ['8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0'], + }), + (name, version, { + 'patches': ['PIPITS-3.0_remove-conda-commands.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pipits/archive/'], + 'checksums': [ + {'3.0.tar.gz': 'ee9f142e473e57b186760d940131610c16bdfe57eefca935df35779fd85377bd'}, + {'PIPITS-3.0_remove-conda-commands.patch': + 'd4be41ac4d6d37a19ad09b06c1f05ed83921aa59dc4b04b38fa257e6bce6d12f'}, + ], + }), +] + +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-3.0_remove-conda-commands.patch b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0_remove-conda-commands.patch new file mode 100644 index 000000000000..dd1c43066644 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0_remove-conda-commands.patch @@ -0,0 +1,56 @@ +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) + +diff -ru pipits-3.0-orig/bin/pipits_funits pipits-3.0/bin/pipits_funits +--- pipits-3.0-orig/bin/pipits_funits 2023-01-30 12:00:47.126429480 +0100 ++++ pipits-3.0/bin/pipits_funits 2023-01-30 12:01:43.330947430 +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 +diff -ru pipits-3.0-orig/bin/pipits_process pipits-3.0/bin/pipits_process +--- pipits-3.0-orig/bin/pipits_process 2023-01-30 12:00:47.087115862 +0100 ++++ pipits-3.0/bin/pipits_process 2023-01-30 12:03:34.783649411 +0100 +@@ -166,7 +166,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. +@@ -623,9 +623,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_rdp_raw.txt", +@@ -703,9 +704,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_raw.txt", diff --git a/easybuild/easyconfigs/p/PIRATE/PIRATE-1.0.5-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/PIRATE/PIRATE-1.0.5-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..11eaa4164025 --- /dev/null +++ b/easybuild/easyconfigs/p/PIRATE/PIRATE-1.0.5-foss-2022a-R-4.2.1.eb @@ -0,0 +1,41 @@ +easyblock = 'Tarball' + +name = 'PIRATE' +version = '1.0.5' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/SionBayliss/PIRATE' +description = "A toolbox for pangenome analysis and threshold evaluation." + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'SionBayliss' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d5d7e657558eadae301a3198bccfd5ee04daddab1a872049d8a74cb71c35f20b'] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('BLAST+', '2.13.0'), + ('CD-HIT', '4.8.1'), + ('DIAMOND', '2.1.0'), + ('FastTree', '2.1.11'), + ('MAFFT', '7.505', '-with-extensions'), + ('MCL', '14.137'), + ('parallel', '20220722'), + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': ['bin/PIRATE'], + 'dirs': ['scripts', 'test', 'tools'], +} + +sanity_check_commands = [ + "PIRATE --help", + "PIRATE --check", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLAMS/PLAMS-1.5.1-intel-2022a.eb b/easybuild/easyconfigs/p/PLAMS/PLAMS-1.5.1-intel-2022a.eb new file mode 100644 index 000000000000..2615afa31aa8 --- /dev/null +++ b/easybuild/easyconfigs/p/PLAMS/PLAMS-1.5.1-intel-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'PLAMS' +version = '1.5.1' + +homepage = 'https://www.scm.com/product/plams' +description = """The Python Library for Automating Molecular Simulation (PLAMS) is powerful and flexible Python tool +interfaced to the Amsterdam Modeling Suite engines ADF, BAND, DFTB, MOPAC, ReaxFF, and UFF.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/SCM-NV/PLAMS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['163cfb7a4e509791961b45d58d3cd42b4761b2ad73f9c210664fc8e3ad78380a'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('dill', '0.3.6'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/plams'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["plams --help"] + +options = {'modulename': 'scm.plams'} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb new file mode 100644 index 000000000000..60ba9b0260b6 --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'PLINK' +version = '2.00a3.7' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = """PLINK is a free, open-source whole genome association analysis toolset, +designed to perform a range of basic, large-scale analyses in a computationally +efficient manner.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + + +dependencies = [ + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), + ('libdeflate', '1.10'), +] + +default_easyblock = 'MakeCp' + +default_component_specs = { + 'source_urls': ['https://github.com/chrchang/plink-ng/archive/refs/tags/'], + 'sources': ['v%s.tar.gz' % version], + 'skipsteps': ['configure'], +} + +components = [ + ('PLINK1', '1.90', { + 'checksums': ['145717350205f5562a01292a0fcbd617b7500758f20cad0393c7cc54665a614e'], + 'start_dir': '%s-ng-%s/1.9' % (name.lower(), version), + 'buildopts': ( + 'CFLAGS="${CFLAGS} -DDYNAMIC_ZLIB" CXXFLAGS="${CXXFLAGS} -DDYNAMIC_ZLIB" ' + 'LDFLAGS="${LDFLAGS} -lm -lpthread -ldl" BLASFLAGS="${LIBBLAS}" ZLIB="-L$EBROOTZLIB/lib -lz"' + ), + 'files_to_copy': [(['plink'], 'bin')], + }), + ('PLINK2', version, { + 'checksums': ['145717350205f5562a01292a0fcbd617b7500758f20cad0393c7cc54665a614e'], + 'start_dir': '%s-ng-%s/2.0' % (name.lower(), version), + 'prebuildopts': "sed -i 's/(OBJ)/(OBJ_NO_ZSTD)/g' Makefile && sed -i '9,19d' Makefile.src && ", + 'buildopts': ( + 'BASEFLAGS="-g -DNDEBUG -DZSTD_MULTITHREAD" BLASFLAGS64="$LIBBLAS" ZSTD="-lzstd -ldeflate" ' + 'CINCLUDE="-Isimde" CINCLUDE2="-I../simde"' + ), + 'files_to_copy': [(['bin/*'], 'bin')], + }), +] + +# run tests (<1h) +postinstallcmds = ["cd Tests && sh run_tests.sh %(installdir)s/bin"] + +sanity_check_paths = { + 'files': ['bin/plink', 'bin/plink2', 'bin/pgen_compress'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb new file mode 100644 index 000000000000..392722009912 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.8.1' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['95f6cbc9134d3ad05ad4652e5e6f12dfbd6313a95a47d7ca6c8bfca147ecd7d5'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GSL', '2.7'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +configopts += '--enable-asmjit ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb index 5baa27f22e57..4ea23f25701d 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb @@ -34,7 +34,7 @@ dependencies = [ configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' configopts += ' --with-hwloc=$EBROOTHWLOC' -configopts += ' --with-ofi=$EBROOTLIBFBARIC' +configopts += ' --with-ofi=$EBROOTLIBFABRIC' configopts += ' --enable-pmix-binaries' configopts += ' --disable-man-pages' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ffe8c9fba652 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '4.2.2' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['935b2f492e4bc409017f1425a83366aa72a7039605ea187c9fac7bb1371cd73c'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.3.0.eb b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.3.0.eb new file mode 100644 index 000000000000..f72e6aac4068 --- /dev/null +++ b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.3.0.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 = 'MakeCp' + +name = 'PRANK' +version = '170427' + +homepage = 'http://wasabiapp.org/software/prank/' +description = """ PRANK is a probabilistic multiple alignment program for DNA, + codon and amino-acid sequences. PRANK is based on a novel algorithm that treats + insertions correctly and avoids over-estimation of the number of deletion events.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://wasabiapp.org/download/prank/'] +sources = ['%(namelower)s.source.%(version)s.tgz'] +checksums = ['623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859'] + +# PRANK uses MAFFT as external tool to construct guide tree +dependencies = [('MAFFT', '7.505', '-with-extensions')] + +start_dir = 'src' + +files_to_copy = [(['prank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/prank'], + 'dirs': [], +} + +sanity_check_commands = ['prank -help'] + +moduleclass = 'bio' 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 e9f5f8cd9e1d..f5de8424a945 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 @@ -92,7 +92,7 @@ modextrapaths = { } postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", "chmod +x %(installdir)s/*.pl", ] diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-9.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.1.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..80793ebc07fd --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.1.1-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'CMakeMake' + +name = 'PROJ' +version = '9.1.1' + +homepage = 'https://proj.org' +description = """Program proj is a standard Unix filter function which converts +geographic longitude and latitude coordinates into cartesian coordinates""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['003cd4010e52bb5eb8f7de1c143753aa830c8902b6ed01209f294846e40e6d39'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('googletest', '1.12.1'), +] + +dependencies = [ + ('SQLite', '3.39.4'), + ('LibTIFF', '4.4.0'), + ('cURL', '7.86.0'), + ('XZ', '5.2.7'), + ('nlohmann_json', '3.11.2'), +] + +# build twice, once for static, once for shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo', + 'lib/libproj.a', 'lib/libproj.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/Panedr/Panedr-0.7.0-foss-2021a.eb b/easybuild/easyconfigs/p/Panedr/Panedr-0.7.0-foss-2021a.eb new file mode 100644 index 000000000000..1b9dbb3a29da --- /dev/null +++ b/easybuild/easyconfigs/p/Panedr/Panedr-0.7.0-foss-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Panedr' +version = '0.7.0' + +homepage = 'https://github.com/MDAnalysis/panedr' +description = """Panedr uses the Pyedr library to read a Gromacs EDR binary +energy XDR file and returns its contents as a pandas dataframe.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('pyedr', version, { + 'checksums': ['2906fa86950a519ada711520cb18aa3bb49df5d992473f0c7b5359ba226c7ac2'], + # remove references to out-of-tree files + 'preinstallopts': "sed -i '8,10d' setup.cfg && " + }), + ('panedr', version, { + 'checksums': ['ef1f3163cd88ff5d69f9aabc1e5850a47cc5325d8421e57510bfa7cae5956838'], + # remove references to out-of-tree files + 'preinstallopts': "sed -i '8,10d' setup.cfg && " + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.50.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.50.12-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2da3f6b7bf59 --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.50.12-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.50.12' + +homepage = 'https://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('X11', '20221110'), + ('GLib', '2.75.0'), + ('cairo', '1.17.4'), + ('HarfBuzz', '5.3.1'), + ('FriBidi', '1.0.12'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb new file mode 100644 index 000000000000..5b392db9c1f2 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning + unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the + functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and + large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way + graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f'] + +builddependencies = [('CMake', '3.24.3')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022b.eb new file mode 100644 index 000000000000..d5e24bd2bca7 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022b.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning + unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the + functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and + large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way + graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f'] + +builddependencies = [('CMake', '3.24.3')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.11.0-foss-2022b-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.0-foss-2022b-mpi.eb new file mode 100644 index 000000000000..8eed5565c1b5 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.0-foss-2022b-mpi.eb @@ -0,0 +1,58 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.11.0' +versionsuffix = '-mpi' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile=' +source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix] +sources = ["%(name)s-v%(version)s.tar.gz"] +checksums = ['68b1c6d15dd67ec442f964460c56212417e8af2a96763001f8548eb3cbc5ce87'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('XZ', '5.2.7'), + ('HDF5', '1.14.0'), + ('netCDF', '4.9.0'), + ('libGLU', '9.0.2'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('Qt5', '5.15.7'), + ('zlib', '1.2.12'), + ('FFmpeg', '5.1.2'), + ('Szip', '2.1.1'), +] + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', 'bin/pvpython'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['python -c "import paraview"'] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-intel-2021a-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-intel-2021a-mpi.eb new file mode 100644 index 000000000000..acf68e2e8cee --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-intel-2021a-mpi.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.9.1' +versionsuffix = '-mpi' + +homepage = "https://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile=' +source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix] +sources = ["%(name)s-v%(version)s.tar.gz"] +checksums = ['efbcba00ba38c23d0ada1bde7144a8745caa308d9e1f94a4a71d8af63732266f'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('XZ', '5.2.5'), + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('libGLU', '9.0.1'), + ('X11', '20210518'), + ('Mesa', '21.1.1'), + ('Qt5', '5.15.2'), + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('Szip', '2.1.1'), +] + +builddependencies = [('CMake', '3.20.1')] + +separate_build_dir = True + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', 'bin/pvpython'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['python -c "import paraview"'] + +modextrapaths = {'PYTHONPATH': ['lib64/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.33-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.33-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..6ed7f3fc9565 --- /dev/null +++ b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.33-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Parallel-Hashmap' +version = '1.33' + +homepage = 'https://github.com/greg7mdp/parallel-hashmap' +description = """Parallel Hashmap is built on a modified version of +Abseil's flat_hash_map. Parallel Hashmap has lower space requirements, +is nearly as fast as the underlying flat_hash_map, and can be used from +multiple threads with high levels of concurrency.""" + +# There is no actual library built, so it can be at GCCcore level despite being a C++ "library" +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'greg7mdp' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['f6e4d0508c4d935fa25dcbaec63fbe0d7503435797e275ec109e8a3f1462a4cd'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +configopts = '-DPHMAP_BUILD_TESTS=OFF' # The test code doesn't build + +sanity_check_paths = { + 'files': ['include/parallel_hashmap/phmap%s.h' % x for x in [ + '', '_base', '_bits', '_config', '_dump', '_fwd_decl', '_utils' + ]], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-gompi-2022a.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-gompi-2022a.eb new file mode 100644 index 000000000000..5b5cf9824c9e --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-gompi-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.5.10' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['fac694827c81434a7766976711ba7179940e361e8ed0c189c7b397fd44d401de'] + +separate_build_dir = True + +dependencies = [ + ('PnetCDF', '1.12.3'), + ('netCDF-Fortran', '4.6.0'), +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Doxygen', '1.9.4'), +] + +preconfigopts = "NETCDF_C=$EBROOTNETCDF NETCDF_F=$EBROOTNETCDFMINFORTRAN " +configopts = "-DPIO_ENABLE_TIMING=OFF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-iimpi-2022a.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-iimpi-2022a.eb new file mode 100644 index 000000000000..7bb4b93031d2 --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-iimpi-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.5.10' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['fac694827c81434a7766976711ba7179940e361e8ed0c189c7b397fd44d401de'] + +separate_build_dir = True + +dependencies = [ + ('PnetCDF', '1.12.3'), + ('netCDF-Fortran', '4.6.0'), +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Doxygen', '1.9.4'), +] + +preconfigopts = "NETCDF_C=$EBROOTNETCDF NETCDF_F=$EBROOTNETCDFMINFORTRAN " +configopts = "-DPIO_ENABLE_TIMING=OFF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/Parcels/Parcels-2.4.0-foss-2022a.eb b/easybuild/easyconfigs/p/Parcels/Parcels-2.4.0-foss-2022a.eb new file mode 100644 index 000000000000..9061cf7b2deb --- /dev/null +++ b/easybuild/easyconfigs/p/Parcels/Parcels-2.4.0-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'Parcels' +version = '2.4.0' + +homepage = 'http://www.oceanparcels.org/' +description = """Parcels (Probably A Really Computationally Efficient Lagrangian Simulator) is a +set of Python classes and methods to create customisable particle tracking +simulations using output from Ocean Circulation models. Parcels can be used to +track passive and active particulates such as water, plankton, plastic and +fish.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# dependencies of Parcels are not listed as install_requires +# taken from https://github.com/OceanParcels/parcels/blob/v%(version)s/environment_py3_linux.yml +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('dask', '2022.10.0'), + ('FFmpeg', '4.4.2'), + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), + ('netcdf4-python', '1.6.1'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('xarray', '2022.6.0'), + ('zarr', '2.13.3'), +] + +use_pip = True + +exts_list = [ + ('cgen', '2020.1', { + 'checksums': ['4ec99d0c832d9f95f5e51dd18a629ad50df0b5464ce557ef42c6e0cd9478bfcf'], + }), + ('pytools', '2022.1.13', { + 'checksums': ['c2f98359f6f281fb9d06136cdfb825a1984571598c8b437f8d6815ab80a04149'], + }), + ('pymbolic', '2022.2', { + 'checksums': ['f82776942bb3cb72329fa1f1aa2b68ec09f237db9178c95cfdc92a6aea7cec89'], + }), + ('pykdtree', '1.3.5', { + 'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'], + }), + ('parcels', version, { + 'checksums': ['221ce49b6cb5bb4996aa3c817c0de7f022c952a4d8cb4160ca7df7dd940714b5'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb index 515872cd4ae4..34e3a3e297dd 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.0-GCCcore-10.2.0.eb @@ -1796,6 +1796,11 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY/'], 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb index c06f75ac1bdc..82a1570fadde 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.32.1-GCCcore-10.3.0.eb @@ -402,10 +402,10 @@ exts_list = [ 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], }), ('Net::SSLeay', '1.90', { + 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", 'source_tmpl': 'Net-SSLeay-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHRISN'], 'checksums': ['f8696cfaca98234679efeedc288a9398fcf77176f1f515dbc589ada7c650dc93'], - 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", }), ('IO::Socket::SSL', '2.070', { 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', @@ -1767,6 +1767,21 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap::Fibonacci', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb index 596de0bad6ba..6f534c52ba2b 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 @@ -1819,6 +1819,26 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER/'], 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap::Fibonacci', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb index b998f1d93d04..1750e4abff03 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb @@ -110,47 +110,47 @@ exts_list = [ }), ('IPC::System::Simple', '1.30', { 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/J/JK/JKEENAN/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'], 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], }), ('Importer', '0.026', { 'source_tmpl': 'Importer-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], }), ('Term::Table', '0.016', { 'source_tmpl': 'Term-Table-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], }), ('Scope::Guard', '0.21', { 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/C/CH/CHOCOLATE/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/'], 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], }), ('Sub::Info', '0.002', { 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], }), ('Test2::Require::Module', '0.000145', { 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], 'checksums': ['ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b'], }), ('Test2::Plugin::NoWarnings', '0.09', { 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/D/DR/DROLSKY/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/'], 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], }), ('Class::Tiny', '1.008', { 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/D/DA/DAGOLDEN/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/'], 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], }), ('Test::File::ShareDir::Dist', '1.001002', { 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/K/KE/KENTNL/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL/'], 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], }), ('DateTime::Locale', '1.35', { @@ -210,12 +210,12 @@ exts_list = [ }), ('CPAN::Meta::Check', '0.014', { 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/L/LE/LEONT/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], 'checksums': ['28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f'], }), ('Test::Without::Module', '0.20', { 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/C/CO/CORION/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION/'], 'checksums': ['8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524'], }), ('DateTime', '1.58', { @@ -1051,7 +1051,7 @@ exts_list = [ }), ('Test::Needs', '0.002009', { 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/H/HA/HAARG/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], 'checksums': ['571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3'], }), ('HTTP::Daemon', '6.14', { @@ -1131,12 +1131,12 @@ exts_list = [ }), ('Module::Runtime::Conflicts', '0.003', { 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/ET/ETHER/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], }), ('Test::CleanNamespaces', '0.24', { 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/ET/ETHER/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], }), ('Moose', '2.2201', { @@ -1221,7 +1221,7 @@ exts_list = [ }), ('Test::More::UTF8', '0.05', { 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/M/MO/MONS/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS/'], 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], }), ('Text::Template', '1.60', { @@ -1231,17 +1231,17 @@ exts_list = [ }), ('PadWalker', '2.5', { 'source_tmpl': 'PadWalker-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/R/RO/ROBIN/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], }), ('Devel::Cycle', '1.12', { 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/L/LD/LDS/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS/'], 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], }), ('Test::Memory::Cycle', '1.06', { 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/P/PE/PETDANCE/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'], 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], }), ('PDF::API2', '2.043', { @@ -1301,12 +1301,12 @@ exts_list = [ }), ('Set::Object', '1.42', { 'source_tmpl': 'Set-Object-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/R/RU/RURBAN/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], }), ('Heap', '0.80', { 'source_tmpl': 'Heap-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/J/JM/JMM/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], }), ('Graph', '0.9725', { @@ -1376,7 +1376,7 @@ exts_list = [ }), ('Variable::Magic', '0.62', { 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/V/VP/VPIT/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT/'], 'checksums': ['3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c'], }), ('B::Hooks::EndOfScope', '0.26', { @@ -1934,6 +1934,16 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], }), + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb index 1424b9a1a56e..78044193927a 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb @@ -110,47 +110,47 @@ exts_list = [ }), ('IPC::System::Simple', '1.30', { 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/J/JK/JKEENAN'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], }), ('Importer', '0.026', { 'source_tmpl': 'Importer-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], }), ('Term::Table', '0.016', { 'source_tmpl': 'Term-Table-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], }), ('Scope::Guard', '0.21', { 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/C/CH/CHOCOLATE'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], }), ('Sub::Info', '0.002', { 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], }), ('Test2::Require::Module', '0.000145', { 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/EX/EXODIST'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], 'checksums': ['ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b'], }), ('Test2::Plugin::NoWarnings', '0.09', { 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/D/DR/DROLSKY'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], }), ('Class::Tiny', '1.008', { 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/D/DA/DAGOLDEN'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], }), ('Test::File::ShareDir::Dist', '1.001002', { 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/K/KE/KENTNL'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], }), ('DateTime::Locale', '1.36', { @@ -210,12 +210,12 @@ exts_list = [ }), ('CPAN::Meta::Check', '0.014', { 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/L/LE/LEONT/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], 'checksums': ['28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f'], }), ('Test::Without::Module', '0.20', { 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/C/CO/CORION/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION/'], 'checksums': ['8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524'], }), ('DateTime', '1.58', { @@ -1051,7 +1051,7 @@ exts_list = [ }), ('Test::Needs', '0.002009', { 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/H/HA/HAARG/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], 'checksums': ['571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3'], }), ('HTTP::Daemon', '6.14', { @@ -1131,12 +1131,12 @@ exts_list = [ }), ('Module::Runtime::Conflicts', '0.003', { 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/ET/ETHER/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], }), ('Test::CleanNamespaces', '0.24', { 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/E/ET/ETHER/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], }), ('Moose', '2.2201', { @@ -1221,7 +1221,7 @@ exts_list = [ }), ('Test::More::UTF8', '0.05', { 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/M/MO/MONS/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS/'], 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], }), ('Text::Template', '1.61', { @@ -1231,17 +1231,17 @@ exts_list = [ }), ('PadWalker', '2.5', { 'source_tmpl': 'PadWalker-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/R/RO/ROBIN/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], }), ('Devel::Cycle', '1.12', { 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/L/LD/LDS/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS/'], 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], }), ('Test::Memory::Cycle', '1.06', { 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/P/PE/PETDANCE/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'], 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], }), ('PDF::API2', '2.043', { @@ -1301,12 +1301,12 @@ exts_list = [ }), ('Set::Object', '1.42', { 'source_tmpl': 'Set-Object-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/R/RU/RURBAN/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], }), ('Heap', '0.80', { 'source_tmpl': 'Heap-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/J/JM/JMM/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], }), ('Graph', '0.9725', { @@ -1376,7 +1376,7 @@ exts_list = [ }), ('Variable::Magic', '0.62', { 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', - 'source_urls': ['https://www.cpan.org/authors/id/V/VP/VPIT/'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT/'], 'checksums': ['3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c'], }), ('B::Hooks::EndOfScope', '0.26', { diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb new file mode 100644 index 000000000000..c426d66b7eb6 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb @@ -0,0 +1,26 @@ +name = 'Perl' +version = '5.36.0' +versionsuffix = '-minimal' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +This is a minimal build without any modules. Should only be used for build dependencies. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6a7989e6d2a5 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb @@ -0,0 +1,1949 @@ +name = 'Perl' +version = '5.36.0' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = ['perl-%(version)s.tar.gz'] +checksums = ['e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a'] + +builddependencies = [ + ('binutils', '2.39'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), # for Net::SSLeay + ('expat', '2.4.9'), # for XML::Parser + ('ncurses', '6.3'), # for Term::ReadLine::Gnu + ('libreadline', '8.2'), # for Term::ReadLine::Gnu + ('DB', '18.1.40'), # for DB_File + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on 8 Sept 2022 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('File::Listing', '6.15', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['46c4fb9f9eb9635805e26b7ea55b54455e47302758a10ed2a0b92f392713770c'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.44', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Test::Fatal', '0.016', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7283d430f2ba2030b8cd979ae3039d3f1b2ec3dde1a11ca6ae09f992a66f788f'], + }), + ('Test::Warnings', '0.031', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1e542909fef305e45563e9878ea1c3b0c7cef1b28bb7ae07eba2e1efabec477b'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('File::ShareDir::Install', '0.14', { + 'source_tmpl': 'File-ShareDir-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.016', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000145', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b'], + }), + ('Test2::Plugin::NoWarnings', '0.09', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('DateTime::Locale', '1.36', { + 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['90a8243f2b2d4068019c65178600e76e03f5b478cb41d18c8c81cdf0d481f0a4'], + }), + ('DateTime::TimeZone', '2.53', { + 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['4f6e9ff86892a52334bfb8dfa74ebea6adb8afd04fefcba8ae52fc054c4c15b3'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('Module::Build', '0.4231', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Params::Validate', '1.30', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9a3a35583d3125d07e8c802c1f92f5be7d526e76dd496e944da270b1e273d812'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('Exporter::Tiny', '1.004000', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['7f7b3b4fbe923355317243cd434d2319ffbad81c98cf8c8e189a6943b42bfeca'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('CPAN::Meta::Check', '0.014', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], + 'checksums': ['28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f'], + }), + ('Test::Without::Module', '0.20', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION/'], + 'checksums': ['8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524'], + }), + ('DateTime', '1.58', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['00ee2a99d1cf1ae022eaf06b2cde600313d92a069e7ef9258a455a932a5fd90b'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.101', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['d2a32dd6c21e4b37c6a93df8087ca9e880cfae613a3e5efaea307b0bdcaedb58'], + }), + ('DBI', '1.643', { + 'source_tmpl': 'DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + }), + ('DBD::SQLite', '1.70', { + 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['40fd8ddf539e0e773a7a4e6d376794c3301459f9ab0050978bdcf97113dafe3e'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + }), + ('Test::Simple', '1.302191', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['a82f652bc4f2ef1ddcae99d04fc0f8924a35386066a2ab363aabf8372bc5a7ab'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.134', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['bacf429b18b7c0b22c088219055063e3902749531d488ebd7b17eab7757cd10b'], + }), + ('MIME::Types', '2.22', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['c2545eb30b094e942860ff8444f0f6cb54641caa8f7d386aaa2d925da4b02400'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.006', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['e618f993a69f4355205c58fffff6982609f28b47f646ec6e244e41b5c6707e2c'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Parser', '3.78', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['22564002f206af94c1dd8535f02b0d9735125d9ebe89dd0ff9cd6c000e29c29d'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('URI', '5.12', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + 'checksums': ['73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], + }), + ('Net::SSLeay', '1.92', { + 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", + 'source_tmpl': 'Net-SSLeay-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHRISN'], + 'checksums': ['47c2f2b300f2e7162d71d699f633dd6a35b0625a00cbda8c50ac01144a9396a9'], + }), + ('IO::Socket::SSL', '2.075', { + 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['c30ee2220b1e181a968ebbc81861d0cadf334b001377a44105ae5a8637ddae8c'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Getopt::Long', '2.52', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['9dc7a7c373353d5c05efae548e7b123aa8a31d1f506eb8dbbec8f0dca77705fa'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.22', { + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['62faf9a5b84235443fe18f780e69cecf057dea3de271d7d8a0ba72724458a1a2'], + }), + ('Test::Deep', '1.130', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['4064f494f5f62587d0ae501ca439105821ee5846c687dc6503233f55300a7c56'], + }), + ('Test::Warn', '0.37', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Moo', '2.005004', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.10', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['df8393e35e495a0839f06a63fb65d6922842c180d260554137728a9f092df9d3'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('IPC::Run', '20220807.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['277d781dbbc98af18e979c7ef36f222513d7361742c52507c3348b265f6f5e69'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('File::Remove', '1.61', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fd857f585908fc503461b9e48b3c8594e6535766bc14beb17c90ba58d5dc4975'], + }), + ('YAML::Tiny', '1.73', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['bc315fa12e8f1e3ee5e2f430d90b708a5dc7e47c867dba8dce3a6b8fbe257744'], + }), + ('Module::Install', '1.19', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1a53a78ddf3ab9e3c03fc5e354b436319a944cba4281baf0b904fa932a13011b'], + }), + ('Config::Tiny', '2.28', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['12df843a0d29d48f61bcc14c4f18f0858fd27a8dd829a00319529d654fe01500'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('Test::Most', '0.37', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['533370141eb9f18cf4ac380f6ded2ab57802a6e184008a80fd2304bfcc474fc7'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('Test::Differences', '0.69', { + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['18f644fdd4a1fef93ef3f7f67df8e95b593d811899f34bcbbaba4d717222f58f'], + }), + ('HTTP::Tiny', '0.082', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['54e9e4a559a92cbb90e3f19c8a88ff067ec2f68fbe39bbb694ee70828cd5f4b8'], + }), + ('Package::DeprecationManager', '0.17', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9929', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5056ed481ada4e0fa497096d4091b18658f214d862e1ed164edf10bc6b39c8b0'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.26', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0800', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['b04edeea26bfed435aa6029956798c281f7f52d4545f3f45b2ad44954e96f939'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('LWP::Simple', '6.67', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['96eec40a3fd0aa1bd834117be5eb21c438f73094d861a1a7e5774f0b1226b723'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.30', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['26bad65c1959c57379b3e139dc776fbec5f702906617ef27cdc293ddf1239231'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + 'checksums': ['82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('Exporter', '5.74', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eadb889ef673ad940da6aa4f6f7d75fc1e625ae786ae3533fd313eaf629945b8'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('XML::XPath', '1.48', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['7bc75be36b239e5b2e700a9570d2b53b43093d467f2abe6a743f9ff9093790cd'], + }), + ('JSON', '4.09', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['6780a51f438c0932eec0534fc9cd2b1ad0d64817eda4add8ede5ec77d6d2c991'], + }), + ('Sub::Exporter', '0.988', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['23324887d6c590f145702f077d8ca42f1b2f26a3b76f08d66c2c1e21e606040c'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Text::Balanced', '2.06', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['773e0f0f21c0cb2cf664cee6ba28ff70259babcc892f9b650f9cbda00be092ad'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['579c617e303b9d874411c7b61b46b59d36f815718625074ae6832e7bb9db5104'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.02', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['84120de3e10489ea8fbbb96411a340c32cafbe5cdff7dd9576b207081baa9d24'], + }), + ('Test::Output', '1.033', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['f6a8482740b075fad22aaf4d987d38ef927c6d2b452d4ae0d0bd8f779830556e'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('List::SomeUtils', '0.58', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d'], + }), + ('List::UtilsBy', '0.12', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['fff1281fd469fe982b1a58044becfd970f313bff3a26e1c7b2b3f4c0a5ed71e0'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('HTTP::Request', '6.37', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['0e59da0a85e248831327ebfba66796314cb69f1bfeeff7a9da44ad766d07d802'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Test::Needs', '0.002009', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3'], + }), + ('HTTP::Daemon', '6.14', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['f0767e7f3cbb80b21313c761f07ad8ed253bce9fa2d0ba806b3fb72d309b2e1d'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('HTTP::Date', '6.05', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + 'checksums': ['6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09'], + }), + ('Clone', '0.45', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['cbb6ee348afa95432e4878893b46752549e70dc68fe6d9e430d1d2e99079a9e6'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Moose', '2.2201', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cd5ff9b4751f73ecb6874ba9761343d35737d4ddf5ff6b19c00d01af5ffc3eb2'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('Data::OptList', '0.112', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.16', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS/'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.61', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['a295ea7d1ef241ae2640c1f7864b628f8e6f99ec14fb1da781b2f5f2168dcf09'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS/'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.043', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['6312f605172973fa4d017639c217b61b1a8d6c533237ce58d5aacecfa273f0b2'], + }), + ('Devel::CheckLib', '1.16', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca'], + }), + ('SVG', '2.87', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.56', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['47e08d63c9a940743308c8ba39fa51e4c15459c7d70acfc3b131b981f843a941'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('File::Path', '2.18', { + 'source_tmpl': 'File-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['980f0a17edb353df46e9cd7b357f9f5929cde0f80c45fd7a06cf7e0e8bd6addd'], + }), + ('File::Slurper', '0.013', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e2f6a4029a6a242d50054044f1fb86770b9b5cc4daeb1a967f91ffb42716a8c5'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9725', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['e75b0ecc9a7f62fd70f896b173d11c3fc00cdffd35c3e99286689d3ca2debefe'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.009', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ba82cf144820655d6d4836d12dde65f8895a3d905aeb4aa0b421249f43284c14'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.008', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e45a31d6914e8f5fc722ef48d8819400dafc02105e0c61414aabbf01bce208eb'], + }), + ('Getopt::Long::Descriptive', '0.110', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['025402c0494a5c878038f0666f41ca1230ed0d689467df9211382ff3a355be86'], + }), + ('App::Cmd', '0.334', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['22e31e0f8f7b8c4303ad62b0ab1f941fcf598ca6e3a146b7e482e5870d6d58d3'], + }), + ('Path::Tiny', '0.124', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['fa083144781e46817ec39d21962bbbb0533c201f3baf031d2999a785a2a013fd'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100054', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['eef61c9421688bb3a7beaca71623df11c8a749307ae428abdabc556e2bfafc3e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.62', { + 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT/'], + 'checksums': ['3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c'], + }), + ('B::Hooks::EndOfScope', '0.26', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('MooseX::Types::Perl', '0.101343', { + 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f084beaf3c33209c68d05d4dbc24c25d604a6458b9738d96dceb086c8ef1325a'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('Specio', '0.48', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2'], + }), + ('Params::ValidationCompiler', '0.30', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['dc5bee23383be42765073db284bed9fbd819d4705ad649c20b644452090d16cb'], + }), + ('Log::Dispatch', '2.70', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['a3d91cc52467d3a3c6683103f3df4472d71e405a45f553289448713ac4293f21'], + }), + ('String::Flogger', '1.101245', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b'], + }), + ('Log::Dispatchouli', '2.023', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ac41b9729b71439682b34dd2772b040b5adb9e1a611d30322c01f4608e0cf2'], + }), + ('Data::Section', '0.200007', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['cd937e5b70e34aab885ff414e2a6d19e4783b7c28fc3cda5145b230514ebb4de'], + }), + ('Software::License', '0.104002', { + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['a50c257995b2dc75acbe24b091b95a3144aa61188fef8baa84e29d4064cafd0f'], + }), + ('MooseX::SetOnce', '0.201', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f55734d9823cab6c77cace28406e6deafa16071d2f574d5c394060def1c07c87'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Config::MVP', '2.200012', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d8a6069be317a866d8041b1bb7cfafe34014f19743891f27a5e42a31b5c0ea75'], + }), + ('Throwable', '1.000', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['023aac67baad5b7bcdc08dc858ea5e6a8ddb0e291d15dd6d24818cdd702d318f'], + }), + ('Sub::Quote', '2.006006', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d'], + }), + ('Role::Identifiable::HasIdent', '0.008', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e2b145e97b2526cd2b4fd32c208787f292d3c3bedda5c7ad224fc53c3bf22d71'], + }), + ('Role::HasMessage', '0.006', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6a6dbe0476ff95ee1ffbef825eb18d9b02b0618deba4686e7c63b99d576d4d3'], + }), + ('MooseX::OneArgNew', '0.006', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9bd616fb00a03d28509f46b9a541f7eeb26211999d3941f403a2561921406630'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('Mixin::Linewise::Readers', '0.110', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['a7f120b7aa82dfb1a5ad1aa11abd33232b26a2b09c654e649e97a3c2128b1d8b'], + }), + ('Config::INI', '0.027', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['12eb8b7d43ab13db443b3c7110c8b70a264c19f78ff06ab8823e11f86a4f330e'], + }), + ('String::Truncate', '1.100602', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aaa3d4eec01136921484139133eb75d5c571fe51b0ad329f089e6d469a235f6e'], + }), + ('Pod::Eventual', '0.094002', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80194f3fe66dd8bd91282eb3610f5c7cac8dc5a0cd51a81c4d56a9ec18fea2bc'], + }), + ('Pod::Elemental', '0.103005', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['824336ec18326e3b970e7815922b3921b0a821d2ee0e50b0c5b2bc327f99615e'], + }), + ('Pod::Weaver', '4.018', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['8ca92ec948974023194197c058e33a98ad00a88561f5bf7fe672329227a910b7'], + }), + ('Dist::Zilla', '6.025', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['07798e270e5d904d1071e2b421309b732d0be7d682f4d9487945e815012726cc'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7046', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['3e8c9d9b44a7348f9acc917163dbfc15bd5ea72501492cea3a35b346440ff862'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Thread::Queue', '3.13', { + 'source_tmpl': 'Thread-Queue-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8'], + }), + ('Time::HiRes', '1.9764', { + 'source_tmpl': 'Time-HiRes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], + }), + ('Term::ReadLine::Gnu', '1.42', { + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['3c5f1281da2666777af0f34de0289564e6faa823aea54f3945c74c98e95a5e73'], + }), + ('ExtUtils::MakeMaker', '7.64', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['4a6ac575815c0413b1f58967043cc9f2e166446b73c687f9bc62b5eaed9464a0'], + }), + ('List::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Module::CoreList', '5.20220820', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['708effbbf04158b087d34d8acc707f35bdab9dccc61b41d432cb6d995d137f43'], + }), + ('Module::Metadata', '1.000037', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['8d5a74c1b07e145edda254602fedf19c0dd0c2d9688a370afdaff89c32cba629'], + }), + ('Params::Check', '0.38', { + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.43', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['65abe3f5363fa4cdc108f5ad9ce5ce91e7a39186a1b297bb7a06fa1b0f45d377'], + }), + ('Socket', '2.036', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['1cd8272bccde8098183a60a274b3eda0764cc6984db97f5474b28bebfe2c6b70'], + }), + ('Time::Local', '1.30', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c7744f6b2986b946d3e2cf034df371bee16cdbafe53e945abb1a542c4f8920cb'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.44', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['77effdf31af36ef656f09aa7c15356d238dab6d1afaa7278ae15c1b6bcf86266'], + }), + ('Pod::Man', '4.14', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['7af1c41de34b2e4dbff700a29d7387549c2b6cf16142214450c924707ddb0f82'], + }), + ('Mozilla::CA', '20211001', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABH'], + 'checksums': ['122c8900000a9d388aa8e44f911cab6c118fe8497417917a84a8ec183971b449'], + }), + ('Test::More', '1.302191', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['a82f652bc4f2ef1ddcae99d04fc0f8924a35386066a2ab363aabf8372bc5a7ab'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('LWP::Protocol::https', '6.10', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.238', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['38f58fdef3e28a194c9c8d0dc5d02672faf93c069f40c5bcb1fabeadbbc4d2d1'], + }), + ('Net::Domain', '3.14', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['153c8eb8ef0f19cf2c631d5b45d05de98516937f34e261125ef242fba1fe2ea4'], + }), + ('Scalar::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Text::ParseWords', '3.31', { + 'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['2ae555ba084d75b2b8feeeb8d1a00911276815ada86bccb1452236964d5a2fc7'], + }), + ('Encode', '3.19', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('Data::Dumper', '2.183', { + 'source_tmpl': 'Data-Dumper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e42736890b7dae1b37818d9c5efa1f1fdc52dec04f446a33a4819bf1d4ab5ad3'], + }), + ('Cwd', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.26', { + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('URI::Escape', '5.12', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.879', { + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['9c4cf39838b5c113448799af451b3d64b54e0de39d635536d7e85e8bdc5888dc'], + }), + ('Text::CSV_XS', '1.48', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['b72a2ed61c63561f6bfc1d5986a09f3ac252bdfda5c1c898b0b677641ce1e8bf'], + }), + ('DBD::CSV', '0.59', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['2a5fadd1d50c18ea023560d39c2cc660ae2a65fa99d9b8244edca7d2dcce9dc0'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN', '3.007', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['50cc4686dd21c9537b49a231d71711e814ebd2f19aa4ca331baf92ff2de5ce19'], + }), + ('Business::ISBN::Data', '20210112.006', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['98c2cfb266b5fdd016989abaa471d9dd4c1d593c508a6f01f66d184d5fee8bae'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('IO::Compress::Bzip2', '2.201', { + 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['f6c55c4e39cfaa3219965dd3b36c9de1edee9a82a10a9cadeb3b74a9ceeeaaad'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('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.013.1', { + 'source_tmpl': 'MIME-Charset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['1bb7a6e0c0d251f23d6e60bf84c9adefc5b74eec58475bfee4d39107e60870f0'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report', '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'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perseus/Perseus-2.0.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Perseus/Perseus-2.0.7.0-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..d6a5710e91d5 --- /dev/null +++ b/easybuild/easyconfigs/p/Perseus/Perseus-2.0.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'Tarball' + +name = 'Perseus' +version = '2.0.7.0' + +homepage = 'https://maxquant.org/perseus' +description = """The Perseus software platform supports biological and biomedical researchers + in interpreting protein quantification, interaction and post-translational modification data.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +download_instructions = """ +To download the Perseus source tarball, register at: + https://maxquant.org/download_asset/perseus/latest +You should receive a unique download URL via email. +""" + +sources = ['%(name)s_v%(version)s.zip'] +checksums = ['32418ff43c975762aaf4b2760ec1dd5c998e34188739d592f656fea296edb5c8'] + +dependencies = [('Mono', '6.12.0.122')] + +sanity_check_paths = { + 'files': ['%(name)s.exe', 'bin/%(name)sGui.exe'], + 'dirs': [], +} + +sanity_check_commands = [ + ("cat $EBROOTPERSEUS/ChangeLog.txt | grep -q %(version)s", ''), +] + +modaliases = { + 'perseus': 'mono $EBROOTPERSEUS/%(name)sGui.exe', +} + +modloadmsg = """ +To run Perseus in GUI mode: perseus +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PfamScan/PfamScan-1.6-gompi-2022a.eb b/easybuild/easyconfigs/p/PfamScan/PfamScan-1.6-gompi-2022a.eb new file mode 100644 index 000000000000..25cfa8d8237b --- /dev/null +++ b/easybuild/easyconfigs/p/PfamScan/PfamScan-1.6-gompi-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'PfamScan' +version = '1.6' + +homepage = 'https://www.ebi.ac.uk/seqdb/confluence/display/THD/PfamScan' +description = "PfamScan is used to search a FASTA sequence against a library of Pfam HMM." + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/databases/Pfam/Tools/'] +sources = [{'download_filename': '%(name)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['365c96bc150d5057349c3016d62667c58cb33afcfb6329457ae16ab5aae4f401'] + +builddependencies = [ + ('wget', '1.21.3'), # needed to fetch Pfam DB + ('gzip', '1.12'), # needed to decompress Pfam DB +] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('HMMER', '3.3.2'), +] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['pfam_scan.pl'], + 'dirs': ['Bio/Pfam'], +} + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +sanity_check_commands = [ + ('perl', '-e "use Bio::Pfam::Scan::PfamScan"'), + ('pfam_scan.pl', '--help'), +] + +# Download Pfam database (280 MB download, 1.5 GB on disk) +# _pfam_db_dir = '%(installdir)s/db' +# _pfam_db_url = 'https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release' +# postinstallcmds = [ +# "mkdir -p %s" % _pfam_db_dir, +# "wget -P %s %s/{Pfam-A.hmm.gz,Pfam-A.hmm.dat.gz,active_site.dat.gz}" % (_pfam_db_dir, _pfam_db_url), +# "gzip -d %s/*.gz" % _pfam_db_dir, +# "hmmpress %s/Pfam-A.hmm" % _pfam_db_dir, +# ] +# +# modloadmsg = """ +# Pfam database dir is located at %s +# """ % _pfam_db_dir + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Phenoflow/Phenoflow-1.1.2-20200917-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/Phenoflow/Phenoflow-1.1.2-20200917-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..e58ddd6ca7d1 --- /dev/null +++ b/easybuild/easyconfigs/p/Phenoflow/Phenoflow-1.1.2-20200917-foss-2022a-R-4.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'Phenoflow' +local_commit = 'c80f878' +version = '1.1.2-20200917' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/rprops/Phenoflow_package' +description = "R package offering functionality for the advanced analysis of microbial flow cytometry data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/rprops/Phenoflow_package/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['815d4d78bbeacf8f863eef51d446998e39728fd7bf471ba9df4b01b5c4140719'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('flowFDA', '0.99-20220602', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.3-foss-2022a.eb b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.3-foss-2022a.eb new file mode 100644 index 000000000000..3cca6b971e6a --- /dev/null +++ b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.3-foss-2022a.eb @@ -0,0 +1,55 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO +# update to v3.0.2 + +easyblock = 'PythonPackage' + +name = 'PhyloPhlAn' +version = '3.0.3' + +homepage = 'https://github.com/biobakery/phylophlan' +description = """ +PhyloPhlAn is an integrated pipeline for large-scale phylogenetic profiling of +genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method +for large-scale microbial genome characterization and phylogenetic analysis +at multiple levels of resolution. +""" + +source_urls = ['https://github.com/biobakery/%(namelower)s/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['d8d0082c95d58d7b11a60c1e2214b35c1a23a65675005f1393e7647d76c6a054'] + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.5.2'), + ('Seaborn', '0.12.1'), + ('FastTree', '2.1.11'), + ('IQ-TREE', '2.2.2.3'), + ('MUSCLE', '5.1.0'), + ('MAFFT', '7.505', '-with-extensions'), + ('SEPP', '4.5.1'), + ('trimAl', '1.4.1'), + ('BLAST+', '2.13.0'), + ('USEARCH', '11.0.667-i86linux32', '', SYSTEM), + ('DIAMOND', '2.1.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'phylophlan_metagenomic']], + 'dirs': ['lib'], +} +sanity_check_commands = [('%(namelower)s', '-h')] + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb index 0973b9770798..c430b0e2e0a3 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb @@ -21,7 +21,8 @@ dependencies = [ ('libpng', '1.6.37'), ('zlib', '1.2.12'), ('LibTIFF', '4.3.0'), - ('freetype', '2.12.1') + ('freetype', '2.12.1'), + ('libwebp', '1.2.4'), ] use_pip = True diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..1d53e76e7776 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.1.1' + +homepage = 'https://pillow.readthedocs.org/' +description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. + PIL is the Python Imaging Library by Fredrik Lundh and Contributors.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.11.0') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-9.2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.2.0-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..38e7492daf9f --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.2.0-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.2.0' + +homepage = 'https://pillow.readthedocs.org/' +description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. + PIL is the Python Imaging Library by Fredrik Lundh and Contributors.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = [ + '75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04', # Pillow-8.0.1.tar.gz +] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.1.0'), + ('freetype', '2.10.3') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-9.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.4.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..5060e93e3b2a --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.4.0' + +homepage = 'https://pillow.readthedocs.org/' +description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. + PIL is the Python Imaging Library by Fredrik Lundh and Contributors.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a1c2d7780448eb93fbcc3789bf3916aa5720d942e37945f4056680317f1cd23e'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('LibTIFF', '4.4.0'), + ('freetype', '2.12.1') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.3.0.eb b/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.3.0.eb new file mode 100644 index 000000000000..798e6828551b --- /dev/null +++ b/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +## + +easyblock = 'CmdCp' + +name = 'Pindel' +# no official release provided for version 0.2.5b9 (20160729), +# therefore, pull last commit (20170508) to this version from master repo +version = '0.2.5b9-20170508' +_commit = 'b706fba61' + +homepage = 'http://gmt.genome.wustl.edu/packages/pindel/' +description = """ Pindel can detect breakpoints of large deletions, medium sized + insertions, inversions, tandem duplications and other structural variants at single-based + resolution from next-gen sequence data. It uses a pattern growth approach to identify the + breakpoints of these variants from paired-end short reads. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'genome' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = ['%(name)s-%(version)s_fix-ambig-abs-compil-err.patch'] +checksums = [ + {'Pindel-0.2.5b9-20170508.tar.gz': 'd626260986270efce5a947d03785781c8fddfc922f41279cf9d4bd504c4e3690'}, + {'Pindel-0.2.5b9-20170508_fix-ambig-abs-compil-err.patch': + '216ae1145fd1568ac2187a89bf4b95c45d5c02272047a3dd5f9dfbede26c8fec'}, +] + +dependencies = [ + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12') +] + +cmds_map = [('.*', "./INSTALL ${EBROOTHTSLIB}")] + +_exes = ['pindel', 'sam2pindel', 'pindel2vcf', 'bam2pindel.pl', 'Adaptor.pm'] +files_to_copy = [(_exes, 'bin'), "demo", "test", "README.md"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _exes], + 'dirs': ['demo', 'test'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.19.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.19.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..565dc4060318 --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.19.2-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Pint' +version = '0.19.2' + +homepage = 'https://github.com/hgrecco/pint' +description = """Pint is a Python package to define, operate and +manipulate physical quantities: the product of a numerical value and a +unit of measurement. It allows arithmetic operations between them and +conversions from and to different units.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e1d4989ff510b378dad64f91711e7bdabe5ca78d75b06a18569ac454678c4baf'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-iimpi-2022a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-iimpi-2022a.eb new file mode 100644 index 000000000000..e1cc4ae8c35e --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-iimpi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.3' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'iimpi', 'version': '2022a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['439e359d09bb93d0e58a6e3f928f39c2eae965b6c97f64e67cd42220d6034f77'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.34.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..b637b6577632 --- /dev/null +++ b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'PythonPackage' + +name = 'Porechop' +version = '0.2.4' + +homepage = 'https://github.com/rrwick/Porechop' +description = """Porechop is a tool for finding and removing adapters from Oxford Nanopore reads. + Adapters on the ends of reads are trimmed off, and when a read has an adapter in its middle, + it is treated as chimeric and chopped into separate reads. Porechop performs thorough alignments + to effectively find adapters, even at low sequence identity""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/rrwick/Porechop/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['44b499157d933be43f702cec198d1d693dcb9276e3c545669be63c2612493299'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-15.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..14b35601d98d --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-15.2-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '15.2' + +homepage = 'https://www.postgresql.org/' +description = """PostgreSQL is a powerful, open source object-relational database system. + It is fully ACID compliant, has full support for foreign keys, + joins, views, triggers, and stored procedures (in multiple languages). + It includes most SQL:2008 data types, including INTEGER, + NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. + It also supports storage of binary large objects, including pictures, + sounds, or video. It has native programming interfaces for C/C++, Java, + .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['eccd208f3e7412ad7bc4c648ecc87e0aa514e02c24a48f71bf9e46910bf284ca'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Perl', '5.36.0'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl' + +sanity_check_paths = { + 'files': ['bin/psql', 'bin/pg_config', 'lib/libpq.a', 'lib/libpq.%s' % SHLIB_EXT], + 'dirs': ['share/postgresql'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb b/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb index 024b9525d9f1..ba0297f5e078 100644 --- a/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb @@ -37,7 +37,7 @@ sanity_check_paths = { } sanity_check_commands = [ - ("profit HELP 2>&1 | grep 'Syntax: ProFit \[-h\] \[-f \] \[ \]'", ''), + (r"profit HELP 2>&1 | grep 'Syntax: ProFit \[-h\] \[-f \] \[ \]'", ''), ] modextravars = {'HELPDIR': '%(installdir)s'} diff --git a/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.2.3-gompi-2021b.eb b/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.2.3-gompi-2021b.eb new file mode 100644 index 000000000000..524a8a0e657b --- /dev/null +++ b/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.2.3-gompi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Proteinortho' +version = '6.2.3' + +homepage = 'https://www.bioinf.uni-leipzig.de/Software/proteinortho' +description = "Proteinortho is a tool to detect orthologous genes within different species." + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://gitlab.com/paulklemm_PHD/proteinortho/-/archive/v%(version)s/'] +sources = ['proteinortho-v%(version)s.tar.gz'] +checksums = ['23079b3106deb41eab4a9123ea4744e9d05ab99e286184e617628fc243718dff'] + +dependencies = [ + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('BLAST+', '2.12.0'), + ('DIAMOND', '2.0.13'), +] + +skipsteps = ['configure'] + +preinstallopts = "mkdir -p %(installdir)s/bin && " +installopts = "PREFIX=%(installdir)s/bin" + +sanity_check_paths = { + 'files': ['bin/proteinortho', 'bin/proteinortho%(version_major)s.pl', 'bin/proteinortho_clustering'], + 'dirs': [], +} + +sanity_check_commands = ["proteinortho --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PsiCLASS/PsiCLASS-1.0.3-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PsiCLASS/PsiCLASS-1.0.3-GCC-11.2.0.eb new file mode 100644 index 000000000000..5a1c4f1c964c --- /dev/null +++ b/easybuild/easyconfigs/p/PsiCLASS/PsiCLASS-1.0.3-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +# author: Denis Kristak (INUITS) +easyblock = 'MakeCp' + +name = 'PsiCLASS' +version = '1.0.3' + +homepage = 'https://github.com/splicebox/PsiCLASS' +description = """PsiCLASS is a reference-based transcriptome assembler for single or multiple RNA-seq samples.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/splicebox/PsiCLASS/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c60c0f33f9a076b97ccdba68b9140a5fb6936a5c5e309d70b3d0cf558828f73d'] + +parallel = 1 + +files_to_copy = ['*'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['classes', 'grader', 'psiclass'], + 'dirs': [], +} + +sanity_check_commands = [ + 'psiclass -b $EBROOTPSICLASS/example/s1.bam,$EBROOTPSICLASS/example/s2.bam' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022a.eb b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022a.eb new file mode 100644 index 000000000000..1d3ffa473d14 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022a.eb @@ -0,0 +1,38 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'PyBerny' +version = '0.6.3' + +homepage = 'https://github.com/jhrmnn/pyberny' +description = """PyBerny is an optimizer of molecular geometries with respect to the total energy, +using nuclear gradient information.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('pyberny', version, { + 'modulename': 'berny', + 'checksums': ['b4bd9d3d2d58261e8f1d91b8204cc563617044d4b9daf6aae8feee31893cb336'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/berny'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["berny -h"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb b/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb new file mode 100644 index 000000000000..baca3530e30b --- /dev/null +++ b/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb @@ -0,0 +1,20 @@ +easyblock = 'Tarball' + +name = 'PyCharm' +version = "2022.3.2" + +homepage = 'https://www.jetbrains.com/pycharm/' +description = """PyCharm Community Edition: Python IDE for Professional Developers""" + +toolchain = SYSTEM + +source_urls = ['https://download-cf.jetbrains.com/python'] +sources = ['pycharm-community-%(version)s.tar.gz'] +checksums = ['0ae72d1931a6effbeb2329f6e5c35859d933798a494479f066ef0a7b2be6b553'] + +sanity_check_paths = { + 'files': ["bin/pycharm.sh"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022a.eb b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022a.eb new file mode 100644 index 000000000000..ed3cf0c39be6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'PyCheMPS2' +version = '1.8.12' + +homepage = 'https://sebwouters.github.io/CheMPS2' +description = """PyCheMPS2 is a python interface to CheMPS2, for compilation without +MPI. CheMPS2 is a scientific library which contains a spin-adapted +implementation of the density matrix renormalization group (DMRG) +for ab initio quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('CheMPS2', version), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'source_urls': ['https://github.com/SebWouters/CheMPS2/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['eef1b92d74ac07fde58c043f64e8cac02b5400c209c44dcbb51641f86e0c7c83'], + 'install_src': './%(name)s', + }), +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyDamage/PyDamage-0.70-foss-2021a.eb b/easybuild/easyconfigs/p/PyDamage/PyDamage-0.70-foss-2021a.eb new file mode 100644 index 000000000000..c2ff6ff71da0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyDamage/PyDamage-0.70-foss-2021a.eb @@ -0,0 +1,54 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'PyDamage' +version = '0.70' + +homepage = 'https://github.com/maxibor/pydamage' +description = """Pydamage, is a Python software to automate the process of +contig damage identification and estimation. After modelling the ancient DNA +damage using the C to T transitions, Pydamage uses a likelihood ratio test +to discriminate between truly ancient, and modern contigs originating from +sample contamination.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('Pysam', '0.16.0.1'), + ('statsmodels', '0.12.2'), + ('matplotlib', '3.4.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('kneed', '0.7.0', { + 'checksums': ['340d67fa183a72b0afae19846dd246a6fb7204e8d54243d8b8d3d9932f887c6e'], + }), + ('pydamage', '0.70', { + 'checksums': ['1dcd6ebae431f758c9434785c668351f82926847f9eda76413e96b7481138d78'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pydamage'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pydamage --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyImageJ/PyImageJ-1.3.1-foss-2021a.eb b/easybuild/easyconfigs/p/PyImageJ/PyImageJ-1.3.1-foss-2021a.eb new file mode 100644 index 000000000000..d1e6fb65e8a3 --- /dev/null +++ b/easybuild/easyconfigs/p/PyImageJ/PyImageJ-1.3.1-foss-2021a.eb @@ -0,0 +1,60 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'PyImageJ' +version = '1.3.1' + +homepage = "https://pyimagej.readthedocs.io/" +description = """PyImageJ provides a set of wrapper functions for integration between ImageJ2 and Python. It also + supports the original ImageJ API and data structures. A major advantage of this approach is the ability to combine + ImageJ and ImageJ2 with other tools available from the Python software ecosystem, including NumPy, SciPy, + scikit-image, CellProfiler, OpenCV, ITK and many more.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Java', '11', '', SYSTEM), + ('Maven', '3.6.3', '', SYSTEM), + ('matplotlib', '3.4.2'), + ('Pillow', '8.2.0'), + ('scikit-image', '0.18.3'), + ('SciPy-bundle', '2021.05'), + ('xarray', '0.19.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('setuptools', '61.3.1', { + 'checksums': ['88fafba4abc2f047e08a188fd4bbc10b0e464592c37b514c19f8f8f88d94450b'], + }), + ('imglyb', '2.0.1', { + 'checksums': ['ace14759bb4201e4b1b93ff4c4aa2c90e87e0bb22095160e205792be89fee929'], + }), + ('jgo', '1.0.5', { + 'checksums': ['48cfab8ec880692d93b22c42e0239f4792c009461c121c15549c456c6a6a4eb6'], + }), + ('JPype1', '1.4.1', { + 'modulename': 'jpype', + 'checksums': ['dc8ee854073474ad79ae168d90c2f6893854f58936cfa18f3587cadae0d3696d'], + }), + ('labeling', '0.1.13', { + 'checksums': ['908d5c247d75d368422c15d0b1efcb3b9d322d0c51cf436865bfb75ce5c829f4'], + }), + ('scyjava', '1.8.1', { + 'checksums': ['de94bf2f1569af0c5c41f38eade53930ae3d17dc584eed712fac6494a7f20efc'], + }), + (name, version, { + 'modulename': 'imagej', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['1328c1b380315a1feff7a42c558dc85a37964a6cd7cc2e5688ec0ce54bf3ac0a'], + }), +] + +sanity_check_commands = [ + """python -c 'import imagej; ij = imagej.init("2.5.0", mode="headless"); print(ij.getVersion())'""" +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyMOL/PyMOL-2.5.0-foss-2020b.eb b/easybuild/easyconfigs/p/PyMOL/PyMOL-2.5.0-foss-2020b.eb new file mode 100644 index 000000000000..c96cc51c1800 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMOL/PyMOL-2.5.0-foss-2020b.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'PyMOL' +version = '2.5.0' + +homepage = 'https://github.com/schrodinger/pymol-open-source' +description = """ +PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D +visualization of proteins, small molecules, density, surfaces, and trajectories. +It also includes molecular editing, ray tracing, and movies. Open Source PyMOL +is free to everyone! +""" + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyQt5', '5.15.1'), + ('glew', '2.1.0'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.10'), + ('freetype', '2.10.3'), + ('GLM', '0.9.9.8'), + ('netCDF', '4.7.4'), + ('Tkinter', '%(pyver)s'), +] + +toolchain = {'name': 'foss', 'version': '2020b'} + +use_pip = False +sanity_pip_check = True + +exts_list = [ + ('Pmw', '2.0.1', { + 'modulename': 'Pmw', + 'source_tmpl': '8bedfc8747e7757c1048bc5e11899d1163717a43.zip', + 'source_urls': ['https://github.com/schrodinger/pmw-patched/archive/'], + 'checksums': ['db1ab4ee1020023ad814bb24c74f6361fb72e1011871911f7d37bb6ecf6c79ed'], + }), + (name, version, { + 'buildopts': '--use-msgpackc=no', + 'installopts': '--use-msgpackc=no', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ["https://github.com/schrodinger/pymol-open-source/archive/refs/tags/"], + 'checksums': ['aa828bf5719bd9a14510118a93182a6e0cadc03a574ba1e327e1e9780a0e80b3'], + }), +] + +modextravars = {'PYMOL_PATH': 'lib/python%(pyshortver)s/site-packages/pymol/pymol_path'} + +sanity_check_paths = { + 'files': ['bin/pymol'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..202415c4bdc6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenGL' +version = '3.1.6' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + + +builddependencies = [ + ('binutils', '2.38'), + ('bzip2', '1.0.8'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Mesa', '22.0.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'OpenGL', + 'checksums': ['8ea6c8773927eda7405bffc6f5bb93be81569a7b05c8cac50cd94e969dce5e27'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb index b04ed87846ee..775d1c1a6e62 100644 --- a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb @@ -19,20 +19,28 @@ dependencies = [ default_easyblock = 'PythonPackage' +local_sipdir = '%(installdir)s/share/sip' 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_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " 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 += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir local_pyqtweb_configopts += "--no-stubs --no-dist-info" +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + 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], @@ -63,10 +71,10 @@ components = [ 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], - 'easyblock': 'Binary', + 'easyblock': 'ConfigureMakePythonPackage', 'start_dir': '%(name)s-%(version)s', - 'skipsteps': ['configure', 'build'], - 'install_cmd': local_setup_env + local_pyqt5_sip_install, + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts }), ('PyQtWebEngine', version, { @@ -82,13 +90,18 @@ components = [ ] sanity_check_paths = { - 'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip-wheel'], + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], 'dirs': ['lib/python%(pyshortver)s/site-packages'], } sanity_check_commands = [ "python -c 'import PyQt5.QtCore'", "sip-wheel --help", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", ] modextrapaths = { diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb index 54c02ccf1914..01de04b02086 100644 --- a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb @@ -18,15 +18,26 @@ dependencies = [ default_easyblock = 'PythonPackage' +local_sipdir = '%(installdir)s/share/sip' + 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_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " 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 += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir local_pyqtweb_configopts += "--no-stubs --no-dist-info" +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + 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' @@ -57,10 +68,10 @@ components = [ 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], - 'easyblock': 'Binary', + 'easyblock': 'ConfigureMakePythonPackage', 'start_dir': '%(name)s-%(version)s', - 'skipsteps': ['configure', 'build'], - 'install_cmd': local_setup_env + local_pyqt5_sip_install, + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts }), ('PyQtWebEngine', version, { 'source_urls': [PYPI_SOURCE], @@ -75,13 +86,17 @@ components = [ ] sanity_check_paths = { - 'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip5'], + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], 'dirs': ['lib/python%(pyshortver)s/site-packages'], } sanity_check_commands = [ "python -c 'import PyQt5.QtCore'", "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", ] modextrapaths = { 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 index 186141973332..cc175935b12c 100644 --- 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 @@ -18,15 +18,26 @@ dependencies = [ default_easyblock = 'PythonPackage' +local_sipdir = '%(installdir)s/share/sip' + 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_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " 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 += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir local_pyqtweb_configopts += "--no-stubs --no-dist-info" +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + 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' @@ -57,10 +68,10 @@ components = [ 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], - 'easyblock': 'Binary', + 'easyblock': 'ConfigureMakePythonPackage', 'start_dir': '%(name)s-%(version)s', - 'skipsteps': ['configure', 'build'], - 'install_cmd': local_setup_env + local_pyqt5_sip_install, + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts }), ('PyQtWebEngine', version, { 'source_urls': [PYPI_SOURCE], @@ -75,13 +86,17 @@ components = [ ] sanity_check_paths = { - 'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip5'], + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], 'dirs': ['lib/python%(pyshortver)s/site-packages'], } sanity_check_commands = [ "python -c 'import PyQt5.QtCore'", "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", ] modextrapaths = { diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..11986d885346 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb @@ -0,0 +1,108 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.5' + +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.3.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [('binutils', '2.38')] +dependencies = [ + ('Python', '3.10.4'), + ('Qt5', '5.15.5'), +] + +default_easyblock = 'PythonPackage' + +local_sipdir = '%(installdir)s/share/sip' + +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 " + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + +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.11.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['40f6df88c00e6aa9ac9a8bc5688f9fe2a4bd56c06cdb0a0b00ce8955ec34ffe5'], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + }), + ('PyQt5_sip', '12.11.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39'], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['b411b7a8fa03901c9feb1dcbac7ea1fc3ce20b9ae682762b777cd5398749ca2b'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts + }), + ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['ab47608dccf2b5e4b950d5a3cc704b17711af035024d07a9b71ad29fc103b941'], + '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/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", + "pip check", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb b/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb new file mode 100644 index 000000000000..cf0c6a26ccc9 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMakeCp' + +name = 'PySCF' +version = '1.7.6' + +homepage = 'http://www.pyscf.org' +description = "PySCF is an open-source collection of electronic structure modules powered by Python." + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://github.com/pyscf/pyscf/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1805819557cf78fb5938a2141a429c74dabb3ba664b60420032584d7a876c2ab'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy, scipy + ('h5py', '3.2.1'), + ('libcint', '4.4.0'), + ('libxc', '5.1.5'), + ('XCFun', '2.1.1'), +] + +start_dir = 'pyscf/lib' + +separate_build_dir = True + +configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF" + +prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && " + +files_to_copy = ['pyscf'] + +sanity_check_paths = { + 'files': ['pyscf/__init__.py'], + 'dirs': ['pyscf/data', 'pyscf/lib'], +} + +sanity_check_commands = ["python -c 'import pyscf'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb new file mode 100644 index 000000000000..1d1b787c750c --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb @@ -0,0 +1,141 @@ +easyblock = 'CMakeMakeCp' +name = 'PySCF' +version = '2.1.1' + +homepage = 'http://www.pyscf.org' +description = "PySCF is an open-source collection of electronic structure modules powered by Python." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pyscf/pyscf/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['814240aa73f57ba96aee8264e3914c09f96ebdce1e42784da4b5e9a474ecb280'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pybind11', '2.9.2'), # needed by zquatev +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy, scipy + ('h5py', '3.7.0'), + ('libcint', '5.1.6'), + ('libxc', '5.2.3'), + ('XCFun', '2.1.1'), + ('CPPE', '0.3.1'), # extra + ('PyBerny', '0.6.3'), # extra + ('PyCheMPS2', '1.8.12'), # needed by dmrgscf + ('Block', '1.5.3-20200525'), # needed by dmrgscf + ('NECI', '20220711'), # needed by fciqmc + ('Dice', '20221025'), # needed by icmpspt +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'modulename': 'pyscf.%(name)s', + 'source_urls': ['https://github.com/pyscf/%(name)s/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], +} + +# The following list of extensions is equivalent to installing PySCF with extras: +# all + dmrgscf + fciqmcscf + hci + mbd + tblis + zquatev +exts_list = [ + # extensions in 'all' extra + ('dftd3', 'd214021', { + 'checksums': ['6616e7f28a90ca00c3def30dd22c4580f5b555af5c61fec2cb09cc6dd4e7bbff'], + }), + ('doci', '08079a9', { + 'checksums': ['f492ba45dfe50c9b459e53a946a677528af0dc2097ff77ea3767aa4f46c5d9ba'], + }), + ('icmpspt', 'f26062b', { + 'patches': [('PySCF-2.1.1_icmpspt-exe-path.patch', 0)], + 'checksums': [ + {'icmpspt-f26062b.tar.gz': '8f44b317da209882e0353d2731d8bc907de450af02429e962ae9b8d3f8c95a47'}, + {'PySCF-2.1.1_icmpspt-exe-path.patch': 'e972e377b34b964c48a99909301bf21a9c73d8eb9ecb96a889621d71471c56c9'}, + ], + }), + ('properties', '92a4df7', { + 'modulename': 'pyscf.prop', + 'checksums': ['df5456315855c7a4f5858b244461793f2cbc21f6a6c0328039838ad85913c79d'], + }), + ('qsdopt', '3ad2c02', { + 'checksums': ['cc639150e5f9efad8ffe496b3dccd2952a1f60fdad51f611cffba701892b384e'], + }), + ('semiempirical', '327d65e', { + 'checksums': ['4d0016a321c91ace2f1c18e4001df3f6c8de9c96602c391353102b6ad4e14076'], + }), + ('shciscf', 'dd398d2', { + 'checksums': ['96032337e8877478d410f2edd8490d267a8b6ddb8fad6152b201f4da912fd694'], + }), + ('MCfun', '1a9ae31', { + 'modulename': 'mcfun', + 'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'], + 'checksums': ['482397f0c964f27ff15687e4b56554c51e0f249e2ad5b96fd1d6cb8a2f7f2c72'], + }), + ('pyqmc', '0.5.0', { + 'modulename': 'pyqmc', + 'source_urls': ['https://github.com/WagnerGroup/%(name)s/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ecda2045577dc3b48149d5e92c88ce19d60b8c2a2e2c1705542c176973f5e1c8'], + }), + # extensions on top of 'all' extra + ('dmrgscf', '4ff57bf', { + 'patches': [('PySCF-2.1.1_dmrgscf-settings.patch', 0)], + 'checksums': [ + {'dmrgscf-4ff57bf.tar.gz': '0683cfc2e6676aa11da7b2eee66e96442a64a37b72f65057779718c5fdb43c5f'}, + {'PySCF-2.1.1_dmrgscf-settings.patch': 'a0310a2a90e96bd64d1560b2cc73a805717e129d2921e91cc5e6038b9f153677'}, + ], + }), + ('fciqmc', 'c7c30bb', { + 'modulename': 'pyscf.fciqmcscf', + 'patches': [('PySCF-2.1.1_fciqmc-settings.patch', 0)], + 'checksums': [ + {'fciqmc-c7c30bb.tar.gz': 'dfa613df36a49d7a7f1d2ff7ab7646a38adbb01c9af05d4ea7e3bcff495d8f57'}, + {'PySCF-2.1.1_fciqmc-settings.patch': 'd9faa98e62957a5b47435343a986612b27aa9fc744a201ed3beb63919dc63427'}, + ], + }), + ('mbd', '485c18c', { + 'patches': [('PySCF-2.1.1_mbd-fix-init.patch', 0)], + 'checksums': [ + {'mbd-485c18c.tar.gz': 'de1fb14650fcb87909cae33dc318d2e213653ac4393ced7e070dfa6308d95846'}, + {'PySCF-2.1.1_mbd-fix-init.patch': '4f8e4b2e39b77428187851c4b6ced39401561bc81f4f3a4605da5d5c7b798cbc'}, + ], + }), + ('naive-hci', '0c28d6e', { + 'modulename': 'pyscf.hci', + 'checksums': ['de247d17b80133655df5966341e5adb691b0df150cd9b0f1980cf62ec55229d5'], + }), + ('tblis', 'a1efbc0', { + 'modulename': 'pyscf.tblis_einsum', + 'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'], + 'checksums': ['55fea57bfee2cf8aef577d8d2adc1f273aa39e3ee5e6cfc2442ccc3b5353a847'], + }), + ('zquatev', '4eb41b1', { + 'modulename': 'zquatev', + 'source_urls': ['https://github.com/sunqm/%(name)s/archive/'], + 'checksums': ['4caf08e3831a5d86e6bc22f3b4028cc159101cb9658d09de16e382e268a5a2e9'], + # use pybind11 from EB + 'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ", + }), +] + +start_dir = 'pyscf/lib' +configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF" +prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && " + +_py_site_packages = 'lib/python%(pyshortver)s/site-packages' +files_to_copy = [(['pyscf'], _py_site_packages)] + +sanity_check_paths = { + 'files': [_py_site_packages + '/pyscf/__init__.py'], + 'dirs': [_py_site_packages + d for d in ['/pyscf/data', '/pyscf/lib']], +} + +sanity_check_commands = ["python -c 'import pyscf'"] + +modextrapaths = {'PYTHONPATH': _py_site_packages} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_dmrgscf-settings.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_dmrgscf-settings.patch new file mode 100644 index 000000000000..b48812d258bb --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_dmrgscf-settings.patch @@ -0,0 +1,26 @@ +Add settings file for pyscf.dmrgscf using EasyBuild environment +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru pyscf.orig/dmrgscf/settings.py pyscf/dmrgscf/settings.py +--- pyscf.orig/dmrgscf/settings.py 1970-01-01 01:00:00.000000000 +0100 ++++ pyscf/dmrgscf/settings.py 2022-11-22 01:43:28.836971000 +0100 +@@ -0,0 +1,20 @@ ++# ++# This file sets the environment using EasyBuild packages ++# The configs will be used in dmrgci.py and chemps2.py ++# ++ ++import os ++from glob import glob ++from pyscf import lib ++ ++# Use Block as the FCI solver for CASSCF ++BLOCKEXE = os.path.join(os.getenv('EBROOTBLOCK'), 'bin', 'block.spin_adapted') ++BLOCKEXE_COMPRESS_NEVPT = os.path.join(os.getenv('EBROOTBLOCK'), 'bin', 'block.spin_adaptedi-serial') ++BLOCKSCRATCHDIR = os.path.join(lib.param.TMPDIR, str(os.getpid())) ++BLOCKRUNTIMEDIR = str(os.getpid()) ++MPIPREFIX = 'mpirun' # change to srun for SLURM job system ++BLOCKVERSION = '1.5.3' ++ ++# Use ChemPS2 as the FCI solver for CASSCF ++pychemps2_root = os.getenv('EBROOTPYCHEMPS2') ++PYCHEMPS2BIN = glob(os.path.join(pychemps2_root, 'lib', 'python3*', 'site-packages', 'PyCheMPS2.*.so'))[0] diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_fciqmc-settings.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_fciqmc-settings.patch new file mode 100644 index 000000000000..267f7b138456 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_fciqmc-settings.patch @@ -0,0 +1,15 @@ +Add settings file for pyscf.fciqmc using EasyBuild environment +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru pyscf.orig/fciqmcscf/settings.py pyscf/fciqmcscf/settings.py +--- pyscf.orig/fciqmcscf/settings.py 1970-01-01 01:00:00.000000000 +0100 ++++ pyscf/fciqmcscf/settings.py 2022-11-24 21:16:33.554298000 +0100 +@@ -0,0 +1,9 @@ ++# ++# This file sets the environment using EasyBuild packages ++# The configs will be used in fciqmc.py ++# ++ ++import os ++ ++# Use NECI (FCIQMC) as the FCI sovler for CASSCF ++FCIQMCEXE = os.path.join(os.getenv('EBROOTNECI'), 'bin', 'neci') diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_icmpspt-exe-path.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_icmpspt-exe-path.patch new file mode 100644 index 000000000000..109daa2a3c2d --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_icmpspt-exe-path.patch @@ -0,0 +1,27 @@ +Fix numpy data types and use ICPT binary from Dice in EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +--- pyscf/icmpspt/icmpspt.py.orig 2022-11-25 01:00:16.277514709 +0100 ++++ pyscf/icmpspt/icmpspt.py 2022-11-24 21:38:23.700229771 +0100 +@@ -43,7 +43,7 @@ + from pyscf import tools + import sys + +-float_precision = numpy.dtype('Float64') ++float_precision = numpy.dtype('float64') + mpiprefix="" + executable="/projects/bamu3429/softwares/icpt_test/icpt" + executable="/projects/bamu3429/softwares/icpt/icpt.big" +--- pyscf/icmpspt/icmpspt.py.orig 2022-11-25 01:00:16.277514709 +0100 ++++ pyscf/icmpspt/icmpspt.py 2022-11-25 01:03:20.021383507 +0100 +@@ -45,10 +45,7 @@ + + float_precision = numpy.dtype('Float64') + mpiprefix="" +-executable="/projects/bamu3429/softwares/icpt_test/icpt" +-executable="/projects/bamu3429/softwares/icpt/icpt.big" +-executable="/projects/bamu3429/softwares/icpt/icpt" +-#executable="/projects/bamu3429/softwares/icpt_before_me/icpt" ++executable=os.path.join(os.getenv('EBROOTDICE'), 'bin', 'ICPT') + if not os.path.isfile(executable): + msg = ('MPSLCC executable %s not found. Please specify "executable" in %s' + % (executable, __file__)) diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_mbd-fix-init.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_mbd-fix-init.patch new file mode 100644 index 000000000000..a1a5338cd952 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_mbd-fix-init.patch @@ -0,0 +1,21 @@ +Set version of pyscf/mbd extension and fix imports on init +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru pyscf.orig/mbd/__init__.py pyscf/mbd/__init__.py +--- pyscf.orig/mbd/__init__.py 2022-11-25 02:03:32.583625000 +0100 ++++ pyscf/mbd/__init__.py 2022-11-25 02:04:11.959827000 +0100 +@@ -12,4 +12,6 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++__version__ = '0.0.1' ++ + from .mbd import mbd_rsscs, bohr +diff -Nru pyscf.orig/mbd/__init__.py pyscf/mbd/__init__.py +--- pyscf.orig/mbd/__init__.py 2022-11-25 02:16:14.580180000 +0100 ++++ pyscf/mbd/__init__.py 2022-11-25 02:16:26.123674000 +0100 +@@ -14,4 +14,4 @@ + + __version__ = '0.0.1' + +-from .mbd import mbd_rsscs, bohr ++from .mbd import mbd_rsscs diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb new file mode 100644 index 000000000000..a6378b7de69f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb @@ -0,0 +1,74 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.8.0' + +homepage = 'https://www.pytables.org' +description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope + with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the + NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical + parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, + processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and + disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions + such as relational or object oriented databases.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numexpr + ('HDF5', '1.12.2'), + ('LZO', '2.10'), + ('Blosc', '1.21.3'), + ('Blosc2', '2.6.1'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('blosc2', '2.0.0', { + 'patches': ['blosc2-2.0.0_use-Blosc2-dep.patch'], + 'checksums': [ + {'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'}, + {'blosc2-2.0.0_use-Blosc2-dep.patch': '6a9443f378472ada3c8fe8a8a346fe16f22b01bab7d9e60c23b64b546178054b'}, + ], + }), + ('tables', version, { + 'patches': [ + 'PyTables-%(version)s_fix-libs.patch', + 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', + ], + 'checksums': [ + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': + 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, + ], + }), +] + +local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'tables'} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-find-blosc2-library-path.patch b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-find-blosc2-library-path.patch new file mode 100644 index 000000000000..7849b1888d58 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-find-blosc2-library-path.patch @@ -0,0 +1,44 @@ +determine location to Blosc2 library via $EBROOTBLOSC2, if defined, +since mechanism to locate the library via blosc2-*.dist-info/RECORD doesn't work if blosc2 was not installed +with vendored c-blosc2 library; +author: Kenneth Hoste (HPC-UGent) +--- tables-3.8.0/setup.py.orig 2023-01-19 20:10:15.637759755 +0100 ++++ tables-3.8.0/setup.py 2023-01-19 20:11:48.590853686 +0100 +@@ -110,19 +110,25 @@ + + def get_blosc2_directories(): + """Get Blosc2 directories for the C library by using wheel metadata""" +- try: +- import blosc2 +- except ModuleNotFoundError: +- raise EnvironmentError("Cannot import the blosc2 requirement") +- version = blosc2.__version__ +- basepath = Path(os.path.dirname(blosc2.__file__)) +- recinfo = basepath.parent / f'blosc2-{version}.dist-info' / 'RECORD' + library_path = None +- for line in open(recinfo): +- if 'libblosc2' in line: +- library_path = Path(os.path.abspath(basepath.parent / +- Path(line[:line.find('libblosc2')]))) +- break ++ blosc2_root = os.getenv('EBROOTBLOSC2') ++ if blosc2_root: ++ library_path = Path(os.path.join(blosc2_root, 'lib')) ++ else: ++ try: ++ import blosc2 ++ except ModuleNotFoundError: ++ raise EnvironmentError("Cannot import the blosc2 requirement") ++ version = blosc2.__version__ ++ basepath = Path(os.path.dirname(blosc2.__file__)) ++ recinfo = basepath.parent / f'blosc2-{version}.dist-info' / 'RECORD' ++ library_path = None ++ for line in open(recinfo): ++ if 'libblosc2' in line: ++ library_path = Path(os.path.abspath(basepath.parent / ++ Path(line[:line.find('libblosc2')]))) ++ break ++ + if not library_path: + raise NotADirectoryError("Library directory not found for blosc2!") + diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-libs.patch b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-libs.patch new file mode 100644 index 000000000000..8ffa99933b7a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-libs.patch @@ -0,0 +1,15 @@ +# pyTables expects that LIBS is a list of library names and will add +# a -l by itself. +# original patch by ward.poelmans@ugent.be, ported to newer PyTables version by Kenneth Hoste (HPC-UGent) +--- PyTables-3.8.0/setup.py.orig 2023-01-11 19:14:27.160064110 +0100 ++++ PyTables-3.8.0/setup.py 2023-01-11 19:21:48.460252182 +0100 +@@ -576,6 +576,9 @@ + # is not a good idea. + CFLAGS = os.environ.get("CFLAGS", "").split() + LIBS = os.environ.get("LIBS", "").split() ++ for idx, lib in enumerate(LIBS): ++ if lib.startswith("-l"): ++ LIBS[idx] = lib.replace("-l", "") + CONDA_PREFIX = os.environ.get("CONDA_PREFIX", "") + # We start using pkg-config since some distributions are putting HDF5 + # (and possibly other libraries) in exotic locations. See issue #442. diff --git a/easybuild/easyconfigs/p/PyTables/blosc2-2.0.0_use-Blosc2-dep.patch b/easybuild/easyconfigs/p/PyTables/blosc2-2.0.0_use-Blosc2-dep.patch new file mode 100644 index 000000000000..9629c33f0ebb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/blosc2-2.0.0_use-Blosc2-dep.patch @@ -0,0 +1,24 @@ +make blosc2 use provided Blosc2 dependency, rather than letting it build its own vendored copy of c-blosc2 +author: Kenneth Hoste (HPC-UGent) +--- blosc2-2.0.0/blosc2/CMakeLists.txt.orig 2023-01-19 13:20:38.055582814 +0100 ++++ blosc2-2.0.0/blosc2/CMakeLists.txt 2023-01-19 13:21:03.808615093 +0100 +@@ -7,17 +7,14 @@ + set(BUILD_FUZZERS OFF CACHE BOOL "Build C-Blosc2 fuzzers") + + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +-# we want the binaries of the C-Blosc2 library to go into the wheels +-set(BLOSC_INSTALL ON) +-add_subdirectory(c-blosc2) +-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/c-blosc2/include") ++include_directories("$ENV{EBROOTBLOSC2}/include") + include_directories("${Python_NumPy_INCLUDE_DIRS}") + + + add_cython_target(blosc2_ext blosc2_ext.pyx) + add_library(blosc2_ext MODULE ${blosc2_ext}) + +-target_link_libraries(blosc2_ext blosc2_static) ++target_link_libraries(blosc2_ext $ENV{EBROOTBLOSC2}/lib/libblosc2.a) + + python_extension_module(blosc2_ext) + diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2021a-PyTorch-1.12.1-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2021a-PyTorch-1.12.1-CUDA-11.3.1.eb new file mode 100644 index 000000000000..27fbf46a6064 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2021a-PyTorch-1.12.1-CUDA-11.3.1.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.1.0' +local_pytorchver = '1.12.1' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)s' % local_pytorchver + +homepage = 'https://github.com/rusty1s/pytorch_geometric' +description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('PyTorch', local_pytorchver, '-CUDA-%(cudaver)s'), + ('scikit-learn', '0.24.2'), + ('scikit-image', '0.18.3'), + ('numba', '0.53.1'), + ('h5py', '3.2.1'), + ('tqdm', '4.61.2'), + ('RDFlib', '6.2.0'), + ('ASE', '3.22.0'), + ('YACS', '0.1.8'), +] + +use_pip = True + +exts_list = [ + ('googledrivedownloader', '0.4', { + 'modulename': 'google_drive_downloader', + 'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'], + }), + ('plyfile', '0.7.4', { + 'checksums': ['9e9a18d22a3158fcd74df38761d43a7facc6df75126f2ab9f4e9a5d4d2188652'], + }), + ('torch_scatter', version, { + 'checksums': ['3a7124c2a033552febbdc72407f7d4d8cb6dce465720e84ab831512e81c1d208'], + }), + ('torch_sparse', '0.6.15', { + 'checksums': ['3a741ae8a7cc19247a44de549fa4d593c4257b5f741e1eb5110b712a14209dd9'], + }), + ('torch_cluster', '1.6.0', { + 'checksums': ['249c1bd8c33a887b22bf569a59d0868545804032123594dd8c76ba1885859c39'], + }), + ('torch_spline_conv', '1.2.1', { + 'checksums': ['364f658e0ecb4c5263a728c2961553e022fc44c11a633d5a1bf986cf169ab438'], + }), + ('python-louvain', '0.16', { + 'modulename': 'community.community_louvain', + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + }), + ('torch_geometric', version, { + 'checksums': ['72653deca925885e4d613eb5c72268bb9710325d9c717516922499fbe1197079'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.9-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.9-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..7d26121c6cfd --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.9-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Ignite' +version = '0.4.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch-ignite.ai/' +description = """ +Ignite is a high-level library to help with training and evaluating neural +networks in PyTorch flexibly and transparently.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), +] + +exts_list = [ + ('pytorch-ignite', version, { + 'modulename': 'ignite', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'checksums': ['eb9711012c6052e076beec5c47de55a3f861a0fae760c4de684e7971acf38964'], + }), +] + +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..faf2e40814c4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,123 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.8.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.3'), + ('BeautifulSoup', '4.10.0'), + ('deepdiff', '5.8.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), + ('tensorboardX', '2.5.1'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.5.1', { + 'checksums': ['63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('starlette', '0.19.1', { + 'checksums': ['c6d21096774ecb9639acad41b86b7706e52ba3bf1dc13ea4ed9ad593d47e24c7'], + }), + ('fastapi', '0.79.1', { + 'checksums': ['006862dec0f0f5683ac21fb0864af2ff12a931e7ba18920f28cc8eceed51896b'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('lightning_cloud', '0.5.12', { + 'checksums': ['5b0cf53ecfb512f9476eec3a7f425c0e174ca9d0e726673605d5e1e57074eb0c'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '1.3.0', { + 'checksums': ['8d3b509d4e6d235655f7dd495fcf0afc1bd86da84de3a8d434e6f82137ebcde8'], + }), + ('fsspec', '2022.7.1', { + 'checksums': ['7f9fb19d811b027b97c4636c6073eb53bc4cbee2d3c4b33fa88b9f26906fd7d7'], + }), + ('croniter', '1.3.8', { + 'checksums': ['32a5ec04e97ec0837bcdf013767abd2e71cceeefd3c2e14c804098ce51ad6cd9'], + }), + ('traitlets', '5.2.0', { + 'checksums': ['60474f39bf1d39a11e0233090b99af3acee93bbc2281777e61dd8c87da8a0014'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('lightning-utilities', '0.4.2', { + 'checksums': ['dc6696ab180117f7e97b5488dac1d77765ab891022f7521a97a39e10d362bdb8'], + }), + ('blessed', '1.19.1', { + 'checksums': ['9a0d099695bf621d4680dd6c73f6ad547f6a3442fbdbe80c4b1daa1edbc492fc'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.3', { + 'checksums': ['1d920d0e9ab76ec5d42192a68d15af2562663b5dfbf4a67cf9eba520e1ca57e6'], + }), + ('inquirer', '2.10.1', { + 'checksums': ['e9876258183e24f6e8c44136b04f6f2e18dd6684aee59b86a8057c50601a6523'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.24.21', { + 'checksums': ['7e976cfd0a61601e74624ef8f5246b40a01f2cce73a011ef29cf80a6e371d0fa'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('aiobotocore', '2.3.4', { + 'checksums': ['6554ebea5764f66f4be544a4fcaa0953ee80e600dd7bd818ba4893d72bf12bfb'], + }), + ('s3fs', '2022.7.1', { + 'checksums': ['4883d682cb96b769fca568dbbcaa33ff457ac8077a03af221e6f253adac05771'], + }), + ('torchmetrics', '0.9.3', { + 'checksums': ['4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f'], + }), + ('pytorch-lightning', version, { + 'checksums': ['c2771f966fc1b909cdfd1d603a87b8c84a3d5ff7aacf35b2c0260f697ec0c8be'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a.eb new file mode 100644 index 000000000000..2a62146958f6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a.eb @@ -0,0 +1,121 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.8.4' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.3'), + ('BeautifulSoup', '4.10.0'), + ('deepdiff', '5.8.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), + ('tensorboardX', '2.5.1'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.5.1', { + 'checksums': ['63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('starlette', '0.19.1', { + 'checksums': ['c6d21096774ecb9639acad41b86b7706e52ba3bf1dc13ea4ed9ad593d47e24c7'], + }), + ('fastapi', '0.79.1', { + 'checksums': ['006862dec0f0f5683ac21fb0864af2ff12a931e7ba18920f28cc8eceed51896b'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('lightning_cloud', '0.5.12', { + 'checksums': ['5b0cf53ecfb512f9476eec3a7f425c0e174ca9d0e726673605d5e1e57074eb0c'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '1.3.0', { + 'checksums': ['8d3b509d4e6d235655f7dd495fcf0afc1bd86da84de3a8d434e6f82137ebcde8'], + }), + ('fsspec', '2022.7.1', { + 'checksums': ['7f9fb19d811b027b97c4636c6073eb53bc4cbee2d3c4b33fa88b9f26906fd7d7'], + }), + ('croniter', '1.3.8', { + 'checksums': ['32a5ec04e97ec0837bcdf013767abd2e71cceeefd3c2e14c804098ce51ad6cd9'], + }), + ('traitlets', '5.2.0', { + 'checksums': ['60474f39bf1d39a11e0233090b99af3acee93bbc2281777e61dd8c87da8a0014'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('lightning-utilities', '0.4.2', { + 'checksums': ['dc6696ab180117f7e97b5488dac1d77765ab891022f7521a97a39e10d362bdb8'], + }), + ('blessed', '1.19.1', { + 'checksums': ['9a0d099695bf621d4680dd6c73f6ad547f6a3442fbdbe80c4b1daa1edbc492fc'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.3', { + 'checksums': ['1d920d0e9ab76ec5d42192a68d15af2562663b5dfbf4a67cf9eba520e1ca57e6'], + }), + ('inquirer', '2.10.1', { + 'checksums': ['e9876258183e24f6e8c44136b04f6f2e18dd6684aee59b86a8057c50601a6523'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.24.21', { + 'checksums': ['7e976cfd0a61601e74624ef8f5246b40a01f2cce73a011ef29cf80a6e371d0fa'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('aiobotocore', '2.3.4', { + 'checksums': ['6554ebea5764f66f4be544a4fcaa0953ee80e600dd7bd818ba4893d72bf12bfb'], + }), + ('s3fs', '2022.7.1', { + 'checksums': ['4883d682cb96b769fca568dbbcaa33ff457ac8077a03af221e6f253adac05771'], + }), + ('torchmetrics', '0.9.3', { + 'checksums': ['4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f'], + }), + ('pytorch-lightning', version, { + 'checksums': ['c2771f966fc1b909cdfd1d603a87b8c84a3d5ff7aacf35b2c0260f697ec0c8be'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb index 3dedead0354d..33304aa7d22f 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb @@ -8,15 +8,9 @@ PyTorch is a deep learning framework that puts Python first.""" toolchain = {'name': 'foss', 'version': '2021a'} -sources = [{ - 'filename': '%(name)s-%(version)s.tar.gz', - 'git_config': { - 'url': 'https://github.com/pytorch', - 'repo_name': 'pytorch', - 'tag': 'v%(version)s', - 'recursive': True, - }, -}] +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + patches = [ 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', 'PyTorch-1.7.0_disable-dev-shm-test.patch', @@ -24,18 +18,27 @@ patches = [ 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', - 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch', 'PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch', - 'PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch', + 'PyTorch-1.10.0_fix-faulty-asserts.patch', + 'PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-missing-VSX-dispatch.patch', 'PyTorch-1.10.0_fix-test-cond-cpu.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', 'PyTorch-1.10.0_fix-vnni-detection.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', 'PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch', + 'PyTorch-1.10.0_remove-vec-dump-functions.patch', + 'PyTorch-1.10.0_skip_cmake_rpath.patch', 'PyTorch-1.10.0_skip_failing_ops_tests.patch', 'PyTorch-1.10.0_skip_nan_tests_openblas.patch', - 'PyTorch-1.10.0_skip_cmake_rpath.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', ] checksums = [ - None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + '1970225700d1f9791eb553855ad3c22e7c9fd69cff2765d532506b33e449831e', # pytorch-v1.10.0.tar.gz 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch @@ -45,24 +48,42 @@ checksums = [ '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', - # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch - '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch + '0c8bf4b284c5c2cb4d175645d44bed674cca5218de741a8ea698cef2884a86da', # PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch '426c9ead1a74b656748d4c8bf8afd4303d8b9f2394ad22b21a845d07c8ca1d12', - # PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch - '67152215e4530a9b1d7349fb20864445fd815288f04ab9e96e45c73b2d87827a', + # PyTorch-1.10.0_fix-faulty-asserts.patch + '44d2bb998ec3b3b65659f3327894745888a58f957a191cb524b4003018db51a2', + # PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch + 'dfc09c2e787e757191a0ebf68ace46e2a90d71263ba84e2ee764b596d2ee6769', + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-missing-VSX-dispatch.patch + '29368e69e98cb16659a2043b7a0df0411c99bc57a70405f8b5300f68c25f3ee9', # PyTorch-1.10.0_fix-test-cond-cpu.patch '51f83f5d5ef69656ef35b73f17e0671e70113798421be11ea4c7b56ffcc4da03', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', # PyTorch-1.10.0_fix-vnni-detection.patch '1f3664c0febfa2a3fc4c0cd3bae185f289716ac0b6c3d7e8fa1cee19ba62b7cc', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', # PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch 'e65afb01786f7f030ccb5faada1eb474bb0c418bcadcf1baaa71a4fa2f3f4240', + # PyTorch-1.10.0_remove-vec-dump-functions.patch + '5e796c83f74e77aa193fef2720a7a41e3e0eb39df726a6f0a2a1c55d37d8fcc8', + # PyTorch-1.10.0_skip_cmake_rpath.patch + 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', # PyTorch-1.10.0_skip_failing_ops_tests.patch '399af94ffcef4a6db5226552c46f11e9b0f0f371b2d7924b9e5764d2281581ab', # PyTorch-1.10.0_skip_nan_tests_openblas.patch '7d3f83e3056d9e47a460790313238f28708beb596cafaa7ae55e374d368bbedf', - # PyTorch-1.10.0_skip_cmake_rpath.patch - 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb index c05632ab43ff..208a35c065af 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb @@ -7,32 +7,35 @@ PyTorch is a deep learning framework that puts Python first.""" toolchain = {'name': 'foss', 'version': '2021a'} -sources = [{ - 'filename': '%(name)s-%(version)s.tar.gz', - 'git_config': { - 'url': 'https://github.com/pytorch', - 'repo_name': 'pytorch', - 'tag': 'v%(version)s', - 'recursive': True, - }, -}] +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + patches = [ 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', 'PyTorch-1.7.0_disable-dev-shm-test.patch', 'PyTorch-1.7.1_correctly-pass-jit_opt_level.patch', 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', - 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch', 'PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch', - 'PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch', + 'PyTorch-1.10.0_fix-faulty-asserts.patch', + 'PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-missing-VSX-dispatch.patch', 'PyTorch-1.10.0_fix-test-cond-cpu.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', 'PyTorch-1.10.0_fix-vnni-detection.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', 'PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch', + 'PyTorch-1.10.0_remove-vec-dump-functions.patch', 'PyTorch-1.10.0_skip_failing_ops_tests.patch', 'PyTorch-1.10.0_skip_nan_tests_openblas.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', ] checksums = [ - None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + '1970225700d1f9791eb553855ad3c22e7c9fd69cff2765d532506b33e449831e', # pytorch-v1.10.0.tar.gz 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch @@ -41,22 +44,40 @@ checksums = [ '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', - # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch - '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch + '0c8bf4b284c5c2cb4d175645d44bed674cca5218de741a8ea698cef2884a86da', # PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch '426c9ead1a74b656748d4c8bf8afd4303d8b9f2394ad22b21a845d07c8ca1d12', - # PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch - '67152215e4530a9b1d7349fb20864445fd815288f04ab9e96e45c73b2d87827a', + # PyTorch-1.10.0_fix-faulty-asserts.patch + '44d2bb998ec3b3b65659f3327894745888a58f957a191cb524b4003018db51a2', + # PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch + 'dfc09c2e787e757191a0ebf68ace46e2a90d71263ba84e2ee764b596d2ee6769', + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-missing-VSX-dispatch.patch + '29368e69e98cb16659a2043b7a0df0411c99bc57a70405f8b5300f68c25f3ee9', # PyTorch-1.10.0_fix-test-cond-cpu.patch '51f83f5d5ef69656ef35b73f17e0671e70113798421be11ea4c7b56ffcc4da03', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', # PyTorch-1.10.0_fix-vnni-detection.patch '1f3664c0febfa2a3fc4c0cd3bae185f289716ac0b6c3d7e8fa1cee19ba62b7cc', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', # PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch 'e65afb01786f7f030ccb5faada1eb474bb0c418bcadcf1baaa71a4fa2f3f4240', + # PyTorch-1.10.0_remove-vec-dump-functions.patch + '5e796c83f74e77aa193fef2720a7a41e3e0eb39df726a6f0a2a1c55d37d8fcc8', # PyTorch-1.10.0_skip_failing_ops_tests.patch '399af94ffcef4a6db5226552c46f11e9b0f0f371b2d7924b9e5764d2281581ab', # PyTorch-1.10.0_skip_nan_tests_openblas.patch '7d3f83e3056d9e47a460790313238f28708beb596cafaa7ae55e374d368bbedf', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb index 938b94c4f938..ffbf98f586c5 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb @@ -7,15 +7,9 @@ PyTorch is a deep learning framework that puts Python first.""" toolchain = {'name': 'fosscuda', 'version': '2020b'} -sources = [{ - 'filename': '%(name)s-%(version)s.tar.gz', - 'git_config': { - 'url': 'https://github.com/pytorch', - 'repo_name': 'pytorch', - 'tag': 'v%(version)s', - 'recursive': True, - }, -}] +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + patches = [ 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', 'PyTorch-1.7.0_disable-dev-shm-test.patch', @@ -23,18 +17,27 @@ patches = [ 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', - 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch', 'PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch', - 'PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch', + 'PyTorch-1.10.0_fix-faulty-asserts.patch', + 'PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-missing-VSX-dispatch.patch', 'PyTorch-1.10.0_fix-test-cond-cpu.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', 'PyTorch-1.10.0_fix-vnni-detection.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', 'PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch', + 'PyTorch-1.10.0_remove-vec-dump-functions.patch', + 'PyTorch-1.10.0_skip_cmake_rpath.patch', 'PyTorch-1.10.0_skip_failing_ops_tests.patch', 'PyTorch-1.10.0_skip_nan_tests_openblas.patch', - 'PyTorch-1.10.0_skip_cmake_rpath.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', ] checksums = [ - None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + '1970225700d1f9791eb553855ad3c22e7c9fd69cff2765d532506b33e449831e', # pytorch-v1.10.0.tar.gz 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch @@ -44,24 +47,42 @@ checksums = [ '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', - # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch - '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch + '0c8bf4b284c5c2cb4d175645d44bed674cca5218de741a8ea698cef2884a86da', # PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch '426c9ead1a74b656748d4c8bf8afd4303d8b9f2394ad22b21a845d07c8ca1d12', - # PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch - '67152215e4530a9b1d7349fb20864445fd815288f04ab9e96e45c73b2d87827a', + # PyTorch-1.10.0_fix-faulty-asserts.patch + '44d2bb998ec3b3b65659f3327894745888a58f957a191cb524b4003018db51a2', + # PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch + 'dfc09c2e787e757191a0ebf68ace46e2a90d71263ba84e2ee764b596d2ee6769', + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-missing-VSX-dispatch.patch + '29368e69e98cb16659a2043b7a0df0411c99bc57a70405f8b5300f68c25f3ee9', # PyTorch-1.10.0_fix-test-cond-cpu.patch '51f83f5d5ef69656ef35b73f17e0671e70113798421be11ea4c7b56ffcc4da03', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', # PyTorch-1.10.0_fix-vnni-detection.patch '1f3664c0febfa2a3fc4c0cd3bae185f289716ac0b6c3d7e8fa1cee19ba62b7cc', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', # PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch 'e65afb01786f7f030ccb5faada1eb474bb0c418bcadcf1baaa71a4fa2f3f4240', + # PyTorch-1.10.0_remove-vec-dump-functions.patch + '5e796c83f74e77aa193fef2720a7a41e3e0eb39df726a6f0a2a1c55d37d8fcc8', + # PyTorch-1.10.0_skip_cmake_rpath.patch + 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', # PyTorch-1.10.0_skip_failing_ops_tests.patch '399af94ffcef4a6db5226552c46f11e9b0f0f371b2d7924b9e5764d2281581ab', # PyTorch-1.10.0_skip_nan_tests_openblas.patch '7d3f83e3056d9e47a460790313238f28708beb596cafaa7ae55e374d368bbedf', - # PyTorch-1.10.0_skip_cmake_rpath.patch - 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', ] osdependencies = [OS_PKG_IBVERBS_DEV] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch new file mode 100644 index 000000000000..8e74d538e621 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch @@ -0,0 +1,116 @@ +Fix missing `vec_scalar_t` on PPC during compilation. + +From https://github.com/pytorch/pytorch/pull/67331 + +From: Nikita Shulga +Date: Wed, 27 Oct 2021 08:04:08 -0700 +Subject: [PATCH] Add dummy bfloat16 VSX implementation + +Just a copy of DEFAULT bfloat16 implementation and revert restriction +introduced by https://github.com/pytorch/pytorch/pull/61630 + +Fixes https://github.com/pytorch/pytorch/issues/66867 and https://github.com/pytorch/pytorch/issues/62016 +--- + aten/src/ATen/cpu/vec/functional.h | 2 - + .../cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h | 54 +++++++++++++++++++ + .../cpu/vec/vec256/vsx/vec256_common_vsx.h | 6 +++ + 3 files changed, 60 insertions(+), 2 deletions(-) + create mode 100644 aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h + +diff --git a/aten/src/ATen/cpu/vec/functional.h b/aten/src/ATen/cpu/vec/functional.h +index 210ae9e9e883..388b3170d5b5 100644 +--- a/aten/src/ATen/cpu/vec/functional.h ++++ b/aten/src/ATen/cpu/vec/functional.h +@@ -1,6 +1,4 @@ + #pragma once + + #include +-#if !defined(__VSX__) || !defined(CPU_CAPABILITY_VSX) + #include +-#endif +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h +new file mode 100644 +index 000000000000..ee8ca997a20e +--- /dev/null ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h +@@ -0,0 +1,54 @@ ++#pragma once ++ ++#include ++#include ++#include ++namespace at { ++namespace vec { ++// See Note [Acceptable use of anonymous namespace in header] ++namespace { ++ ++inline std::tuple, Vectorized> convert_bfloat16_float( ++ const Vectorized& a) { ++ constexpr int64_t K = Vectorized::size(); ++ __at_align__ float arr[K]; ++ __at_align__ BFloat16 arr2[K]; ++ a.store(arr2); ++ convert(arr2, arr, K); ++ return std::make_tuple( ++ Vectorized::loadu(arr), ++ Vectorized::loadu(arr + Vectorized::size())); ++} ++ ++inline Vectorized convert_float_bfloat16( ++ const Vectorized& a, ++ const Vectorized& b) { ++ constexpr int64_t K = Vectorized::size(); ++ __at_align__ float arr[K]; ++ __at_align__ BFloat16 arr2[K]; ++ a.store(arr); ++ b.store(arr + Vectorized::size()); ++ convert(arr, arr2, K); ++ return Vectorized::loadu(arr2); ++} ++ ++void load_fp32_from_bf16(const c10::BFloat16* data, Vectorized& out) { ++ __at_align__ float values[Vectorized::size()]; ++ for (int k = 0; k < Vectorized::size(); ++k) { ++ values[k] = data[k]; ++ } ++ out = Vectorized::loadu(values); ++} ++ ++C10_UNUSED void load_fp32_from_bf16( ++ const c10::BFloat16* data, ++ Vectorized& out1, ++ Vectorized& out2) { ++ load_fp32_from_bf16(data, out1); ++ data += Vectorized::size(); ++ load_fp32_from_bf16(data, out2); ++} ++ ++} // namespace ++} // namespace vec ++} // namespace at +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h +index 3d798a7f6268..b06f6a4bd1b5 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h +@@ -3,6 +3,8 @@ + #include + #include + #include ++ ++// Note: header order is important here + #include + #include + #include +@@ -11,8 +13,12 @@ + #include + #include + #include ++ + #include + #include ++ ++#include ++ + namespace at { + namespace vec { + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts.patch similarity index 88% rename from easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch rename to easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts.patch index eab07090d2ab..1ba71564df77 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts-and-skip-test.patch +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts.patch @@ -1,6 +1,6 @@ From: Alexander Grund Date: Tue, 18 May 2021 15:08:41 +0200 -Subject: [PATCH 1/2] Fix usage of TORCH_INTERNAL_ASSERT with message +Subject: Fix usage of TORCH_INTERNAL_ASSERT with message Using only a string as the argument for TORCH_INTERNAL_ASSERT will never trigger a failure as a string is always a truethy value. @@ -8,11 +8,6 @@ This hides actual bugs and makes users and devs think all worked while it did not. Change to use TORCH_INTERNAL_ASSERT(false, "msg") -Subject: [PATCH 2/2] Add missing skip decorator for -test_preserve_bundled_inputs_methods - -This test uses optimize_for_mobile which requires NNPACK to work - diff --git a/aten/src/ATen/native/BinaryOps.cpp b/aten/src/ATen/native/BinaryOps.cpp index c4edadb03e..e889cd03a8 100644 --- a/aten/src/ATen/native/BinaryOps.cpp @@ -83,20 +78,6 @@ index 6de646acfe..66341c959d 100644 } for (int i = num_output_channels; i < num_output_channels_padded; ++i) { weight_scales_data[i] = 1.f; -diff --git a/test/test_mobile_optimizer.py b/test/test_mobile_optimizer.py -index 11ef019a26..7b5ac1a239 100644 ---- a/test/test_mobile_optimizer.py -+++ b/test/test_mobile_optimizer.py -@@ -269,6 +269,9 @@ class TestOptimizer(TestCase): - bi_module_lint_list = generate_mobile_module_lints(bi_module) - self.assertEqual(len(bi_module_lint_list), 0) - -+ @unittest.skipUnless(torch.backends.xnnpack.enabled, -+ " XNNPACK must be enabled for these tests." -+ " Please build with USE_XNNPACK=1.") - def test_preserve_bundled_inputs_methods(self): - class MyBundledInputModule(torch.nn.Module): - def __init__(self): diff --git a/torch/csrc/jit/api/module.cpp b/torch/csrc/jit/api/module.cpp index 38592b80b9..8f9508321b 100644 --- a/torch/csrc/jit/api/module.cpp diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch new file mode 100644 index 000000000000..b62f757853f1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch @@ -0,0 +1,43 @@ +From https://github.com/pytorch/pytorch/pull/84750 + +From d5480f56374e7612d4400e845b05bc3a4507d87c Mon Sep 17 00:00:00 2001 +From: Alexander Grund +Date: Fri, 9 Sep 2022 14:39:49 +0200 +Subject: [PATCH] Fix Use-after-Free in qembeddingbag_byte_prepack_out + +When FBGEMM is not used (either manually disabled or on platforms such +as POWER where it isn't supported at all) the fallback code requests a +`data_ptr` on a `Tensor` object returned by +`to(ScalarType::Float)` in the same line. This object will be destroyed +at the end of the line leading to a dangling pointer. + +On some platforms this manifests in wrong results being returned as the +memory gets overwritten. + +Fix this by binding the temporary object (or initial object) to a const +value reference which extents its lifetime and getting the `data_ptr` +from that. + +Fixes #84748 +--- + .../ATen/native/quantized/cpu/qembeddingbag_prepack.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp +index 614e274b54..6c04d0ae12 100644 +--- a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp ++++ b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp +@@ -242,9 +242,10 @@ Tensor& qembeddingbag_byte_prepack_out(Tensor& output, const Tensor& weight) { + } + + #else +- const auto weight_data = weight_contig->scalar_type() == at::ScalarType::Half +- ? weight_contig->to(at::ScalarType::Float).data_ptr() +- : weight_contig->data_ptr(); ++ const Tensor& float_weight = weight_contig->scalar_type() == at::ScalarType::Half ++ ? weight_contig->to(at::ScalarType::Float) ++ : *weight_contig; ++ const auto weight_data = float_weight.data_ptr(); + constexpr float kEpsilon = 1e-8f; + for (auto row: c10::irange(embedding_rows)) { + const float* input_row = weight_data + row * embedding_cols; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-missing-VSX-dispatch.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-missing-VSX-dispatch.patch new file mode 100644 index 000000000000..dcc0eac4bf06 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-missing-VSX-dispatch.patch @@ -0,0 +1,26 @@ + +Fix for following error on PPC: +> undefined reference to `at::native::DispatchStub, c10::ArrayRef, c10::ArrayRef, void const*, c10::ArrayRef, void*), at::native::fft_fill_with_conjugate_symmetry_stub>::VSX' + +From https://github.com/pytorch/pytorch/pull/68914 + +From: Deepali Chourasia +Date: Thu, 25 Nov 2021 12:29:50 +0000 +Subject: [PATCH] add VSX dispatch for fft_fill_with_conjugate_symmetry_stub + +--- + aten/src/ATen/native/mkl/SpectralOps.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/aten/src/ATen/native/mkl/SpectralOps.cpp b/aten/src/ATen/native/mkl/SpectralOps.cpp +index 0625110a04ff..2bd05ca19cac 100644 +--- a/aten/src/ATen/native/mkl/SpectralOps.cpp ++++ b/aten/src/ATen/native/mkl/SpectralOps.cpp +@@ -151,6 +151,7 @@ static void _fft_fill_with_conjugate_symmetry_cpu_( + REGISTER_ARCH_DISPATCH(fft_fill_with_conjugate_symmetry_stub, DEFAULT, &_fft_fill_with_conjugate_symmetry_cpu_) + REGISTER_AVX2_DISPATCH(fft_fill_with_conjugate_symmetry_stub, &_fft_fill_with_conjugate_symmetry_cpu_) + REGISTER_AVX512_DISPATCH(fft_fill_with_conjugate_symmetry_stub, &_fft_fill_with_conjugate_symmetry_cpu_) ++REGISTER_VSX_DISPATCH(fft_fill_with_conjugate_symmetry_stub, &_fft_fill_with_conjugate_symmetry_cpu_) + + // _out variants can be shared between PocketFFT and MKL + Tensor& _fft_r2c_mkl_out(const Tensor& self, IntArrayRef dim, int64_t normalization, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_remove-vec-dump-functions.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_remove-vec-dump-functions.patch new file mode 100644 index 000000000000..b6e2100a1789 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_remove-vec-dump-functions.patch @@ -0,0 +1,114 @@ +Fix compilation on PPC due to missing include + +From https://patch-diff.githubusercontent.com/raw/pytorch/pytorch/pull/66085 + +From e0fa15d188986e2a68973e3facf9d794f6cfc5df Mon Sep 17 00:00:00 2001 +From: Nikita Shulga +Date: Mon, 4 Oct 2021 09:26:37 -0700 +Subject: [PATCH] Remove unused `dump` method from VSX vec256 methods + +Follow up after https://github.com/pytorch/pytorch/pull/63533 + +Probably fixes https://github.com/pytorch/pytorch/issues/65956 +--- + .../ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h | 5 ----- + .../ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h | 8 -------- + aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h | 3 --- + aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h | 7 ------- + aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h | 9 --------- + 5 files changed, 32 deletions(-) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h +index 888f2f0b932b..3a3e0daade09 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h +@@ -356,11 +356,6 @@ class Vectorized { + return {vec_sqrt(_vec0), vec_sqrt(_vec1)}; + } + +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << ","; +- std::cout << _vec1[0] << "," << _vec1[1] << std::endl; +- } +- + Vectorized sqrt() const { + return map(std::sqrt); + } +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +index 0aa726b9bfdd..712de24597dc 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +@@ -144,7 +144,6 @@ class Vectorized { + // convert std::complex index mask to V index mask: xy -> xxyy + auto mask_complex = Vectorized( + vec_mergeh(mask._vec0, mask._vec0), vec_mergeh(mask._vec1, mask._vec1)); +- // mask_complex.dump(); + return { + vec_sel(a._vec0, b._vec0, mask_complex._vec0), + vec_sel(a._vec1, b._vec1, mask_complex._vec1), +@@ -409,13 +408,6 @@ class Vectorized { + return {vec_sqrt(_vec0), vec_sqrt(_vec1)}; + } + +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << "," << _vec0[2] << "," +- << _vec0[3] << ","; +- std::cout << _vec1[0] << "," << _vec1[1] << "," << _vec1[2] << "," +- << _vec1[3] << std::endl; +- } +- + Vectorized sqrt() const { + return map(std::sqrt); + } +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +index 29616182fe12..0d5b5cb39384 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +@@ -188,9 +188,6 @@ class Vectorized { + } + const double& operator[](int idx) const = delete; + double& operator[](int idx) = delete; +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << "," << _vec1[0] << "," << _vec1[1] << std::endl; +- } + Vectorized map(double (*const f)(double)) const { + Vectorized ret; + for (int i = 0; i < size()/2; i++) { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 2427276bcea2..58d4b057b507 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -436,13 +436,6 @@ class Vectorized { + return {vec_neg(_vec0), vec_neg(_vec1)}; + } + +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << "," << _vec0[2] << "," +- << _vec0[3] << ","; +- std::cout << _vec1[0] << "," << _vec1[1] << "," << _vec1[2] << "," +- << _vec1[3] << std::endl; +- } +- + Vectorized C10_ALWAYS_INLINE round() const { + return {vec_round(_vec0), vec_round(_vec1)}; + } +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h +index c335ace0ced6..2482af6ec232 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h +@@ -369,15 +369,6 @@ struct Vectorized { + return {vec0, vec1}; + } + +- void dump() const { +- value_type vals[size()]; +- store((void*)vals); +- for (int i = 0; i < size(); ++i) { +- std::cout << (int)(vals[i]) << " "; +- } +- std::cout << std::endl; +- } +- + DEFINE_MEMBER_OP(operator==, c10::quint8, vec_cmpeq) + DEFINE_MEMBER_OP(operator!=, c10::quint8, vec_cmpne) + DEFINE_MEMBER_OP(operator<, c10::quint8, vec_cmplt) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..9778d40af769 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,138 @@ +name = 'PyTorch' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', + 'PyTorch-1.12.1_skip-failing-grad-test.patch', + 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch + '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/87593 is accepted, since it is then checked as part of the PyTorch test suite +local_libcaffe2 = "$EBROOTPYTORCH/lib/python%%(pyshortver)s/site-packages/torch/lib/libcaffe2_nvrtc.%s" % SHLIB_EXT +sanity_check_commands = [ + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a.eb new file mode 100644 index 000000000000..4417c0caceea --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a.eb @@ -0,0 +1,121 @@ +name = 'PyTorch' +version = '1.12.1' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', + 'PyTorch-1.12.1_skip-failing-grad-test.patch', + 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch + '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('expecttest', '0.1.3'), +] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b-CUDA-11.5.2.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b-CUDA-11.5.2.eb new file mode 100644 index 000000000000..7d0cc431687e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b-CUDA-11.5.2.eb @@ -0,0 +1,164 @@ +name = 'PyTorch' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', + 'PyTorch-1.12.1_skip-failing-grad-test.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', + # PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch + 'd97cd6b0570a167ecc3e631dc4ea884d95ace285cc38aa980566f4fec2c0d089', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin.patch + '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.22.1'), + ('hypothesis', '6.14.6'), +] + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.6'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.7.1'), + ('SciPy-bundle', '2021.10'), + ('typing-extensions', '3.10.0.2'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.3.2'), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.5+(?): https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # Those 2 abort on some machines. Skip for now + 'distributed/fsdp/test_fsdp_input', + 'distributed/fsdp/test_fsdp_mixed_precision', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha' + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/87593 is accepted, since it is then checked as part of the PyTorch test suite +local_libcaffe2 = "$EBROOTPYTORCH/lib/python%%(pyshortver)s/site-packages/torch/lib/libcaffe2_nvrtc.%s" % SHLIB_EXT +sanity_check_commands = [ + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b.eb new file mode 100644 index 000000000000..45b84bdea566 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b.eb @@ -0,0 +1,141 @@ +name = 'PyTorch' +version = '1.12.1' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', + 'PyTorch-1.12.1_skip-failing-grad-test.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.12.1_use-predefined-data-in-test-optim.patch', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin.patch + '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', + # PyTorch-1.12.1_use-predefined-data-in-test-optim.patch + 'a55f5465f5324cddae44416d67ef7506acb3513df7c4efb47db2f19eaa169054', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.22.1'), + ('hypothesis', '6.14.6'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.6'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.7.1'), + ('SciPy-bundle', '2021.10'), + ('typing-extensions', '3.10.0.2'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.3.2'), + ('expecttest', '0.1.3'), +] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..a62ed5dddbea --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,160 @@ +name = 'PyTorch' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', + 'PyTorch-1.12.1_skip-failing-grad-test.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.12.1_use-predefined-data-in-test-optim.patch', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', + # PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch + 'd97cd6b0570a167ecc3e631dc4ea884d95ace285cc38aa980566f4fec2c0d089', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin.patch + '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', + # PyTorch-1.12.1_use-predefined-data-in-test-optim.patch + 'a55f5465f5324cddae44416d67ef7506acb3513df7c4efb47db2f19eaa169054', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.6/11.7: https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # Those 2 abort on some machines. Skip for now + 'distributed/fsdp/test_fsdp_input', + 'distributed/fsdp/test_fsdp_mixed_precision', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/87593 is accepted, since it is then checked as part of the PyTorch test suite +local_libcaffe2 = "$EBROOTPYTORCH/lib/python%%(pyshortver)s/site-packages/torch/lib/libcaffe2_nvrtc.%s" % SHLIB_EXT +sanity_check_commands = [ + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb new file mode 100644 index 000000000000..415463c968a0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb @@ -0,0 +1,136 @@ +name = 'PyTorch' +version = '1.12.1' + +homepage = 'https://pytorch.org/' +description = """Tensors and Dynamic neural networks in Python with strong GPU acceleration. +PyTorch is a deep learning framework that puts Python first.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch', + 'PyTorch-1.12.1_skip-failing-grad-test.patch', + 'PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch', + 'PyTorch-1.12.1_use-predefined-data-in-test-optim.patch', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch + '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', + # PyTorch-1.12.1_use-predefined-data-in-test-optim.patch + 'a55f5465f5324cddae44416d67ef7506acb3513df7c4efb47db2f19eaa169054', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('expecttest', '0.1.3'), +] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.6/11.7: https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch new file mode 100644 index 000000000000..28a8238fb30e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch @@ -0,0 +1,26 @@ +Fix test failure with a commit contained in https://github.com/pytorch/pytorch/pull/78244 + +From fade8da55e60a118c5595378896d34b862b2fcc3 Mon Sep 17 00:00:00 2001 +From: "S. Song" <41357537+shmsong@users.noreply.github.com> +Date: Mon, 23 May 2022 16:41:01 -0700 +Subject: [PATCH] patch python test for bfloat16 (#1724) + +* patch python test +--- + test/test_jit_cuda_fuser.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/test/test_jit_cuda_fuser.py b/test/test_jit_cuda_fuser.py +index 48dd8a4659f1..324a758ff713 100644 +--- a/test/test_jit_cuda_fuser.py ++++ b/test/test_jit_cuda_fuser.py +@@ -598,7 +598,9 @@ def t(x: torch.Tensor, y: torch.Tensor): + # bfloat16 kernels instead of eager mode + # implementation, since mismatch in cast + # adds excessive noise. +- o = t(x.to(torch.float64), y.to(torch.float64)).to(torch.bfloat16) ++ o = t(x.to(torch.float64), y.to(torch.float64)) ++ if o.dtype.is_floating_point: ++ o = o.to(torch.bfloat16) + else: + o = t(x, y) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestTorch.test_to.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestTorch.test_to.patch new file mode 100644 index 000000000000..8d78d655b5b8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestTorch.test_to.patch @@ -0,0 +1,21 @@ +A bug in PyTorch makes sparse Tensors report the wrong device making the test fail +when using multiple GPUs. +Fixed in 1.13 by https://github.com/pytorch/pytorch/pull/85240 + +Here change the test to only run the check with the default CUDA device. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_torch.py b/test/test_torch.py +index 0c9c00984c..99285b20dc 100644 +--- a/test/test_torch.py ++++ b/test/test_torch.py +@@ -7687,7 +7687,7 @@ tensor([[[1.+1.j, 1.+1.j, 1.+1.j, ..., 1.+1.j, 1.+1.j, 1.+1.j], + + if torch.cuda.is_available(): + for non_blocking in [True, False]: +- for cuda in ['cuda', 'cuda:0' if torch.cuda.device_count() == 1 else 'cuda:1']: ++ for cuda in ['cuda']: + b = torch.tensor(5., device=cuda) + test_copy_behavior(b, non_blocking) + self.assertEqual(b.device, b.to(cuda, non_blocking=non_blocking).device) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch new file mode 100644 index 000000000000..c82cc0604676 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch @@ -0,0 +1,24 @@ +Fix flaky test_thread_shutdown in test_autograd + +From https://github.com/pytorch/pytorch/pull/86464 + +Backport: Alexander Grund (TU Dresden) + +diff --git a/test/test_autograd.py b/test/test_autograd.py +index da1e859682e..0c0bc4f1a2a 100644 +--- a/test/test_autograd.py ++++ b/test/test_autograd.py +@@ -4320,8 +4320,12 @@ class MyFunction(Function): + def backward(ctx, grad): + return grad + ++# Run on cuda if it is available to ensure that the worker thread ++# is properly initialized by the time we exit. ++device = "cuda" if torch.cuda.is_available() else "cpu" ++ + for shape in [(1,), ()]: +- v = torch.ones(shape, requires_grad=True) ++ v = torch.ones(shape, requires_grad=True, device=device) + MyFunction.apply(v).backward() + """ + s = TestCase.runWithPytorchAPIUsageStderr(code) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-cuda-gcc-version-check.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-cuda-gcc-version-check.patch new file mode 100644 index 000000000000..def8bc857bcf --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-cuda-gcc-version-check.patch @@ -0,0 +1,79 @@ +Update CUDA <-> compiler version compatibility matrix +See https://github.com/pytorch/pytorch/pull/86360 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index aed4fd5004..fca125ce26 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -48,20 +48,30 @@ MINIMUM_MSVC_VERSION = (19, 0, 24215) + # The following values were taken from the following GitHub gist that + # summarizes the minimum valid major versions of g++/clang++ for each supported + # CUDA version: https://gist.github.com/ax3l/9489132 ++# Or from include/crt/host_config.h in the CUDA SDK ++# The second value is the exclusive(!) upper bound, i.e. min <= version < max + CUDA_GCC_VERSIONS = { +- '10.2': (MINIMUM_GCC_VERSION, (8, 0, 0)), +- '11.1': (MINIMUM_GCC_VERSION, (10, 0, 0)), +- '11.2': (MINIMUM_GCC_VERSION, (10, 0, 0)), +- '11.3': (MINIMUM_GCC_VERSION, (10, 0, 0)), +- '11.4': ((6, 0, 0), (10, 0, 0)) ++ '10.2': (MINIMUM_GCC_VERSION, (9, 0)), ++ '11.0': (MINIMUM_GCC_VERSION, (10, 0)), ++ '11.1': (MINIMUM_GCC_VERSION, (11, 0)), ++ '11.2': (MINIMUM_GCC_VERSION, (11, 0)), ++ '11.3': (MINIMUM_GCC_VERSION, (11, 0)), ++ '11.4': ((6, 0, 0), (12, 0)), ++ '11.5': ((6, 0, 0), (12, 0)), ++ '11.6': ((6, 0, 0), (12, 0)), ++ '11.7': ((6, 0, 0), (12, 0)), + } + ++MINIMUM_CLANG_VERSION = (3, 3, 0), + CUDA_CLANG_VERSIONS = { +- '10.2': ((3, 3, 0), (8, 0, 0)), +- '11.1': ((6, 0, 0), (10, 0, 0)), +- '11.2': ((6, 0, 0), (10, 0, 0)), +- '11.3': ((6, 0, 0), (10, 0, 0)), +- '11.4': ((6, 0, 0), (10, 0, 0)) ++ '10.2': (MINIMUM_CLANG_VERSION, (9, 0)), ++ '11.1': (MINIMUM_CLANG_VERSION, (11, 0)), ++ '11.2': (MINIMUM_CLANG_VERSION, (12, 0)), ++ '11.3': (MINIMUM_CLANG_VERSION, (12, 0)), ++ '11.4': (MINIMUM_CLANG_VERSION, (13, 0)), ++ '11.5': (MINIMUM_CLANG_VERSION, (13, 0)), ++ '11.6': (MINIMUM_CLANG_VERSION, (14, 0)), ++ '11.7': (MINIMUM_CLANG_VERSION, (14, 0)), + } + + +@@ -819,12 +829,11 @@ class BuildExtension(build_ext, object): + if cuda_str_version not in cuda_compiler_bounds: + warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}') + else: +- min_compiler_version, max_compiler_version = cuda_compiler_bounds[cuda_str_version] ++ min_compiler_version, max_excl_compiler_version = cuda_compiler_bounds[cuda_str_version] + min_compiler_version_str = '.'.join(map(str, min_compiler_version)) +- max_compiler_version_str = '.'.join(map(str, max_compiler_version)) ++ max_excl_compiler_version_str = '.'.join(map(str, max_excl_compiler_version)) + +- version_bound_str = f'>={min_compiler_version_str}' +- version_bound_str = f'{version_bound_str}, <={max_compiler_version_str}' ++ version_bound_str = f'>={min_compiler_version_str}, <{max_excl_compiler_version_str}' + + if compiler_version < TorchVersion(min_compiler_version_str): + raise RuntimeError( +@@ -832,10 +841,10 @@ class BuildExtension(build_ext, object): + f'than the minimum required version by CUDA {cuda_str_version} ({min_compiler_version_str}). ' + f'Please make sure to use an adequate version of {compiler_name} ({version_bound_str}).' + ) +- elif compiler_version > TorchVersion(max_compiler_version_str): ++ elif compiler_version >= TorchVersion(max_excl_compiler_version_str): + raise RuntimeError( + f'The current installed version of {compiler_name} ({compiler_version}) is greater ' +- f'than the maximum required version by CUDA {cuda_str_version} ({max_compiler_version_str}). ' ++ f'than the maximum required version by CUDA {cuda_str_version}. ' + f'Please make sure to use an adequate version of {compiler_name} ({version_bound_str}).' + ) + else: diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-skip-decorators.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-skip-decorators.patch new file mode 100644 index 000000000000..0fbe044ff32b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-skip-decorators.patch @@ -0,0 +1,118 @@ +The decorators are implemented to run when the function is called which is after +the test `setup` method spawned subprocesses which may use NCCL to sync failing when there are +not enough GPUs available. +So replace the custom code by calls to the `unittest` skip decorators. +See https://github.com/pytorch/pytorch/pull/89750 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_distributed.py b/torch/testing/_internal/common_distributed.py +index 8baf7d03d9f..3dc922ee923 100644 +--- a/torch/testing/_internal/common_distributed.py ++++ b/torch/testing/_internal/common_distributed.py +@@ -124,46 +124,11 @@ def skip_if_odd_worldsize(func): + return wrapper + + def require_n_gpus_for_nccl_backend(n, backend): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if backend == "nccl" and torch.cuda.device_count() < n: +- sys.exit(TEST_SKIPS[f"multi-gpu-{n}"].exit_code) +- else: +- return func(*args, **kwargs) +- +- return wrapper +- +- return decorator ++ return skip_if_lt_x_gpu(n) if backend == "nccl" else unittest.skipIf(False, None) + + + def skip_if_lt_x_gpu(x): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if torch.cuda.is_available() and torch.cuda.device_count() >= x: +- return func(*args, **kwargs) +- sys.exit(TEST_SKIPS[f"multi-gpu-{x}"].exit_code) +- +- return wrapper +- +- return decorator +- +- +-# This decorator helps avoiding initializing cuda while testing other backends +-def nccl_skip_if_lt_x_gpu(backend, x): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if backend != "nccl": +- return func(*args, **kwargs) +- if torch.cuda.is_available() and torch.cuda.device_count() >= x: +- return func(*args, **kwargs) +- sys.exit(TEST_SKIPS[f"multi-gpu-{x}"].exit_code) +- +- return wrapper +- +- return decorator ++ return unittest.skipIf(torch.cuda.device_count() < x, TEST_SKIPS[f"multi-gpu-{x}"].message) + + + def verify_ddp_error_logged(model_DDP, err_substr): +diff --git a/torch/testing/_internal/distributed/distributed_test.py b/torch/testing/_internal/distributed/distributed_test.py +index 1414a0376b1..1f6b00e6edf 100644 +--- a/torch/testing/_internal/distributed/distributed_test.py ++++ b/torch/testing/_internal/distributed/distributed_test.py +@@ -56,7 +56,6 @@ from torch.testing._internal.common_distributed import ( + skip_if_small_worldsize, + skip_if_odd_worldsize, + skip_if_lt_x_gpu, +- nccl_skip_if_lt_x_gpu, + skip_if_no_gpu, + require_n_gpus_for_nccl_backend, + requires_nccl_version, +@@ -4604,7 +4603,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync(self): + """ + Runs _test_accumulate_gradients_no_sync using default inputs +@@ -4615,7 +4614,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_grad_is_view(self): + """ + Runs _test_accumulate_gradients_no_sync using default inputs +@@ -4626,7 +4625,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_allreduce_hook(self): + """ + Runs multiple iterations on _test_accumulate_gradients_no_sync +@@ -4654,7 +4653,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_allreduce_with_then_hook(self): + """ + Runs multiple iterations on _test_accumulate_gradients_no_sync using allreduce +@@ -4688,7 +4687,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_get_future(self): + def mult(fut): + return [t * 3 for t in fut.wait()] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch new file mode 100644 index 000000000000..38dcd0c2eb6f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch @@ -0,0 +1,31 @@ +When the CUDA Toolkit (compiler...) is to new or to old for the GPU or the GPU driver +this test may fail. +See https://github.com/pytorch/pytorch/pull/89495 + +diff --git a/test/test_cpp_extensions_jit.py b/test/test_cpp_extensions_jit.py +index 2ead8d32ca179..dd350823ffef9 100644 +--- a/test/test_cpp_extensions_jit.py ++++ b/test/test_cpp_extensions_jit.py +@@ -200,7 +200,21 @@ def test_jit_cuda_archflags(self): + archflags["5.0;6.0+PTX;7.0;7.5"] = (['50', '60', '70', '75'], ['60']) + + for flags, expected in archflags.items(): +- self._run_jit_cuda_archflags(flags, expected) ++ try: ++ self._run_jit_cuda_archflags(flags, expected) ++ except RuntimeError as e: ++ # Using the device default (empty flags) may fail if the device is newer than the CUDA compiler ++ # This raises a RuntimeError with a specific message which we explictely ignore here ++ if not flags and "Error building" in str(e): ++ pass ++ else: ++ raise ++ try: ++ torch.cuda.synchronize() ++ except RuntimeError: ++ # Ignore any error, e.g. unsupported PTX code on current device ++ # to avoid errors from here leaking into other tests ++ pass + + @unittest.skipIf(not TEST_CUDNN, "CuDNN not found") + def test_jit_cudnn_extension(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_wishart_log_prob.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_wishart_log_prob.patch new file mode 100644 index 000000000000..c801b4ca53fa --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_wishart_log_prob.patch @@ -0,0 +1,36 @@ +Fix a TestDistributions.test_wishart_log_prob failure in test_distributions +See https://github.com/pytorch/pytorch/pull/87977 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributions/test_distributions.py b/test/distributions/test_distributions.py +index 127018516e123..219eacf4790b0 100644 +--- a/test/distributions/test_distributions.py ++++ b/test/distributions/test_distributions.py +@@ -2036,7 +2036,7 @@ def test_lowrank_multivariate_normal_log_prob(self): + unbatched_prob = torch.stack([dist_unbatched[i].log_prob(x[:, i]) for i in range(5)]).t() + + self.assertEqual(batched_prob.shape, unbatched_prob.shape) +- self.assertEqual(0.0, (batched_prob - unbatched_prob).abs().max(), atol=1e-3, rtol=0) ++ self.assertEqual(batched_prob, unbatched_prob, atol=1e-3, rtol=0) + + @unittest.skipIf(not TEST_NUMPY, "NumPy not found") + def test_lowrank_multivariate_normal_sample(self): +@@ -2176,7 +2176,7 @@ def test_multivariate_normal_log_prob(self): + unbatched_prob = torch.stack([dist_unbatched[i].log_prob(x[:, i]) for i in range(5)]).t() + + self.assertEqual(batched_prob.shape, unbatched_prob.shape) +- self.assertEqual(0.0, (batched_prob - unbatched_prob).abs().max(), atol=1e-3, rtol=0) ++ self.assertEqual(batched_prob, unbatched_prob, atol=1e-3, rtol=0) + + @unittest.skipIf(not TEST_NUMPY, "NumPy not found") + def test_multivariate_normal_sample(self): +@@ -2331,7 +2331,7 @@ def test_wishart_log_prob(self): + unbatched_prob = torch.stack([dist_unbatched[i].log_prob(x[:, i]) for i in range(5)]).t() + + self.assertEqual(batched_prob.shape, unbatched_prob.shape) +- self.assertEqual(0.0, (batched_prob - unbatched_prob).abs().max(), atol=1e-3, rtol=0) ++ self.assertEqual(batched_prob, unbatched_prob, atol=1e-3, rtol=0) + + @unittest.skipIf(not TEST_NUMPY, "NumPy not found") + def test_wishart_sample(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch new file mode 100644 index 000000000000..e0f643917921 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch @@ -0,0 +1,24 @@ +Fix an invalid usage of `erase` leading to a use after free. +See https://github.com/pytorch/pytorch/issues/87359 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/csrc/distributed/rpc/tensorpipe_agent.cpp b/torch/csrc/distributed/rpc/tensorpipe_agent.cpp +index 39935febe6..c160d1c771 100644 +--- a/torch/csrc/distributed/rpc/tensorpipe_agent.cpp ++++ b/torch/csrc/distributed/rpc/tensorpipe_agent.cpp +@@ -1261,9 +1261,11 @@ void TensorPipeAgent::updateGroupMembership( + workerNameToInfo_.erase(name); + workerNameToURL_.erase(name); + +- for (const auto& it : reverseDeviceMaps_) { +- if (reverseDeviceMaps.find(it.first) == reverseDeviceMaps.end()) { +- reverseDeviceMaps_.erase(it.first); ++ for(auto iter = reverseDeviceMaps_.begin(); iter != reverseDeviceMaps_.end(); ) { ++ if (reverseDeviceMaps.find(iter->first) == reverseDeviceMaps.end()) { ++ iter = reverseDeviceMaps_.erase(iter); ++ } else { ++ ++iter; + } + } + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-loadu.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-loadu.patch new file mode 100644 index 000000000000..839c6567bb2d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-loadu.patch @@ -0,0 +1,109 @@ +Fix access to unitialized memory resulting in e.g. failures in TestNNDeviceTypeCPU.test_groupnorm_nhwc_cpu_float32 +See https://github.com/pytorch/pytorch/issues/32502 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h +index cb8bb78597..f5084f2101 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h +@@ -142,7 +142,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +index 8445a31fb3..b4e35acfb4 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h +@@ -196,7 +196,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +index c53b7c792e..810e79ebfe 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +@@ -171,7 +171,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 0267c40e1e..1a6aec7dbe 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -180,7 +180,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +index 464a13c9f5..7c300c8087 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +@@ -269,7 +269,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +index 6ef6147447..c98ab6215e 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +@@ -199,7 +199,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +index c0f1146d9d..a4171026a2 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +@@ -148,7 +148,7 @@ class Vectorized { + (vint64)vec_vsx_ld(offset16, dptr)}; + } + +- __at_align__ double tmp_values[size()]; ++ __at_align__ double tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h +index c3cec14a5b..a85730c9a6 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h +@@ -81,7 +81,7 @@ struct Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-vector-funcs.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-vector-funcs.patch new file mode 100644 index 000000000000..56a02bdac0eb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-vector-funcs.patch @@ -0,0 +1,310 @@ +That code fails for large values such as sin(1e20) producing inf. +See https://github.com/pytorch/pytorch/issues/85978 +and https://github.com/pytorch/pytorch/pull/86453 +Use the Sleef functions similar to the double variants. + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 77cf3695ab912..8fe6cc25f0ee9 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -256,29 +256,29 @@ class Vectorized { + } + + Vectorized C10_ALWAYS_INLINE acos() const { +- return {Sleef_acosf4_u10vsx(_vec0), Sleef_acosf4_u10vsx(_vec1)}; ++ return {Sleef_acosf4_u10vsx(_vec0), Sleef_acosf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE asin() const { +- return {Sleef_asinf4_u10vsx(_vec0), Sleef_asinf4_u10vsx(_vec1)}; ++ return {Sleef_asinf4_u10vsx(_vec0), Sleef_asinf4_u10vsx(_vec1)}; + } + Vectorized atan() const { +- return {Sleef_atanf4_u10vsx(_vec0), Sleef_atanf4_u10vsx(_vec1)}; ++ return {Sleef_atanf4_u10vsx(_vec0), Sleef_atanf4_u10vsx(_vec1)}; + } + Vectorized atan2(const Vectorized& b) const { +- return {Sleef_atan2f4_u10vsx(_vec0, b._vec0), Sleef_atan2f4_u10vsx(_vec1, b._vec1)}; ++ return {Sleef_atan2f4_u10vsx(_vec0, b._vec0), Sleef_atan2f4_u10vsx(_vec1, b._vec1)}; + } + Vectorized copysign(const Vectorized &sign) const { + return {Sleef_copysignf4_vsx(_vec0, sign._vec0), Sleef_copysignf4_vsx(_vec1, sign._vec1)}; + } + Vectorized lgamma() const { +- return {Sleef_lgammaf4_u10vsx(_vec0), Sleef_lgammaf4_u10vsx(_vec1)}; ++ return {Sleef_lgammaf4_u10vsx(_vec0), Sleef_lgammaf4_u10vsx(_vec1)}; + } + Vectorized erf() const { +- return {Sleef_erff4_u10vsx(_vec0), Sleef_erff4_u10vsx(_vec1)}; ++ return {Sleef_erff4_u10vsx(_vec0), Sleef_erff4_u10vsx(_vec1)}; + } + + Vectorized erfc() const { +- return {Sleef_erfcf4_u15vsx(_vec0), Sleef_erfcf4_u15vsx(_vec1)}; ++ return {Sleef_erfcf4_u15vsx(_vec0), Sleef_erfcf4_u15vsx(_vec1)}; + } + + Vectorized erfinv() const { +@@ -301,133 +301,32 @@ class Vectorized { + } + + Vectorized C10_ALWAYS_INLINE exp() const { +- // implementation logic from avx_mathfun with some modifications from sleef +- // Express e**x = e**g 2**n +- /// = e**g e**( n loge(2) ) +- /// = e**( g + n loge(2) ) +- // +- auto tmp_x = *this; +- auto fx = (tmp_x * log2e_inv).round(); +- +- auto x = fx.madd(negln2f_hi, tmp_x); +- x = fx.madd(negln2f_lo, x); +- auto z = x * x; +- auto y = x.madd(exp_p0, exp_p1); +- y = y.madd(x, exp_p2); +- y = y.madd(x, exp_p3); +- y = y.madd(x, exp_p4); +- y = y.madd(x, exp_p5); +- y = y.madd(z, x) + one; +- +- // vm_pow2n 2^n +- vint32 imm0 = vec_signed(fx._vec0); +- vint32 imm1 = vec_signed(fx._vec1); +- // this pow2n logic is from Sleef code +- vint32 imm00 = imm0 >> 1; //>>1 +- vint32 imm01 = imm1 >> 1; +- vint32 imm10 = imm0 - imm00; +- vint32 imm11 = imm1 - imm01; +- imm00 = (imm00 + v0x7f) << vu_23; +- imm01 = (imm01 + v0x7f) << vu_23; +- imm10 = (imm10 + v0x7f) << vu_23; +- imm11 = (imm11 + v0x7f) << vu_23; +- // treat imm as float vector without conversion +- +- y._vec0 = (y._vec0 * (vfloat32)imm00) * (vfloat32)imm10; +- y._vec1 = (y._vec1 * (vfloat32)imm01) * (vfloat32)imm11; +- // boundary check +- auto tmp = blendv(y, v_inf, (Vectorized(exp_hi) <= tmp_x)); +- y = blendv(tmp, zero, (tmp_x < Vectorized(exp_lo))); +- +- return y; ++ return {Sleef_expf4_u10vsx(_vec0), Sleef_expf4_u10vsx(_vec1)}; + } + Vectorized expm1() const { +- return exp() - one; ++ return {Sleef_expm1f4_u10vsx(_vec0), Sleef_expm1f4_u10vsx(_vec1)}; + } + + Vectorized C10_ALWAYS_INLINE log() const { + return {Sleef_logf4_u10vsx(_vec0), Sleef_logf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE log10() const { +- return {Sleef_log10f4_u10vsx(_vec0), Sleef_log10f4_u10vsx(_vec1)}; ++ return {Sleef_log10f4_u10vsx(_vec0), Sleef_log10f4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE log1p() const { +- return {Sleef_log1pf4_u10vsx(_vec0), Sleef_log1pf4_u10vsx(_vec1)}; ++ return {Sleef_log1pf4_u10vsx(_vec0), Sleef_log1pf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE log2() const { +- return {Sleef_log2f4_u10vsx(_vec0), Sleef_log2f4_u10vsx(_vec1)}; ++ return {Sleef_log2f4_u10vsx(_vec0), Sleef_log2f4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE ceil() const { + return {vec_ceil(_vec0), vec_ceil(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE cos() const { +- // take the absolute value +- auto x = abs(); +- // extract the sign bit (upper one) +- auto sign_bit = (*this) & sign_mask; +- // scale by 4/Pi +- auto y = x * _4div_pi; +- // store the integer part of y in mm0 +- // j=(j+1) & (~1) (see the cephes sources) +- vint32 imm0 = (vec_signed(y._vec0) + vi_1) & vi_inv1; +- vint32 imm1 = (vec_signed(y._vec1) + vi_1) & vi_inv1; +- y._vec0 = vec_float(imm0); +- y._vec1 = vec_float(imm1); +- +- imm0 = imm0 - vi_2; +- imm1 = imm1 - vi_2; +- Vectorized poly_mask; +- // get the swap sign flag +- vint32 tmp0 = vec_and(vec_nand(imm0, imm0), vi_4); +- vint32 tmp1 = vec_and(vec_nand(imm1, imm1), vi_4); +- sign_bit._vecb0 = (vbool32)vec_sl(tmp0, vu_29); +- sign_bit._vecb1 = (vbool32)vec_sl(tmp1, vu_29); +- // get the polynom selection mask +- // there is one polynom for 0 <= x <= Pi / 4 +- // and another one for Pi / 4 < x <= Pi / 2 +- // Both branches will be computed. +- +- poly_mask._vecb0 = (vbool32)vec_cmpeq((imm0 & vi_2), vi_0); +- poly_mask._vecb1 = (vbool32)vec_cmpeq((imm1 & vi_2), vi_0); +- +- // The magic pass: "Extended precision modular arithmetic" +- // x = ((x - y * DP1) - y * DP2) - y * DP3; +- x = y.madd(minus_cephes_dp1, x); +- x = y.madd(minus_cephes_dp2, x); +- x = y.madd(minus_cephes_dp3, x); +- +- // Evaluate the first polynom (0 <= x <= Pi/4) +- auto z = x * x; +- y = z.madd(coscof_p0, coscof_p1); +- y = y.madd(z, coscof_p2); +- y = y * z * z; +- y = y - z * half + one; +- +- // Evaluate the second polynom (Pi/4 <= x <= 0) +- auto y_2 = z.madd(sincof_p0, sincof_p1); +- y_2 = y_2.madd(z, sincof_p2); +- y_2 = y_2 * z; +- y_2 = y_2.madd(x, x); +- +- // select the correct result from the two polynoms +- y = blendv(y, y_2, poly_mask); +- // update the sign +- y = y ^ sign_bit; +- +- return y; ++ return {Sleef_cosf4_u10vsx(_vec0), Sleef_cosf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE cosh() const { +- // cosh = 1/2 * (e^x + e^-x) +- auto x = abs(); +- auto e_x = x.exp(); +- auto ret = (e_x + Vectorized(one) / e_x) * half; +- // inf and nan checks +-#if 0 +- ret = blendv(ret, v_inf, x >= vf_89); +- ret = blendv(ret, v_inf, ret.isnan()); +- ret = blendv(ret, v_nan, this->isnan()); +-#endif +- return ret; ++ return {Sleef_coshf4_u10vsx(_vec0), Sleef_coshf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE floor() const { + return {vec_floor(_vec0), vec_floor(_vec1)}; +@@ -440,97 +339,16 @@ class Vectorized { + return {vec_round(_vec0), vec_round(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE sin() const { +- // take the absolute value and xtract sign +- auto x = abs(); +- auto sign_bit = (*this) & sign_mask; +- +- // scale by 4/Pi +- auto y = x * _4div_pi; +- // store the integer part of y in mm0 +- +- // j=(j+1) & (~1) (see the cephes sources) +- vint32 imm0 = (vec_signed(y._vec0) + vi_1) & vi_inv1; +- vint32 imm1 = (vec_signed(y._vec1) + vi_1) & vi_inv1; +- y._vec0 = vec_float(imm0); +- y._vec1 = vec_float(imm1); +- // get the swap sign flag +- Vectorized swap_sign_bit, poly_mask; +- swap_sign_bit._vecb0 = (vbool32)vec_sl(imm0 & vi_4, vu_29); +- swap_sign_bit._vecb1 = (vbool32)vec_sl(imm1 & vi_4, vu_29); +- // get the polynom selection mask +- // there is one polynom for 0 <= x <= Pi/4 +- // and another one for Pi/4 C10_ALWAYS_INLINE sinh() const { +- auto temp_abs = abs(); +- // get exponent +- auto ret = temp_abs.exp(); +- auto recp = Vectorized(half) / ret; +- auto v = ret * half - recp; +- // extract the sign bit (upper one) +- auto sign_bit = (*this) & sign_mask; +- auto z = temp_abs * temp_abs; +- auto y = z.madd(p0, p1); +- y = y.madd(z, p2); +- y = (y * z).madd(temp_abs, temp_abs); +- // check and select +- auto result = blendv(y, v, temp_abs > one); +- return result | sign_bit; ++ return {Sleef_sinhf4_u10vsx(_vec0), Sleef_sinhf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE tan() const { +- return {Sleef_tanf4_u10vsx(_vec0), Sleef_tanf4_u10vsx(_vec1)}; ++ return {Sleef_tanf4_u10vsx(_vec0), Sleef_tanf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE tanh() const { +- auto x = *this; +- auto vabs = abs(); +- // get exponent +- auto exp2x = (vabs + vabs).exp(); +- auto vv = Vectorized(one) - Vectorized(two) / (exp2x + one); +- // extract the sign bit (upper one) +- auto sign_bit = (*this) & sign_mask; +- auto z = vabs * vabs; +- auto y = z.madd(tanh_p0, tanh_p1); +- auto tmp = y.madd(z, tanh_p2); +- y = z.madd(tmp, tanh_p3); +- tmp = y.madd(z, tanh_p4); +- y = tmp * z; +- tmp = y.madd(x, x); +- // add sign +- vv = vv | sign_bit; +- // check and select +- auto sel_mask = vabs >= tanh_0p625; +- auto max_mask = vabs > tanh_half_max; +- auto max_ret = sign_bit ^ one; +- return blendv(blendv(tmp, vv, sel_mask), max_ret, max_mask); ++ return {Sleef_tanhf4_u10vsx(_vec0), Sleef_tanhf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE trunc() const { + return {vec_trunc(_vec0), vec_trunc(_vec1)}; +@@ -555,15 +373,15 @@ class Vectorized { + } + + Vectorized fmod(const Vectorized& b) const { +- return {Sleef_fmodf4_vsx(_vec0, b._vec0),Sleef_fmodf4_vsx(_vec1, b._vec1)}; ++ return {Sleef_fmodf4_vsx(_vec0, b._vec0),Sleef_fmodf4_vsx(_vec1, b._vec1)}; + } + + Vectorized hypot(const Vectorized& b) const { +- return {Sleef_hypotf4_u05vsx(_vec0, b._vec0), Sleef_hypotf4_u05vsx(_vec1, b._vec1)}; ++ return {Sleef_hypotf4_u05vsx(_vec0, b._vec0), Sleef_hypotf4_u05vsx(_vec1, b._vec1)}; + } + + Vectorized nextafter(const Vectorized& b) const { +- return {Sleef_nextafterf4_vsx(_vec0, b._vec0), Sleef_nextafterf4_vsx(_vec1, b._vec1)}; ++ return {Sleef_nextafterf4_vsx(_vec0, b._vec0), Sleef_nextafterf4_vsx(_vec1, b._vec1)}; + } + + Vectorized igamma(const Vectorized& x) const { diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-test-adadelta-tolerance.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-test-adadelta-tolerance.patch new file mode 100644 index 000000000000..6455052773f4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-test-adadelta-tolerance.patch @@ -0,0 +1,22 @@ +TestOptim.test_adadelta fails on some systems with +> Mismatched elements: 1 / 50 (2.0%) +> Greatest absolute difference: 0.0012711584568023682 at index (1, 3) (up to 1e-05 allowed) +> Greatest relative difference: 0.005316456816424191 at index (1, 3) (up to 0.004 allowed) +This is possibly related to the CUDA driver version. See also https://github.com/pytorch/pytorch/issues/51992 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_optim.py b/test/test_optim.py +index 6d587b4b35..32e5dbcc2f 100644 +--- a/test/test_optim.py ++++ b/test/test_optim.py +@@ -621,7 +621,8 @@ class TestOptim(TestCase): + # ROCm precision is too low to pass this test + def test_adadelta(self): + # Handles https://github.com/pytorch/pytorch/issues/69698 +- self.rel_tol = 4e-3 ++ self.precision = 2e-3 ++ self.rel_tol = 1e-2 + for optimizer in [optim.Adadelta, optim_mt.Adadelta]: + self._test_basic_cases( + lambda weight, bias, maximize: optimizer([weight, bias], maximize=maximize), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-tolerance-test_ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-tolerance-test_ops.patch new file mode 100644 index 000000000000..9a728ce288d5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-tolerance-test_ops.patch @@ -0,0 +1,27 @@ +`test_out` may fail due to slightly different values caused by different order of matrizes in SGEMM: + +> Mismatched elements: 1 / 50 (2.0%) +> Greatest absolute difference: 1.430511474609375e-05 at index (4, 5) (up to 1e-05 allowed) +> Greatest relative difference: 4.65393206065873e-06 at index (4, 5) (up to 1.3e-06 allowed) + +See https://github.com/pytorch/pytorch/pull/86365 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_methods_invocations.py b/torch/testing/_internal/common_methods_invocations.py +index 00eb3f7f09..d97505ffb6 100644 +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -9984,7 +9984,11 @@ op_db: List[OpInfo] = [ + DecorateInfo( + toleranceOverride({torch.float32: tol(atol=1.3e-05, rtol=1.3e-05), + torch.complex64: tol(atol=1e-05, rtol=1.2e-03)}), +- 'TestCommon', 'test_reference_testing')], ++ 'TestCommon', 'test_reference_testing'), ++ DecorateInfo( ++ toleranceOverride({torch.float32: tol(atol=1.5e-05, rtol=1e-05)}), ++ 'TestCommon', 'test_out'), ++ ], + skips=( + # NVIDIA only assures that bfloat16 is supported by bmm if SM >= 5.3 + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes', device_type='cuda', active_if=not SM53OrLater), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_no-cuda-stubs-rpath.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_no-cuda-stubs-rpath.patch new file mode 100644 index 000000000000..60e094561828 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_no-cuda-stubs-rpath.patch @@ -0,0 +1,159 @@ +# PyTorch's CMAKE configuration by default sets RUNPATH on libraries if they link other libraries +# that are outside the build tree, which is done because of the CMAKE config on +# https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L10. +# This provides problems, since the cuda stubs library path then also gets added to the RUNPATH. +# As a result, at runtime, the stub version of things like libcuda.so.1 gets picked up, instead of the real drivers +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/14359 +# This line https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L16 +# Makes sure that any path that is linked, is also added to the RUNPATH. +# This has been reported upstream in https://github.com/pytorch/pytorch/issues/35418 +# and a fix was attempted in https://github.com/pytorch/pytorch/pull/37737 but it was reverted +# +# This EasyBuild patch changes behavior for the libraries that were failing, i.e. the ones in this list: +# https://github.com/easybuilders/easybuild-easyconfigs/issues/14359#issuecomment-970479904 +# This is done by setting INSTALL_RPATH_USE_LINK_PATH to false, and instead, specifying the RPATH +# explicitely by defining INSTALL_RPATH, but only adding directories that do not match to the "stubs" regex +# +# Original patch: Caspar van Leeuwen +# Updated: Alexander Grund (TU Dresden) +# +# See https://github.com/pytorch/pytorch/pull/87593 + +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 328210c978..f06ee0bb4e 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -643,13 +643,12 @@ if(NOT INTERN_BUILD_MOBILE OR NOT BUILD_CAFFE2_MOBILE) + if(USE_CUDA) + list(APPEND Caffe2_GPU_CU_SRCS ${Caffe2_GPU_HIP_JIT_FUSERS_SRCS}) + add_library(caffe2_nvrtc SHARED ${ATen_NVRTC_STUB_SRCS}) ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB}) + if(MSVC) + # Delay load nvcuda.dll so we can import torch compiled with cuda on a CPU-only machine +- set(DELAY_LOAD_FLAGS "-DELAYLOAD:nvcuda.dll;delayimp.lib") +- else() +- set(DELAY_LOAD_FLAGS "") ++ target_link_libraries(caffe2_nvrtc "-DELAYLOAD:nvcuda.dll;delayimp.lib") + endif() +- target_link_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB} ${DELAY_LOAD_FLAGS}) + target_include_directories(caffe2_nvrtc PRIVATE ${CUDA_INCLUDE_DIRS}) + install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") + if(USE_NCCL) +diff --git a/cmake/LinkCudaLibraries.cmake b/cmake/LinkCudaLibraries.cmake +new file mode 100644 +index 0000000000..a24583bff4 +--- /dev/null ++++ b/cmake/LinkCudaLibraries.cmake +@@ -0,0 +1,33 @@ ++# Link CUDA libraries to the given target, i.e.: `target_link_libraries(target )` ++# ++# Additionally makes sure CUDA stub libs don't end up being in RPath ++# ++# Example: link_cuda_libraries(mytarget PRIVATE ${CUDA_LIBRARIES}) ++function(link_cuda_libraries target) ++ set(libs ${ARGN}) ++ set(install_rpath "") ++ set(filtered FALSE) ++ foreach(lib IN LISTS libs) ++ # CUDA stub libs are in form /prefix/lib/stubs/libcuda.so ++ # So extract the name of the parent folder, to check against "stubs" ++ # And the parent path which we need to add to the INSTALL_RPATH for non-stubs ++ get_filename_component(parent_path "${lib}" DIRECTORY) ++ get_filename_component(parent_name "${parent_path}" NAME) ++ if(parent_name STREQUAL "stubs") ++ message(STATUS "Filtering ${lib} from being set in ${target}'s RPATH, " ++ "because it appears to point to the CUDA stubs directory.") ++ set(filtered TRUE) ++ elseif(parent_path) ++ list(APPEND install_rpath ${parent_path}) ++ endif() ++ endforeach() ++ ++ # Regular link command ++ target_link_libraries(${target} ${scope} ${libs}) ++ # Manually set INSTALL_RPATH when there were any stub libs ++ if(filtered) ++ list(REMOVE_DUPLICATES install_rpath) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH "${install_rpath}") ++ endif() ++endfunction() +diff --git a/test/cpp/api/CMakeLists.txt b/test/cpp/api/CMakeLists.txt +index 373895a0ce..19868221cb 100644 +--- a/test/cpp/api/CMakeLists.txt ++++ b/test/cpp/api/CMakeLists.txt +@@ -58,7 +58,8 @@ if(NOT MSVC) + endif() + + if(USE_CUDA) +- target_link_libraries(test_api PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_api PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/dist_autograd/CMakeLists.txt b/test/cpp/dist_autograd/CMakeLists.txt +index 9969c63e16..356ba5be55 100644 +--- a/test/cpp/dist_autograd/CMakeLists.txt ++++ b/test/cpp/dist_autograd/CMakeLists.txt +@@ -10,7 +10,8 @@ if(USE_DISTRIBUTED AND NOT WIN32) + target_link_libraries(test_dist_autograd PRIVATE torch gtest) + + if(USE_CUDA) +- target_link_libraries(test_dist_autograd PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_dist_autograd PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt +index 60b43b81fc..57cd4422f8 100644 +--- a/test/cpp/jit/CMakeLists.txt ++++ b/test/cpp/jit/CMakeLists.txt +@@ -136,7 +137,8 @@ if(LINUX) + endif() + + if(USE_CUDA) +- target_link_libraries(test_jit PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_jit PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/rpc/CMakeLists.txt b/test/cpp/rpc/CMakeLists.txt +index 3997f8753e..21fddbc645 100644 +--- a/test/cpp/rpc/CMakeLists.txt ++++ b/test/cpp/rpc/CMakeLists.txt +@@ -33,7 +33,8 @@ target_include_directories( + target_link_libraries(test_cpp_rpc PRIVATE ${TORCH_RPC_TEST_DEPENDENCY_LIBS}) + + if(USE_CUDA) +- target_link_libraries(test_cpp_rpc PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_cpp_rpc PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt +index 7dff70630d..ecb8300549 100644 +--- a/test/cpp/tensorexpr/CMakeLists.txt ++++ b/test/cpp/tensorexpr/CMakeLists.txt +@@ -57,14 +57,15 @@ if(USE_PTHREADPOOL) + target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface) + endif() + if(USE_CUDA) +- target_link_libraries(test_tensorexpr PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + target_compile_definitions(test_tensorexpr PRIVATE USE_CUDA) + +- target_link_libraries(tutorial_tensorexpr PRIVATE ++ link_cuda_libraries(tutorial_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-annotation-fix.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-annotation-fix.patch new file mode 100644 index 000000000000..61f04d40743f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-annotation-fix.patch @@ -0,0 +1,69 @@ +Handle change of type annotation handling in Python 3.10 in the JIT module. +Fixes failures in e.g. test_jit. + +From https://github.com/pytorch/pytorch/pull/81334 & https://github.com/pytorch/pytorch/pull/81506 +Backport: Alexander Grund (TU Dresden) + +diff --git a/torch/_jit_internal.py b/torch/_jit_internal.py +index 3c067d5c1c5..2cc3dba89b4 100644 +--- a/torch/_jit_internal.py ++++ b/torch/_jit_internal.py +@@ -1059,11 +1059,19 @@ def _get_named_tuple_properties(obj): + if field in obj._field_defaults] + else: + defaults = [] ++ # In 3.10 recommended way to get annotations is to call `inspect.get_annotations` function ++ # Also, annotations from base class are not inherited so they need to be queried explicitly ++ if sys.version_info[:2] < (3, 10): ++ obj_annotations = getattr(obj, '__annotations__', {}) ++ else: ++ obj_annotations = inspect.get_annotations(obj) ++ if len(obj_annotations) == 0 and hasattr(obj, "__base__"): ++ obj_annotations = inspect.get_annotations(obj.__base__) ++ + annotations = [] +- has_annotations = hasattr(obj, '__annotations__') + for field in obj._fields: +- if has_annotations and field in obj.__annotations__: +- the_type = torch.jit.annotations.ann_to_type(obj.__annotations__[field], fake_range()) ++ if field in obj_annotations: ++ the_type = torch.jit.annotations.ann_to_type(obj_annotations[field], fake_range()) + annotations.append(the_type) + else: + annotations.append(torch._C.TensorType.getInferred()) +diff --git a/torch/jit/_recursive.py b/torch/jit/_recursive.py +index 8175d14fe5d..aa36a4561d4 100644 +--- a/torch/jit/_recursive.py ++++ b/torch/jit/_recursive.py +@@ -5,6 +5,7 @@ import collections + import textwrap + import functools + import warnings ++import sys + from typing import Dict, List, Set, Type + + import torch._jit_internal as _jit_internal +@@ -134,7 +135,22 @@ def infer_concrete_type_builder(nn_module, share_types=True): + if isinstance(nn_module, (torch.nn.ParameterDict)): + concrete_type_builder.set_parameter_dict() + +- class_annotations = getattr(nn_module, '__annotations__', {}) ++ def get_annotations(obj): ++ if sys.version_info < (3, 10): ++ return getattr(obj, '__annotations__', {}) ++ # In Python-3.10+ it is recommended to use inspect.get_annotations ++ # See https://docs.python.org/3.10/howto/annotations.html ++ # But also, in 3.10 annotations from base class are not inherited ++ # by unannotated derived one, so they must be manually extracted ++ annotations = inspect.get_annotations(obj) ++ if len(annotations) > 0: ++ return annotations ++ cls = obj if isinstance(obj, type) else type(obj) ++ if len(cls.__bases__) == 0: ++ return {} ++ return inspect.get_annotations(cls.__bases__[0]) ++ ++ class_annotations = get_annotations(nn_module) + if isinstance(nn_module, (torch.ao.quantization.QuantWrapper)): + class_annotations = {} + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-compat.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-compat.patch new file mode 100644 index 000000000000..957a31669b00 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-compat.patch @@ -0,0 +1,115 @@ +Fixes some compatibility issues with Python 3.10 + +Most notably conversion from float to long which avoids: + TypeError: 'float' object cannot be interpreted as an integer +Also some test failures in test_fx & test_jit due to differences in Python 3.10. + +From https://github.com/pytorch/pytorch/pull/82329 +Backported: Alexander Grund (TU Dresden) + +diff --git a/test/jit/test_hash.py b/test/jit/test_hash.py +index cb1c1544b10..2ca1e9cda0a 100644 +--- a/test/jit/test_hash.py ++++ b/test/jit/test_hash.py +@@ -75,7 +75,10 @@ class TestHash(JitTestCase): + self.checkScript(fn, (1.2345, float("inf"))) + self.checkScript(fn, (float("inf"), float("inf"))) + self.checkScript(fn, (1.2345, float('nan'))) +- self.checkScript(fn, (float("nan"), float("nan"))) ++ if sys.version_info < (3, 10): ++ # Hash of two nans are not guaranteed to be equal. From https://docs.python.org/3/whatsnew/3.10.html : ++ # Hashes of NaN values of both float type and decimal.Decimal type now depend on object identity. ++ self.checkScript(fn, (float("nan"), float("nan"))) + self.checkScript(fn, (float("nan"), float("inf"))) + + def test_hash_int(self): +diff --git a/test/test_fx.py b/test/test_fx.py +index 625614d29a8..307b629cab3 100644 +--- a/test/test_fx.py ++++ b/test/test_fx.py +@@ -3280,6 +3280,7 @@ class TestFX(JitTestCase): + .run(scripted.code) + + @unittest.skipIf(IS_WINDOWS, "Python Windows bug? https://bugs.python.org/issue45108") ++ @unittest.skipIf(sys.version_info >= (3, 10), "Does not work on Python-3.10") + def test_assert(self): + def f(x): + assert x > 1 +@@ -4017,7 +4018,7 @@ class TestFunctionalTracing(JitTestCase): + + def functional_test(self): + if func_name in self.UNTRACEABLE_FUNCTIONALS_PY38 and \ +- sys.version_info >= (3, 8) and sys.version_info < (3, 10): ++ sys.version_info >= (3, 8) and sys.version_info < (3, 11): + exc, err = self.UNTRACEABLE_FUNCTIONALS_PY38[func_name] + with self.assertRaisesRegex(exc, err): + symbolic_trace(fn) +diff --git a/test/test_jit.py b/test/test_jit.py +index 7dbae135a9a..ea436482a55 100644 +--- a/test/test_jit.py ++++ b/test/test_jit.py +@@ -7450,6 +7450,9 @@ a") + # tensor from empty list is type float in python and annotated type in torchscript + if "annotate" in li and "dtype" not in option: + continue ++ # Skip unsigned tensor initializaton for signed values on 3.10 ++ if sys.version_info[:2] >= (3, 10) and "torch.uint8" in option and "-" in li: ++ continue + code = tensor_template.format(list_create=li, tensor_op=op, options=option) + scope = {} + exec(code, globals(), scope) +diff --git a/torch/csrc/utils/python_scalars.h b/torch/csrc/utils/python_scalars.h +index 7f454bdff82..7df0662fa2c 100644 +--- a/torch/csrc/utils/python_scalars.h ++++ b/torch/csrc/utils/python_scalars.h +@@ -1,6 +1,7 @@ + #pragma once + + #include ++#include + #include + + #include +@@ -8,13 +9,37 @@ + + namespace torch { namespace utils { + ++template ++inline T unpackIntegral(PyObject* obj, const char* type) { ++#if PY_VERSION_HEX >= 0x030a00f0 ++ // In Python-3.10 floats can no longer be silently converted to integers ++ // Keep backward compatible behavior for now ++ if (PyFloat_Check(obj)) { ++ return c10::checked_convert(THPUtils_unpackDouble(obj), type); ++ } ++ return c10::checked_convert(THPUtils_unpackLong(obj), type); ++#else ++ return static_cast(THPUtils_unpackLong(obj)); ++#endif ++} ++ + inline void store_scalar(void* data, at::ScalarType scalarType, PyObject* obj) { + switch (scalarType) { +- case at::kByte: *(uint8_t*)data = (uint8_t)THPUtils_unpackLong(obj); break; +- case at::kChar: *(int8_t*)data = (int8_t)THPUtils_unpackLong(obj); break; +- case at::kShort: *(int16_t*)data = (int16_t)THPUtils_unpackLong(obj); break; +- case at::kInt: *(int32_t*)data = (int32_t)THPUtils_unpackLong(obj); break; +- case at::kLong: *(int64_t*)data = THPUtils_unpackLong(obj); break; ++ case at::kByte: ++ *(uint8_t*)data = unpackIntegral(obj, "uint8"); ++ break; ++ case at::kChar: ++ *(int8_t*)data = unpackIntegral(obj, "int8"); ++ break; ++ case at::kShort: ++ *(int16_t*)data = unpackIntegral(obj, "int16"); ++ break; ++ case at::kInt: ++ *(int32_t*)data = unpackIntegral(obj, "int32"); ++ break; ++ case at::kLong: ++ *(int64_t*)data = unpackIntegral(obj, "int64"); ++ break; + case at::kHalf: + *(at::Half*)data = at::convert(THPUtils_unpackDouble(obj)); + break; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_remove-flaky-test-in-testnn.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_remove-flaky-test-in-testnn.patch new file mode 100644 index 000000000000..31d44fb01d14 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_remove-flaky-test-in-testnn.patch @@ -0,0 +1,22 @@ +This test is flaky when run with the type float16. +I.e. TestNNDeviceTypeCPU.test_embedding_bag_device_cpu_int32_int32_float16 & + TestNNDeviceTypeCPU.test_embedding_bag_device_cpu_int64_int64_float16 +fail. +See https://github.com/pytorch/pytorch/issues/86638 +So remove the half precision test. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_nn.py b/test/test_nn.py +index aad884ebd4f..b514f72a3e9 100644 +--- a/test/test_nn.py ++++ b/test/test_nn.py +@@ -18236,7 +18236,7 @@ class TestNNDeviceType(NNTestCase): + self.assertRaises(RuntimeError, lambda: es(input.view(-1), offset)) + + @skipMeta +- @dtypes(*itertools.product((torch.int, torch.long), (torch.int, torch.long), (torch.float, torch.double, torch.half))) ++ @dtypes(*itertools.product((torch.int, torch.long), (torch.int, torch.long), (torch.float, torch.double))) + def test_embedding_bag_device(self, device, dtypes): + self._test_EmbeddingBag(device, 'sum', False, wdtype=dtypes[2], dtype=dtypes[0], odtype=dtypes[1]) + self._test_EmbeddingBag(device, 'mean', False, wdtype=dtypes[2], dtype=dtypes[0], odtype=dtypes[1]) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch new file mode 100644 index 000000000000..6b2fb2653951 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch @@ -0,0 +1,26 @@ +Those tests (from test_ao_sparsity) require FBGEMM which may not be available. +So add the skip decorator. +See https://github.com/pytorch/pytorch/issues/87364 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/ao/sparsity/test_composability.py b/test/ao/sparsity/test_composability.py +index b44c885507..b7d35343c0 100644 +--- a/test/ao/sparsity/test_composability.py ++++ b/test/ao/sparsity/test_composability.py +@@ -9,6 +9,7 @@ import torch.ao.quantization as tq + from torch import nn + from torch.ao import sparsity + from torch.testing._internal.common_utils import TestCase ++from torch.testing._internal.common_quantization import skipIfNoFBGEMM + + logging.basicConfig( + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO +@@ -23,6 +24,7 @@ sparse_defaults = { + # This series of tests are to check the composability goals for sparsity and quantization. Namely + # that performing quantization and sparsity model manipulations in various orderings + # does not cause problems ++@skipIfNoFBGEMM + class TestComposability(TestCase): + def _get_model_and_sparsifier_and_sparse_config(self, qconfig=None): + model = nn.Sequential( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-failing-grad-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-failing-grad-test.patch new file mode 100644 index 000000000000..a79bc9a7a5ed --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-failing-grad-test.patch @@ -0,0 +1,72 @@ +Test test_fn_grad_linalg_det_singular_cpu_complex128 in test_ops_gradients fails not only on Windows, +so extend the skip marker introduced in https://github.com/pytorch/pytorch/pull/69827 + +test_forward_mode_AD_norm_inf_cpu_complex128 in test_ops_gradients fails due to NaNs. +Might be fixed by https://github.com/pytorch/pytorch/pull/80082 where a part of the changes +come from with additional skip for that test similar to other complex128 skips. + +Also skip test_forward_mode_AD_nn_functional_max_unpool2d_cpu_float64 & test_forward_mode_AD_nn_functional_max_unpool3d_cpu_float64 +which may unexpectably succeed. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_methods_invocations.py b/torch/testing/_internal/common_methods_invocations.py +index 00eb3f7f09..8d009cf280 100644 +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -9729,11 +9729,11 @@ op_db: List[OpInfo] = [ + dtypesIfCUDA=all_types_and_complex_and(torch.bool, torch.half, torch.bfloat16, torch.chalf), + skips=( + # Inplace abs doesn't support complex inputs +- DecorateInfo(unittest.expectedFailure, 'TestGradients', ++ DecorateInfo(unittest.skip("In-place abs not supported for complex tensors"), 'TestGradients', + 'test_inplace_grad', dtypes=(torch.cdouble,)), +- DecorateInfo(unittest.expectedFailure, 'TestGradients', ++ DecorateInfo(unittest.skip("In-place abs not supported for complex tensors"), 'TestGradients', + 'test_inplace_gradgrad', dtypes=(torch.cdouble,)), +- DecorateInfo(unittest.expectedFailure, 'TestGradients', ++ DecorateInfo(unittest.skip("In-place abs not supported for complex tensors"), 'TestGradients', + 'test_inplace_forward_mode_AD', dtypes=(torch.cdouble,)), + DecorateInfo(unittest.skip("Skipped!"), 'TestUnaryUfuncs', 'test_reference_numerics_extremal', + device_type='cpu', dtypes=[torch.cfloat, torch.cdouble]), +@@ -11559,7 +11559,7 @@ op_db: List[OpInfo] = [ + skips=( + # These tests started breaking after touching the SVD. + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad', device_type='cpu', +- dtypes=(torch.complex128,), active_if=IS_WINDOWS), ++ dtypes=(torch.complex128,)), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + # dtypes are tested in the suite above, no need to repeat it for singular + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes'), +@@ -13447,7 +13447,7 @@ op_db: List[OpInfo] = [ + # and if there are several indices pointing to the same memory, + # gradcheck is oblivious about that and cannot perturb them all at once + # (see sample_inputs_max_unpool_grad to find out more). +- DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_forward_mode_AD'), ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_forward_mode_AD'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad'), + )), +@@ -13481,7 +13481,7 @@ op_db: List[OpInfo] = [ + # and if there are several indices pointing to the same memory, + # gradcheck is oblivious about that and cannot perturb them all at once + # (see sample_inputs_max_unpool_grad to find out more). +- DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_forward_mode_AD'), ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_forward_mode_AD'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad'), + )), +@@ -17230,6 +17230,13 @@ op_db: List[OpInfo] = [ + device_type="cpu", + dtypes=(torch.complex128,), + ), ++ DecorateInfo( ++ unittest.skip("NaNs in analytical jacobian!"), ++ "TestGradients", ++ "test_forward_mode_AD", ++ device_type="cpu", ++ dtypes=(torch.complex128,), ++ ), + DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_fn_fwgrad_bwgrad', + dtypes=[torch.complex128]), + # AssertionError: RuntimeError not raised : Expected RuntimeError when doing an unsafe cast from a result diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin.patch new file mode 100644 index 000000000000..ebeec6b80b55 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin.patch @@ -0,0 +1,35 @@ +test_round_robin & test_round_robin_create_destroy of distributed/test_c10d_gloo may run into timeouts. +So simply skip the on all OS (not only on Windows), the existing skip marker suggest that this is OK. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_c10d_gloo.py b/test/distributed/test_c10d_gloo.py +index e49d65ea33d..b4fb75a1b11 100644 +--- a/test/distributed/test_c10d_gloo.py ++++ b/test/distributed/test_c10d_gloo.py +@@ -10,6 +10,7 @@ import sys + import tempfile + from functools import reduce + from itertools import groupby ++from unittest import skip + + import torch + import torch.distributed as c10d +@@ -1415,7 +1415,7 @@ class ProcessGroupGlooTest(MultiProcessTestCase): + for i, tensor in enumerate(tensors): + self.assertEqual(torch.full(size, float(i * self.world_size)), tensor) + +- @skip_if_win32() ++ @skip("Occasionally times out") + @requires_gloo() + def test_round_robin(self): + num_process_groups = 2 +@@ -1438,7 +1439,7 @@ class ProcessGroupGlooTest(MultiProcessTestCase): + pg.broadcast(tensor, root=0).wait() + self.assertEqual(torch.full([100, 100], 0.0), tensor) + +- @skip_if_win32() ++ @skip("Occasionally times out") + @requires_gloo() + def test_round_robin_create_destroy(self): + store = c10d.FileStore(self.file_name, self.world_size) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch new file mode 100644 index 000000000000..f8e01a445dbe --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch @@ -0,0 +1,26 @@ +test_round_robin_create_destroy of distributed/test_c10d_gloo may run into timeouts. +So simply skip the on all OS (not only on Windows), the existing skip marker suggest that this is OK. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_c10d_gloo.py b/test/distributed/test_c10d_gloo.py +index e49d65ea33d..b4fb75a1b11 100644 +--- a/test/distributed/test_c10d_gloo.py ++++ b/test/distributed/test_c10d_gloo.py +@@ -10,6 +10,7 @@ import sys + import tempfile + from functools import reduce + from itertools import groupby ++from unittest import skip + + import torch + import torch.distributed as c10d +@@ -1438,7 +1439,7 @@ class ProcessGroupGlooTest(MultiProcessTestCase): + pg.broadcast(tensor, root=0).wait() + self.assertEqual(torch.full([100, 100], 0.0), tensor) + +- @skip_if_win32() ++ @skip("Occasionally times out") + @requires_gloo() + def test_round_robin_create_destroy(self): + store = c10d.FileStore(self.file_name, self.world_size) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_use-predefined-data-in-test-optim.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_use-predefined-data-in-test-optim.patch new file mode 100644 index 000000000000..5dc393c17fd7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_use-predefined-data-in-test-optim.patch @@ -0,0 +1,132 @@ +The test test_optim.test_nadam has high error rate, this let's the test use +predefined data instead to be more stable. See +https://github.com/pytorch/pytorch/issues/98414 + +Viktor Rehnberg +diff --git a/test/test_optim.py b/test/test_optim.py +index 6d587b4b352..c8ec9db87e1 100644 +--- a/test/test_optim.py ++++ b/test/test_optim.py +@@ -244,8 +244,14 @@ class TestOptim(TestCase): + return set(k for k in obj.__dict__ if not k.startswith('_')) + self.assertEqual(getPublicAttr(optimizer), getPublicAttr(deepcopy(optimizer))) + +- def _test_basic_cases(self, constructor, scheduler_constructors=None, +- ignore_multidevice=False, constructor_accepts_maximize=False): ++ def _test_basic_cases( ++ self, ++ constructor, ++ scheduler_constructors=None, ++ ignore_multidevice=False, ++ constructor_accepts_maximize=False, ++ use_predefined_data=False, ++ ): + if scheduler_constructors is None: + scheduler_constructors = [] + +@@ -254,26 +260,60 @@ class TestOptim(TestCase): + return lambda weight, bias: constructor(weight, bias, maximize) + return constructor + ++ def make_weight_tensor(): ++ if use_predefined_data: ++ return torch.Tensor([ ++ [ 0.6390, -0.5524, -0.1877, -1.1132, 0.3412], ++ [-0.6489, -0.6220, -1.2537, -0.0966, 0.5481], ++ [-0.6923, 0.5768, -0.9141, 1.9410, 1.0036], ++ [ 0.5842, 1.1618, -0.1871, 1.0344, 0.5668], ++ [ 0.2123, 2.3076, 0.7522, -0.7059, 1.3849], ++ [-0.1537, 0.5159, -1.2004, 0.2017, -0.0903], ++ [ 0.9434, -0.7030, 0.0618, -1.2951, 1.7721], ++ [ 0.5890, -1.0763, -1.2541, -0.8403, -0.4343], ++ [-0.2065, -0.6883, 0.8464, -0.7792, 0.6750], ++ [-1.6577, 0.4532, 0.0791, 0.2243, 0.1148], ++ ]) ++ else: ++ return torch.randn(10, 5) ++ ++ def make_bias_tensor(): ++ if use_predefined_data: ++ return torch.Tensor([ ++ -2.4031, -0.9295, -1.0762, 0.4600, -1.8620, -0.6234, 0.1999, -0.0612, 0.8319, -1.6673, ++ ]) ++ else: ++ return torch.randn(10) ++ ++ def make_input_tensor(): ++ if use_predefined_data: ++ return torch.Tensor([1.1119, -0.4309, -0.7759, -0.0659, 0.4746]) ++ else: ++ return torch.randn(5) ++ ++ def make_non_contiguous(tensor): ++ return torch.stack([tensor, tensor]).view(*tensor.size(), 2)[..., 0] ++ + for maximize in (True, False): + self._test_state_dict( +- torch.randn(10, 5), +- torch.randn(10), +- torch.randn(5), ++ make_weight_tensor(), ++ make_bias_tensor(), ++ make_input_tensor(), + make_two_arg_constructor(constructor, maximize), + ) + self._test_basic_cases_template( +- torch.randn(10, 5), +- torch.randn(10), +- torch.randn(5), ++ make_weight_tensor(), ++ make_bias_tensor(), ++ make_input_tensor(), + constructor, + scheduler_constructors, + constructor_accepts_maximize, + ) + # non-contiguous parameters + self._test_basic_cases_template( +- torch.randn(10, 5, 2)[..., 0], +- torch.randn(10, 2)[..., 0], +- torch.randn(5), ++ make_non_contiguous(make_weight_tensor()), ++ make_non_contiguous(make_bias_tensor()), ++ make_input_tensor(), + constructor, + scheduler_constructors, + constructor_accepts_maximize, +@@ -282,9 +322,9 @@ class TestOptim(TestCase): + if not torch.cuda.is_available(): + return + self._test_basic_cases_template( +- torch.randn(10, 5).cuda(), +- torch.randn(10).cuda(), +- torch.randn(5).cuda(), ++ make_weight_tensor().cuda(), ++ make_bias_tensor().cuda(), ++ make_input_tensor().cuda(), + constructor, + scheduler_constructors, + constructor_accepts_maximize, +@@ -293,9 +333,9 @@ class TestOptim(TestCase): + if not torch.cuda.device_count() > 1 or ignore_multidevice: + return + self._test_basic_cases_template( +- torch.randn(10, 5).cuda(0), +- torch.randn(10).cuda(1), +- torch.randn(5).cuda(0), ++ make_weight_tensor().cuda(0), ++ make_bias_tensor().cuda(1), ++ make_input_tensor().cuda(0), + constructor, + scheduler_constructors, + constructor_accepts_maximize, +@@ -668,7 +708,8 @@ class TestOptim(TestCase): + self._test_basic_cases( + lambda weight, bias: optimizer( + self._build_params_dict(weight, bias, lr=1e-2), +- lr=1e-3) ++ lr=1e-3), ++ use_predefined_data=True, + ) + self._test_basic_cases( + lambda weight, bias: optimizer([weight, bias], lr=1e-3, weight_decay=0.1, momentum_decay=6e-3) diff --git a/easybuild/easyconfigs/p/PyVCF3/PyVCF3-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyVCF3/PyVCF3-1.0.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..93af43ac5a99 --- /dev/null +++ b/easybuild/easyconfigs/p/PyVCF3/PyVCF3-1.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'PyVCF3' +version = '1.0.3' + +homepage = 'https://github.com/dridk/PyVCF3' +description = """A VCFv4.0 and 4.1 parser for Python. The intent of this module is to mimic the +csv module in the Python stdlib, as opposed to more flexible serialization +formats like JSON or YAML. vcf will attempt to parse the content of each record +based on the data types specified in the meta-information lines -- specifically +the ##INFO and ##FORMAT lines. If these lines are missing or incomplete, it +will check against the reserved types mentioned in the spec. Failing that, it +will just return strings. +PyVCF3 has been created because the Official PyVCF repository is no longer +maintained and do not accept any pull requests. This fork is for python 3 only +and has been published on pyPI as PyVCF3.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['4b16d71c8b97010487e2c939fb4d5707b7bbfa4e2b313df9dba3e372c5ba031d'], + 'modulename': 'vcf', + }), +] + +_pyvcf_scripts = ["vcf_filter.py", "vcf_melt", "vcf_sample_filter.py"] + +postinstallcmds = [ + # fix old scripts written for python 2, update is minor + "2to3 -w -n %%(installdir)s/bin/%s" % x for x in _pyvcf_scripts +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _pyvcf_scripts], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "vcf_filter.py --help", + "vcf_sample_filter.py --help" +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6f216f2874f7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '6.0' + +homepage = 'https://github.com/yaml/pyyaml' +description = "PyYAML is a YAML parser and emitter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), + ('libyaml', '0.2.5'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True +options = {'modulename': 'yaml'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-24.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-24.0.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..e604581d0527 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-24.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '24.0.1' + +homepage = 'https://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('ZeroMQ', '4.3.4'), +] + +options = {'modulename': 'zmq'} + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.20.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.20.0-GCC-11.3.0.eb new file mode 100755 index 000000000000..3420c765f84b --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.20.0-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.20.0' + +homepage = 'https://github.com/pysam-developers/pysam' +description = """Pysam is a python module for reading and manipulating Samfiles. + It's a lightweight wrapper of the samtools C-API. Pysam also includes an interface for tabix.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5a25d95b986c2cb9f5040b9df4e1d93ce9a8bc3af5a956b1317416ed05269f60'] + +dependencies = [ + ('Python', '3.10.4'), + ('ncurses', '6.3'), + ('cURL', '7.83.0'), + ('XZ', '5.2.5'), +] + +# https://github.com/pysam-developers/pysam/issues/1146#issuecomment-1309421979 +preinstallopts = """export CFLAGS="-fPIC $CFLAGS" && """ +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Python-bundle/Python-bundle-3.10.4-foss-2022a.eb b/easybuild/easyconfigs/p/Python-bundle/Python-bundle-3.10.4-foss-2022a.eb new file mode 100644 index 000000000000..0d2db0765c9d --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle/Python-bundle-3.10.4-foss-2022a.eb @@ -0,0 +1,20 @@ +easyblock = 'Bundle' + +name = 'Python-bundle' +version = '3.10.4' + +homepage = 'https://easybuild.io/' +description = """Python distribution with a number of widely used +extensions incl. NumPy, SciPy, Matplotlib, JupyterLab, MPI4PY, ... """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'lowopt': True} + +dependencies = [ + ('Python', version), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('JupyterLab', '3.5.0'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb index 630fe512e041..ce674d734f05 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb @@ -37,6 +37,11 @@ exts_default_options = { 'sanity_pip_check': True, } +# workaround for: AttributeError: 'module' object has no attribute '__legacy__' +# see also https://github.com/pypa/pip/issues/6264 +local_fix_pyproject_toml_cmd = r"""sed -i 's/\(\[build-system\]\)/\1\nbuild-backend="setuptools.build_meta"/g' """ +local_fix_pyproject_toml_cmd += "pyproject.toml && " + # order is important! # package versions updated Sept 13th 2019 exts_list = [ @@ -125,6 +130,7 @@ exts_list = [ ('PyNaCl', '1.3.0', { 'modulename': 'nacl', 'checksums': ['0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('bcrypt', '3.1.7', { 'checksums': ['0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42'], @@ -209,9 +215,11 @@ exts_list = [ }), ('importlib_metadata', '0.22', { 'checksums': ['652234b6ab8f2506ae58e528b6fbcc668831d3cc758e1bc01ef438d328b68cdb'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('pluggy', '0.13.0', { 'checksums': ['fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), # more-itertools 5.0.0 is the most recent version still supporting Python 2.x ('more-itertools', '5.0.0', { diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb index 40d1364f4e58..6cae29ec4ff5 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb @@ -175,6 +175,7 @@ exts_list = [ }), ('backports.entry_points_selectable', '1.1.0', { 'checksums': ['988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a'], + 'preinstallopts': "sed -i 's/^author =.*/version = %(version)s/g' setup.cfg && ", }), ('virtualenv', '20.7.0', { 'checksums': ['97066a978431ec096d163e72771df5357c5c898ffdd587048f45e0aecc228094'], @@ -245,6 +246,7 @@ exts_list = [ }), ('backports.functools_lru_cache', '1.6.4', { 'checksums': ['d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271'], + 'preinstallopts': "sed -i 's/^author .*/version = %(version)s/g' setup.cfg && ", }), ('wcwidth', '0.2.5', { 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], @@ -306,6 +308,7 @@ exts_list = [ }), ('singledispatch', '3.7.0', { 'checksums': ['c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092'], + 'preinstallopts': "sed -i 's/^author .*/version = %(version)s/g' setup.cfg && ", }), ('sortedcontainers', '2.4.0', { 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.2.0-bare.eb new file mode 100644 index 000000000000..f8c443163d48 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.2.0-bare.eb @@ -0,0 +1,32 @@ +name = 'Python' +version = '2.7.18' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [ + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb index 1cfac838d2c6..033fd05880f2 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb @@ -99,14 +99,9 @@ exts_list = [ 'modulename': 'arff', 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], }), - ('pycrypto', '2.6.1', { - 'modulename': 'Crypto', - 'patches': ['pycrypto-2.6.1_remove-usr-include.patch'], - 'checksums': [ - 'f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c', # pycrypto-2.6.1.tar.gz - # pycrypto-2.6.1_remove-usr-include.patch - '06c3d3bb290305e1360a023ea03f9281116c230de62382e6be9474996086712e', - ], + ('pycryptodome', '3.17', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['bce2e2d8e82fcf972005652371a3e8731956a0c1fbb719cc897943b3695ad91b'], }), ('ecdsa', '0.17.0', { 'checksums': ['b9f500bb439e4153d0330610f5d26baaf18d17b8ced1bc54410d189385ea68aa'], diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb new file mode 100644 index 000000000000..39fbf14affef --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb @@ -0,0 +1,35 @@ +name = 'Python' +version = '3.10.8' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..c134f2d27961 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0.eb @@ -0,0 +1,522 @@ +name = 'Python' +version = '3.10.8' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a'] + +builddependencies = [ + ('UnZip', '6.0'), + ('Rust', '1.65.0'), # required for setuptools-rust, which is needed for cryptography + ('pkgconf', '1.9.3'), + ('git', '2.38.1', '-nodocs'), # required for pbr +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('GMP', '6.2.1'), # required for pycrypto + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 12 Nov 2022 +exts_list = [ + ('wheel', '0.38.4', { + 'checksums': ['965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac'], + }), + ('setuptools', '63.4.3', { + 'checksums': ['521c833d1e5e1ef0869940e7f486a83de7773b9f029010ad0c2fe35453a9dad9'], + }), + ('pip', '22.3.1', { + 'checksums': ['65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38'], + }), + ('blist', '1.3.6', { + 'patches': [ + 'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch', + 'Python-3.10-bist-1.3.6-compatibility.patch', + ], + 'checksums': [ + {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'}, + {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch': + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'}, + {'Python-3.10-bist-1.3.6-compatibility.patch': + '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'}, + ], + }), + ('pbr', '5.11.0', { + 'checksums': ['b97bc6695b2aff02144133c2e7399d5885223d42b7912ffaec2ca3898e673bfe'], + }), + ('Cython', '0.29.32', { + 'checksums': ['8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('flit_core', '3.8.0', { + 'checksums': ['b305b30c99526df5e63d6022dd2310a0a941a187bd3884f4c8ef0418df6c39f3'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '21.3', { + 'checksums': ['dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb'], + }), + ('setuptools_scm', '7.0.5', { + 'checksums': ['031e13af771d6f892b941adb6ea04545bbf91ebc5ce68c78aaf3fff6e1fb4844'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycryptodome', '3.17', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['bce2e2d8e82fcf972005652371a3e8731956a0c1fbb719cc897943b3695ad91b'], + }), + ('ecdsa', '0.18.0', { + 'checksums': ['190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.5.1', { + 'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + ('cffi', '1.15.1', { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), + ('semantic_version', '2.10.0', { + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('setuptools-rust', '1.5.2', { + 'checksums': ['d8daccb14dc0eae1b6b6eb3ecef79675bd37b4065369f79c35393dd5c55652c7'], + }), + ('cryptography', '38.0.3', { + # avoid that cargo uses $HOME/.cargo, which can lead to build failures if home directory is NFS mounted, + # see https://github.com/rust-lang/cargo/issues/6652 + 'preinstallopts': "export CARGO_HOME=%(builddir)s/cargo && ", + 'checksums': ['bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd'], + }), + ('pyasn1', '0.4.8', { + 'checksums': ['aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba'], + }), + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + ('bcrypt', '4.0.1', { + 'checksums': ['27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd'], + }), + ('paramiko', '2.12.0', { + 'checksums': ['376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49'], + }), + ('pyparsing', '3.0.9', { + 'checksums': ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.8.0', { + 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('pytz', '2022.6', { + 'checksums': ['e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2'], + }), + ('bitstring', '3.1.9', { + 'checksums': ['a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.6', { + 'checksums': ['14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46'], + }), + ('filelock', '3.8.0', { + 'checksums': ['55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc'], + }), + ('zipp', '3.10.0', { + 'checksums': ['7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8'], + }), + ('importlib_metadata', '5.0.0', { + 'checksums': ['da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab'], + }), + ('backports.entry-points-selectable', '1.2.0', { + 'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'], + 'checksums': ['4706f59179657ca7c1d325a543ee1370f8f46331f432bcac62fab242fdf0afa5'], + }), + ('pathspec', '0.10.1', { + 'checksums': ['7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d'], + }), + ('pluggy', '1.0.0', { + 'checksums': ['4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159'], + }), + ('editables', '0.3', { + 'checksums': ['167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a'], + }), + ('hatchling', '1.11.1', { + 'checksums': ['9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0'], + }), + ('hatch_vcs', '0.2.0', { + 'checksums': ['9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff'], + }), + ('platformdirs', '2.5.3', { + 'checksums': ['6e52c21afff35cb659c6e52d8b4d61b9bd544557180440538f255d9382c8cbe0'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('importlib_resources', '5.10.0', { + 'checksums': ['c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668'], + }), + ('virtualenv', '20.16.6', { + 'checksums': ['530b850b523c6449406dfba859d6345e48ef19b8439606c5d74d7d3c9e14d76e'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + ('chardet', '5.0.0', { + 'checksums': ['0368df2bfd78b5fc20572bb4e9bb7fb53e2c094f60ae9993339e8671d0afb8aa'], + }), + ('certifi', '2022.9.24', { + 'checksums': ['0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14'], + }), + ('urllib3', '1.26.12', { + 'checksums': ['3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e'], + }), + ('charset-normalizer', '2.1.1', { + 'checksums': ['5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845'], + }), + ('requests', '2.28.1', { + 'checksums': ['7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.14', { + 'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('ujson', '5.5.0', { + 'checksums': ['b25077a971c7da47bd6846a912a747f6963776d90720c88603b1b55d81790780'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('more-itertools', '9.0.0', { + 'checksums': ['5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab'], + }), + ('attrs', '22.1.0', { + 'modulename': 'attr', + 'checksums': ['29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6'], + }), + ('backports.functools_lru_cache', '1.6.4', { + 'checksums': ['d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271'], + }), + ('wcwidth', '0.2.5', { + 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], + }), + ('iniconfig', '1.1.1', { + 'checksums': ['bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32'], + }), + ('colorama', '0.4.6', { + 'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'], + }), + ('flit_scm', '1.7.0', { + 'checksums': ['961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2'], + }), + ('exceptiongroup', '1.0.1', { + 'checksums': ['73866f7f842ede6cb1daa42c4af078e2035e5f7607f0e2c762cc51bb31bbe7b2'], + }), + ('pytest', '7.2.0', { + 'checksums': ['c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59'], + }), + ('MarkupSafe', '2.1.1', { + 'checksums': ['7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b'], + }), + ('Jinja2', '3.1.2', { + 'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'], + }), + ('sphinxcontrib-serializinghtml', '1.1.5', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'checksums': ['aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952'], + }), + ('sphinxcontrib-websupport', '1.2.4', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'], + }), + ('Pygments', '2.13.0', { + 'checksums': ['56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1'], + }), + ('imagesize', '1.4.1', { + 'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'], + }), + ('docutils', '0.19', { + 'checksums': ['33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6'], + }), + ('snowballstemmer', '2.2.0', { + 'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'], + }), + ('alabaster', '0.7.12', { + 'checksums': ['a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02'], + }), + ('sphinxcontrib-applehelp', '1.0.2', { + 'modulename': 'sphinxcontrib.applehelp', + 'checksums': ['a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58'], + }), + ('sphinxcontrib-devhelp', '1.0.2', { + 'modulename': 'sphinxcontrib.devhelp', + 'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'], + }), + ('sphinxcontrib-htmlhelp', '2.0.0', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'checksums': ['f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib-qthelp', '1.0.3', { + 'modulename': 'sphinxcontrib.qthelp', + 'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'], + }), + ('Babel', '2.11.0', { + 'checksums': ['5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6'], + }), + ('Sphinx', '5.3.0', { + 'checksums': ['51026de0a9ff9fc13c05d74913ad66047e104f56a129ff73e174eb5c3ee794b5'], + }), + ('sphinx-bootstrap-theme', '0.8.1', { + 'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'], + }), + ('click', '8.1.3', { + 'checksums': ['7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e'], + }), + ('psutil', '5.9.4', { + 'checksums': ['3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + ('flit', '3.8.0', { + 'checksums': ['d0f2a8f4bd45dc794befbf5839ecc0fd3830d65a57bd52b5997542fac5d5e937'], + }), + ('regex', '2022.10.31', { + 'checksums': ['a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.3.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['300f4b0825f57688b47b6d70c6a31de33512eb2fa1ac614f780939aa0cf91680'], + }), + ('clikit', '0.6.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + }), + ('jeepney', '0.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + ('keyring', '23.11.0', { + 'modulename': False, + 'checksums': ['ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361'], + }), + ('jaraco.classes', '3.2.3', { + 'checksums': ['89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a'], + }), + ('keyrings.alt', '4.2.0', { + 'modulename': False, + 'checksums': ['2ba3d56441ba0637f5f9c096068f67010ac0453f9d0b626de2aa3019353b6431'], + }), + ('tomlkit', '0.11.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b'], + }), + ('shellingham', '1.5.0', { + 'checksums': ['72fb7f5c63103ca2cb91b23dee0c71fe8ad6fbfd46418ef17dbe40db51592dad'], + }), + ('requests-toolbelt', '0.9.1', { + 'checksums': ['968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0'], + }), + ('pyrsistent', '0.19.2', { + 'checksums': ['bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2'], + }), + ('pkginfo', '1.8.3', { + 'checksums': ['a84da4318dd86f870a9447a8c98340aa06216bfc6f2b7bdc4b8766984ae1867c'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('hatch_fancy_pypi_readme', '22.8.0', { + 'checksums': ['da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a'], + }), + ('jsonschema', '4.17.0', { + 'checksums': ['5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d'], + }), + ('simplejson', '3.17.6', { + 'checksums': ['cf98038d2abf63a1ada5730e91e84c642ba6c225b0198c3684151b1f80c5f8a6'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('cleo', '1.0.0a5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff53056589300976e960f75afb792dfbfc9c78dcbb5a448e207a17b643826360'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.4', { + 'checksums': ['f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry-core', '1.3.2', { + 'modulename': 'poetry.core', + 'checksums': ['0ab006a40cb38d6a38b97264f6835da2f08a96912f2728ce668e9ac6a34f686f'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('dulwich', '0.20.50', { + 'checksums': ['50a941796b2c675be39be728d540c16b5b7ce77eb9e1b3f855650ece6832d2be'], + }), + ('poetry_plugin_export', '1.2.0', { + 'checksums': ['9a1dd42765408931d7831738749022651d43a2968b67c988db1b7a567dfe41ef'], + }), + ('poetry', '1.2.2', { + 'checksums': ['6d9ed0b1b826a0a79190f2078d7d78483fa24bf2494f3b170e354eaa5e7b5ea1'], + }), + ('fsspec', '2022.11.0', { + 'checksums': ['259d5fd5c8e756ff2ea72f42e7613c32667dc2049a4ac3d84364a7ca034acb8b'], + }), + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + ('doit', '0.36.0', { + 'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'], + }), + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + ('pydevtool', '0.3.0', { + 'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'], + }), + ('rich', '13.1.0', { + 'checksums': ['81c73a30b144bbcdedc13f4ea0b6ffd7fdc3b0d3cc259a9402309c8e4aee1964'], + }), + ('rich-click', '1.6.0', { + 'checksums': ['33799c31f8817101f2eb8fe90e95d2c2acd428a567ee64358ca487f963f75e9c'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-xdist', '3.1.0', { + 'modulename': 'xdist', + 'checksums': ['40fdb8f3544921c5dfcd486ac080ce22870e71d82ced6d2e78fa97c2addd480c'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.11.2-GCCcore-12.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.11.2-GCCcore-12.2.0-bare.eb new file mode 100644 index 000000000000..7c1cddc4f4ed --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.11.2-GCCcore-12.2.0-bare.eb @@ -0,0 +1,35 @@ +name = 'Python' +version = '3.11.2' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['2411c74bda5bbcfcddaf4531f66d1adc73f247f529aee981b029513aefdbf849'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..4a07aaf936cd --- /dev/null +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'p11-kit' +version = '0.24.1' + +homepage = 'https://p11-glue.freedesktop.org/p11-kit.html' +description = """Provides a way to load and enumerate PKCS#11 modules. + Provides a standard configuration setup for installing + PKCS#11 modules in such a way that they're discoverable. + Also solves problems with coordinating the use of PKCS#11 + by different components or libraries living in the same process.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('libtasn1', '4.19.0'), + ('libffi', '3.4.2'), +] + +preconfigopts = "bashcompdir=%(installdir)s/share/bash-completions " + +configopts = "--without-systemd" + +sanity_check_paths = { + 'files': ['bin/p11-kit', 'bin/trust'] + + ['lib/libp11-kit.%s' % SHLIB_EXT], + 'dirs': ['include/p11-kit-1/p11-kit'], +} + +sanity_check_commands = ["p11-kit --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb index 8c1b293c3728..9ceffd4c1004 100644 --- a/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'p7zip' version = '17.03' -homepage = 'https://github.com/jinfeihan57/p7zip/' +homepage = 'https://github.com/p7zip-project/p7zip/' description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -github_account = 'jinfeihan57' +github_account = 'p7zip-project' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['bb4b9b21584c0e076e0b4b2705af0dbe7ac19d378aa7f09a79da33a5b3293187'] diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb index 3239c13051d3..1a1e8bee25f1 100644 --- a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'p7zip' version = '17.04' -homepage = 'https://github.com/jinfeihan57/p7zip/' +homepage = 'https://github.com/p7zip-project/p7zip/' description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" toolchain = {'name': 'GCCcore', 'version': '10.3.0'} -github_account = 'jinfeihan57' +github_account = 'p7zip-project' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb index ac2df0865b01..cab4069d0183 100644 --- a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'p7zip' version = '17.04' -homepage = 'https://github.com/jinfeihan57/p7zip/' +homepage = 'https://github.com/p7zip-project/p7zip/' description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" toolchain = {'name': 'GCCcore', 'version': '11.2.0'} -github_account = 'jinfeihan57' +github_account = 'p7zip-project' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb index 20265bc30b3b..de1003ee0dfc 100644 --- a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'p7zip' version = '17.04' -homepage = 'https://github.com/jinfeihan57/p7zip/' +homepage = 'https://github.com/p7zip-project/p7zip/' description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" toolchain = {'name': 'GCCcore', 'version': '11.3.0'} -github_account = 'jinfeihan57' +github_account = 'p7zip-project' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] diff --git a/easybuild/easyconfigs/p/panaroo/panaroo-1.3.2-foss-2021b.eb b/easybuild/easyconfigs/p/panaroo/panaroo-1.3.2-foss-2021b.eb new file mode 100755 index 000000000000..d7b9f1bdbbb0 --- /dev/null +++ b/easybuild/easyconfigs/p/panaroo/panaroo-1.3.2-foss-2021b.eb @@ -0,0 +1,68 @@ +# Author: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'panaroo' +version = '1.3.2' + +homepage = 'https://gtonkinhill.github.io/panaroo/' +description = "A pangenome analysis pipeline." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('CD-HIT', '4.8.1'), + ('PRANK', '170427'), + ('Biopython', '1.79'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('edlib', '1.3.9'), + ('tqdm', '4.62.3'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('plotly.py', '5.4.0'), + ('DendroPy', '4.5.2'), + ('pyfaidx', '0.7.0'), + ('prokka', '1.14.5'), + ('python-igraph', '0.9.8') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('argh', '0.27.2', { + 'checksums': ['00c9027f6f461bcf24afe599a281bbda5cbd5dee4b6705befbea293a4ca7d221'], + }), + ('peewee', '3.15.4', { + 'checksums': ['2581520c8dfbacd9d580c2719ae259f0637a9e46eda47dfc0ce01864c6366205'], + }), + ('taxadb', '0.12.1', { + 'checksums': ['eca577cd0f4ff2f26c7d8f68d7f5a0d2f7a2f73e623139ded2493e429b23cecd'], + }), + ('biocode', '0.10.0', { + 'preinstallopts': 'sed -i "s/python-igraph/igraph/" setup.py &&', + 'checksums': ['ab48e0ea92f52c7fe48c6c947d4d5aa43437f16cd42a804546c71ef0e5ba2265'], + }), + ('gffutils', '0.11.1', { + 'checksums': ['ca7bf814d600b389bb2d5c403dd279755118cb1476c19c6f7aecb8c51a84263c'], + }), + ('intbitset', '3.0.2', { + 'checksums': ['a300b2d5a4989857ff1d0c3971624766a89a751e315aa080c07865031ae637a7'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/gtonkinhill/panaroo/archive/'], + 'checksums': ['290580ce094d9f790fe992c13dddd10ed6c33b389a50c434851ce2d04e0f34db'], + }), +] + +sanity_check_commands = [ + "panaroo --version" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2022a.eb b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2022a.eb new file mode 100644 index 000000000000..462e3e4976a6 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2022a.eb @@ -0,0 +1,41 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'parallel-fastq-dump' +version = '0.6.7' + +homepage = 'https://github.com/rvalieris/parallel-fastq-dump' +description = "parallel fastq-dump wrapper" +docurls = ["https://github.com/rvalieris/parallel-fastq-dump"] + +toolchain = {'name': 'gompi', 'version': '2022a'} + +# https://github.com/rvalieris/parallel-fastq-dump/archive/ +github_account = 'rvalieris' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['cb33ea0ed0b1123c100aee7b9ea60a3fc3fc81a3a46be5237c85ba56380617de'] + +dependencies = [ + ('Python', '3.10.4'), + ('SRA-Toolkit', '3.0.3'), +] + +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/parasail/parasail-2.6-GCC-11.3.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.6-GCC-11.3.0.eb new file mode 100755 index 000000000000..e613ae5ca19e --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.6-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'parasail' +version = '2.6' + +homepage = 'https://github.com/jeffdaily/parasail' +description = """parasail is a SIMD C (C99) library containing implementations + of the Smith-Waterman (local), Needleman-Wunsch (global), and semi-global + pairwise sequence alignment algorithms. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +# https://github.com/jeffdaily/parasail +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f175923063547a9c2ca65254bca0745d5d2398216dab7dd937c912a790c98b2f'] + +builddependencies = [('CMake', '3.23.1')] + +sanity_check_paths = { + 'files': ['bin/parasail_aligner', 'bin/parasail_stats', + 'lib/libparasail.%s' % SHLIB_EXT, 'include/parasail.h'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2021a.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2021a.eb new file mode 100644 index 000000000000..5bd495d2adb8 --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2021a.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..2ad121fa5b7c --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'pdsh' +version = '2.34' + +homepage = 'https://github.com/chaos/pdsh' +description = "A high performance, parallel remote shell utility" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libreadline', '8.1.2'), +] + +configopts = "--with-ssh --with-slurm --with-mrsh --with-readline" + +sanity_check_paths = { + 'files': ['bin/dshbak', 'bin/pdcp', 'bin/pdsh', 'bin/rpdcp'], + 'dirs': ['lib/pdsh', 'share/man/man1'], +} + +sanity_check_commands = [ + "dshbak -h", + "pdcp -h 2>&1 | grep '^Usage: pdcp'", + "pdsh -h 2>&1 | grep '^Usage: pdsh'", + "rpdcp -h 2>&1 | grep '^Usage: rpdcp'", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..1b8e1f8ed55d --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'pdsh' +version = '2.34' + +homepage = 'https://github.com/chaos/pdsh' +description = "A high performance, parallel remote shell utility" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('libreadline', '8.2'), +] + +configopts = "--with-ssh --with-slurm --with-mrsh --with-readline" + +sanity_check_paths = { + 'files': ['bin/dshbak', 'bin/pdcp', 'bin/pdsh', 'bin/rpdcp'], + 'dirs': ['lib/pdsh', 'share/man/man1'], +} + +sanity_check_commands = [ + "dshbak -h", + "pdcp -h 2>&1 | grep '^Usage: pdcp'", + "pdsh -h 2>&1 | grep '^Usage: pdsh'", + "rpdcp -h 2>&1 | grep '^Usage: rpdcp'", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb new file mode 100644 index 000000000000..d06fecee5a29 --- /dev/null +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'phonopy' +version = '2.16.3' + +homepage = 'https://atztogo.github.io/phonopy/' +description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c536d355156626f26e5d5fd158b03e10c4a13c461d6a02a26b05e3b6311b9d79'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy + ('matplotlib', '3.5.2'), + ('PyYAML', '6.0'), + ('h5py', '3.7.0'), + ('spglib-python', '2.0.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/phonopy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["phonopy --help"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/phyx/phyx-1.3-foss-2022a.eb b/easybuild/easyconfigs/p/phyx/phyx-1.3-foss-2022a.eb new file mode 100644 index 000000000000..ba5ddd695731 --- /dev/null +++ b/easybuild/easyconfigs/p/phyx/phyx-1.3-foss-2022a.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'ConfigureMake' + +name = 'phyx' +version = '1.3' + +homepage = 'https://github.com/FePhyFoFum/%(name)s' +description = "phyx performs phylogenetics analyses on trees and sequences." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +github_account = 'FePhyFoFum' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_link_flexiblas.patch'] +checksums = [ + {'v1.3.tar.gz': 'b09677f98f997838b39cd2724463be06d0627ddc90a7e659dc90d4e02db624eb'}, + {'phyx-1.3_link_flexiblas.patch': 'e9dc98da0f3c5df8e5b8ac3e64c2b0f77358f61fc60a4aadce5ad790b636ebdd'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Armadillo', '11.4.3'), + ('NLopt', '2.7.1'), +] + +start_dir = 'src' + +preconfigopts = "autoreconf -f -i && " + +preinstallopts = 'mkdir %(installdir)s/bin && ' + +sanity_check_paths = { + 'files': ['bin/' + _exec for _exec in ["pxaa2cdn", "pxbdfit", "pxbdsim", + "pxboot", "pxbp", "pxcat", "pxclsq", "pxcltr", "pxcolt", "pxconsq", + "pxcontrates", "pxfqfilt", "pxlog", "pxlssq", "pxlstr", "pxmrca", + "pxmrcacut", "pxmrcaname", "pxnw", "pxrecode", "pxrevcomp", + "pxrls", "pxrlt", "pxrmk", "pxrms", "pxrmt", "pxrr", "pxs2fa", "pxs2nex", + "pxs2phy", "pxseqgen", "pxssort", "pxsstat", "pxstrec", "pxsw", "pxt2new", + "pxt2nex", "pxtcol", "pxtcomb", "pxtlate", "pxtrt", "pxtscale", + "pxvcf2fa"]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/phyx/phyx-1.3_link_flexiblas.patch b/easybuild/easyconfigs/p/phyx/phyx-1.3_link_flexiblas.patch new file mode 100644 index 000000000000..1b541919cf8d --- /dev/null +++ b/easybuild/easyconfigs/p/phyx/phyx-1.3_link_flexiblas.patch @@ -0,0 +1,14 @@ +replace linking with lapack and blas by flexiblas +autor: Graham Derryberry +diff -Naur phyx-1.3.orig/src/Makefile.in phyx-1.3/src/Makefile.in +--- phyx-1.3.orig/src/Makefile.in 2023-04-12 22:44:14.000000000 -0400 ++++ phyx-1.3/src/Makefile.in 2023-04-13 09:57:34.000000000 -0400 +@@ -17,7 +17,7 @@ + HARM := @HARM@ + HOMP := @HOMP@ + +-CPP_LIBS = -llapack -lblas -lpthread -lm ++CPP_LIBS = -lflexiblas -lpthread -lm + ifeq "$(HNLOPT)" "Y" + CPP_LIBS += -lnlopt + endif diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..95cc9bff5e7c --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.7' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.6_makefile.patch'] +checksums = [ + {'pigz-2.7.tar.gz': 'b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707'}, + {'pigz-2.6_makefile.patch': '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..17b7e5b6432a --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'pixman' +version = '0.42.2' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..bd5895c7aa03 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.9.3' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://distfiles.dereferenced.org/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d73ac21a9410f5cc636acf730f3a5bf46b28d1e18a239c89efc4b2c5548792f'] + +builddependencies = [('binutils', '2.39')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.2.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.2.0-python.eb new file mode 100644 index 000000000000..95979ef5286a --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.2.0-python.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'pkgconfig' +version = '1.5.5' +# The -python versionsuffix is used to avoid confusion between +# pkg-config (the tool) and pkgconfig (the Python wrappers) +versionsuffix = '-python' + +homepage = 'https://github.com/matze/pkgconfig' +description = """pkgconfig is a Python module to interface with the pkg-config command line tool""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('pkgconf', '1.9.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..97a84ddcb6a8 --- /dev/null +++ b/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'plot1cell' +version = '0.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/HaojiaWu/plot1cell' +description = "plot1cell: a package for advanced single cell data visualization" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/HaojiaWu/plot1cell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ac39a21e8530d7eb489ac64d8e56d19dcbf3f904b99fc91cf0746bb230f37a10'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('DoubletFinder', '2.0.3-20230131', versionsuffix), + ('loomR', '0.2.0-20180425', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.12.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.12.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..10401fd48fc8 --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.12.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.12.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [('Python', '3.10.4')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.0.1', { + 'checksums': ['43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f'], + }), + ('plotly', version, { + 'checksums': ['8bf1b37a1e3cb260a4aa77ab79c9db4fd0ad3ccd66463c3a3e8a5300196ec61e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.13.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.13.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..818ae974dd7d --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.13.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.13.1' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [('Python', '3.10.8')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.2.2', { + 'checksums': ['43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0'], + }), + ('plotly', version, { + 'checksums': ['90ee9a1fee0dda30e2830e129855081ea17bd1b06a553a62b62de15caff1a219'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0.eb index d9dbdf2fa1db..06688ffbce21 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'CMakeNinja' name = 'pocl' version = '1.8' -homepage = 'https://portablecl.org' +homepage = 'http://portablecl.org' description = "Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard" toolchain = {'name': 'GCC', 'version': '11.3.0'} diff --git a/easybuild/easyconfigs/p/poetry/poetry-1.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/poetry/poetry-1.2.2-GCCcore-11.3.0.eb new file mode 100755 index 000000000000..c73bba0beffc --- /dev/null +++ b/easybuild/easyconfigs/p/poetry/poetry-1.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'poetry' +version = '1.2.2' + +homepage = 'https://python-poetry.org' +description = """Python packaging and dependency management made easy. Poetry helps you declare, manage and install + dependencies of Python projects, ensuring you have the right stack everywhere.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '21.3', { + 'checksums': ['dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb'], + }), + ('dulwich', '0.20.50', { + 'checksums': ['50a941796b2c675be39be728d540c16b5b7ce77eb9e1b3f855650ece6832d2be'], + }), + ('poetry_plugin_export', '1.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['109fb43ebfd0e79d8be2e7f9d43ba2ae357c4975a18dfc0cfdd9597dd086790e'], + }), + ('cleo', '1.0.0a5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff53056589300976e960f75afb792dfbfc9c78dcbb5a448e207a17b643826360'], + }), + ('jsonschema', '4.17.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248'], + }), + ('platformdirs', '2.5.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0cb405749187a194f444c25c82ef7225232f11564721eabffc6ec70df83b11cb'], + }), + ('shellingham', '1.5.0', { + 'checksums': ['72fb7f5c63103ca2cb91b23dee0c71fe8ad6fbfd46418ef17dbe40db51592dad'], + }), + ('tomlkit', '0.11.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b'], + }), + ('poetry_core', '1.3.2', { + 'modulename': 'poetry.core', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ea0f5a90b339cde132b4e43cff78a1b440cd928db864bb67cfc97fdfcefe7218'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['93ea3c4a622485c2a7b7249f1e34e4ac84f8229ded76153b67506313201b154f'], + }), + ('pathspec', '0.10.1', { + 'checksums': ['7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d'], + }), + ('hatchling', '1.11.1', { + 'checksums': ['9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0'], + }), + ('hatch_vcs', '0.2.0', { + 'checksums': ['9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/polars/polars-0.15.6-foss-2022a.eb b/easybuild/easyconfigs/p/polars/polars-0.15.6-foss-2022a.eb new file mode 100644 index 000000000000..12b58c2b3524 --- /dev/null +++ b/easybuild/easyconfigs/p/polars/polars-0.15.6-foss-2022a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'polars' +version = '0.15.6' + +homepage = 'https://pola.rs/' +description = """Lightning-fast DataFrame library for Rust and Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + # required for setuptools-rust, which is needed for maturin + # (and is needed in a more recent version than supplied with Python 3.10.4) + ('Rust', '1.65.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Arrow', '8.0.0'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('setuptools', '65.6.3', { + 'checksums': ['a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75'], + }), + ('setuptools-rust', '1.5.2', { + 'checksums': ['d8daccb14dc0eae1b6b6eb3ecef79675bd37b4065369f79c35393dd5c55652c7'], + }), + ('maturin', '0.14.6', { + 'checksums': ['021e0b557e907027a6c7f10968635fd4c15522eee0688fed031b1ac6240ecac4'], + }), + ('connectorx', '0.3.1', { + 'source_tmpl': 'connectorx-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['71d2c2678339fb01f89469bbe22e66e75cabcf727a52ed72d576fef5744ebc58'], + }), + ('xlsx2csv', '0.8.0', { + 'checksums': ['2c268e509b7766ca4a24f2f36302e918705c5ead2fcde3f4bd5f1ca6152f7e2c'], + }), + ('deltalake', '0.6.4', { + 'checksums': ['2f3cf70d67c17a7d5928c7da214ff795283f628311d91643602176dc50f7099e'], + }), + (name, version, { + 'checksums': ['f6d27e88b46ddd88036869f066c12dd6877192d936430b43001e092529766cee'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/polymake/polymake-4.8-GCC-11.3.0.eb b/easybuild/easyconfigs/p/polymake/polymake-4.8-GCC-11.3.0.eb new file mode 100644 index 000000000000..bb766d019559 --- /dev/null +++ b/easybuild/easyconfigs/p/polymake/polymake-4.8-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'polymake' +version = '4.8' + +homepage = 'https://polymake.org' +description = """polymake is open source software for research in polyhedral geometry. +It deals with polytopes, polyhedra and fans as well as simplicial complexes, matroids, +graphs, tropical hypersurfaces, and other objects.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://polymake.org/lib/exe/fetch.php/download/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['3f7bd19d6ac1372ae32368e57134ff37a11fbe9eb1f6abe8195b34c5eec29b11'] + +dependencies = [ + ('Ninja', '1.10.2'), + ('libxml2', '2.9.13'), + ('libxslt', '1.1.34'), + ('libreadline', '8.1.2'), + ('Perl', '5.34.1'), + ('SVG', '2.87'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('Boost', '1.79.0'), + ('FLINT', '2.9.0'), + ('Java', '11', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/polymake', 'bin/polymake-config', 'lib/libpolymake.%s' % SHLIB_EXT, + 'lib/libpolymake-apps.%s' % SHLIB_EXT, 'lib/libpolymake-apps-rt.%s' % SHLIB_EXT], + 'dirs': ['include/polymake', 'lib/polymake', 'share/polymake'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/poppler/poppler-22.12.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/poppler/poppler-22.12.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..ab2bab388264 --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-22.12.0-GCC-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '22.12.0' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('freetype', '2.12.1'), + ('fontconfig', '2.14.0'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('NSS', '3.79'), + ('LibTIFF', '4.3.0'), + ('Qt5', '5.15.5'), + ('Boost', '1.79.0'), + ('cairo', '1.17.4'), + ('OpenJPEG', '2.5.0'), + ('zlib', '1.2.12'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['d9aa9cacdfbd0f8e98fc2b3bb008e645597ed480685757c3e7bc74b4278d15c0'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.11', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/powerlaw/powerlaw-1.5-foss-2022a.eb b/easybuild/easyconfigs/p/powerlaw/powerlaw-1.5-foss-2022a.eb new file mode 100644 index 000000000000..76d531749152 --- /dev/null +++ b/easybuild/easyconfigs/p/powerlaw/powerlaw-1.5-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'powerlaw' +version = '1.5' + +homepage = 'http://www.github.com/jeffalstott/powerlaw' +description = "powerlaw: A Python Package for Analysis of Heavy-Tailed Distributions" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_PY3_WHL] +checksums = ['633a669573d9fd663d2f452f121117f2d6b2f2c502eca532f9355f733abfec96'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pp-sketchlib/pp-sketchlib-2.1.1-foss-2022a.eb b/easybuild/easyconfigs/p/pp-sketchlib/pp-sketchlib-2.1.1-foss-2022a.eb new file mode 100644 index 000000000000..ee3db5ffcf26 --- /dev/null +++ b/easybuild/easyconfigs/p/pp-sketchlib/pp-sketchlib-2.1.1-foss-2022a.eb @@ -0,0 +1,44 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'pp-sketchlib' +version = '2.1.1' + +homepage = 'https://github.com/bacpop/pp-sketchlib' +description = """Library of sketching functions used by PopPUNK""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('HDF5', '1.12.2'), + ('pybind11', '2.9.2'), + ('Eigen', '3.4.0'), + ('Boost', '1.79.0'), + ('nlohmann_json', '3.10.5'), + ('HighFive', '2.6.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + (name, version, { + 'source_urls': ['https://github.com/bacpop/pp-sketchlib/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['b42acf0a58ea3225e3fe95adc8fc165578832c58e6f5b6fb3f7817655e0a9f30'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..85b102d32917 --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.2.0' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/preseq/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['95b81c9054e0d651de398585c7e96b807ad98f0bdc541b3e46665febbe2134d9'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['preseq', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = ['preseq'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20230113-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230113-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..97c1a2bd5456 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230113-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'presto' +local_commit = '045390a' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0.0-20230113' +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': '2022a'} + +source_urls = ['https://github.com/immunogenomics/presto/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['79b92212d2d3165e27d137aa9c216c531934b67f37d413022fa8b1b48b36a209'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..254d50dc31ce --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +## +# This is a contribution from Phoenix HPC Service, The University of Adelaide, Australia +# Homepage: https://www.adelaide.edu.au/phoenix/ +# +# Copyright:: adelaide.edu.au/phoenix +# Authors:: Robert Qiao , Exe Escobedo +# License:: GPL-v3.0 +# +# Updated: Pavel Grochal (INUITS) +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'prodigal' +version = '2.6.3' + +homepage = 'https://github.com/hyattpd/Prodigal/' + +description = """Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) + is a microbial (bacterial and archaeal) gene finding program developed + at Oak Ridge National Laboratory and the University of Tennessee.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.38')] + +files_to_copy = [ + (['prodigal'], 'bin'), + (['*.h'], 'include'), + (['LICENSE'], 'license'), +] + +sanity_check_paths = { + 'files': ['bin/prodigal'], + 'dirs': ['include', 'license'], +} + +sanity_check_commands = ["prodigal -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021b.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021b.eb new file mode 100755 index 000000000000..9ce8c18ac837 --- /dev/null +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021b.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# John Dey jfdey@fredhutch.org +# Fred Hutchenson Cancer Research Center +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'Tarball' + +name = 'prokka' +version = '1.14.5' + +homepage = 'https://www.vicbioinformatics.com/software.prokka.shtml' +description = "Prokka is a software tool for the rapid annotation of prokaryotic genomes." + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/tseemann/prokka/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] + +dependencies = [ + ('BioPerl', '1.7.8'), + ('BLAST+', '2.12.0'), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20210722'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), +] + +local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', + 'prokka-biocyc_to_fasta_db', 'prokka-clusters_to_hmm', 'prokka-hamap_to_hmm', + 'prokka-uniprot_to_fasta_db', 'prokka-build_kingdom_dbs', 'prokka-genbank_to_fasta_db', + 'prokka-make_tarball'] + +postinstallcmds = ["%(installdir)s/bin/prokka --setupdb"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files] + ['binaries/linux/aragorn', 'db/cm/Bacteria', 'doc/ToDoList.txt'], + 'dirs': ['bin', 'binaries', 'db', 'db/cm', 'db/genus', 'db/hmm', 'db/kingdom', 'doc'], +} + +sanity_check_commands = [ + "prokka --version", + "prokka --listdb", +] + +modloadmsg = "prokka scripts are located in $EBROOTPROKKA/bin; databases are located in $EBROOTPROKKA/db\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022a.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022a.eb new file mode 100644 index 000000000000..c1a3cfa1cd2f --- /dev/null +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022a.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# John Dey jfdey@fredhutch.org +# Fred Hutchenson Cancer Research Center +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'Tarball' + +name = 'prokka' +version = '1.14.5' + +homepage = 'https://www.vicbioinformatics.com/software.prokka.shtml' +description = "Prokka is a software tool for the rapid annotation of prokaryotic genomes." + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/tseemann/prokka/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] + +dependencies = [ + ('BioPerl', '1.7.8'), + ('BLAST+', '2.13.0'), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20220722'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), +] + +local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', + 'prokka-biocyc_to_fasta_db', 'prokka-clusters_to_hmm', 'prokka-hamap_to_hmm', + 'prokka-uniprot_to_fasta_db', 'prokka-build_kingdom_dbs', 'prokka-genbank_to_fasta_db', + 'prokka-make_tarball'] + +postinstallcmds = ["%(installdir)s/bin/prokka --setupdb"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files] + ['binaries/linux/aragorn', 'db/cm/Bacteria', 'doc/ToDoList.txt'], + 'dirs': ['bin', 'binaries', 'db', 'db/cm', 'db/genus', 'db/hmm', 'db/kingdom', 'doc'], +} + +sanity_check_commands = [ + "prokka --version", + "prokka --listdb", +] + +modloadmsg = "prokka scripts are located in $EBROOTPROKKA/bin; databases are located in $EBROOTPROKKA/db\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-21.9_linking-error.patch b/easybuild/easyconfigs/p/protobuf/protobuf-21.9_linking-error.patch new file mode 100644 index 000000000000..3b7fd616d635 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-21.9_linking-error.patch @@ -0,0 +1,37 @@ +# https://github.com/protocolbuffers/protobuf/pull/11032 +diff -ruN protobuf-21.9-orig/src/libprotobuf-lite.map protobuf-21.9/src/libprotobuf-lite.map +--- protobuf-21.9-orig/src/libprotobuf-lite.map 2022-12-18 15:56:13.701778705 +0100 ++++ protobuf-21.9/src/libprotobuf-lite.map 2022-12-18 15:57:06.973681257 +0100 +@@ -3,6 +3,8 @@ + extern "C++" { + *google*; + }; ++ scc_info_*; ++ descriptor_table_*; + + local: + *; +diff -ruN protobuf-21.9-orig/src/libprotobuf.map protobuf-21.9/src/libprotobuf.map +--- protobuf-21.9-orig/src/libprotobuf.map 2022-12-18 15:56:13.702992299 +0100 ++++ protobuf-21.9/src/libprotobuf.map 2022-12-18 15:57:11.786965226 +0100 +@@ -3,6 +3,8 @@ + extern "C++" { + *google*; + }; ++ scc_info_*; ++ descriptor_table_*; + + local: + *; +diff -ruN protobuf-21.9-orig/src/libprotoc.map protobuf-21.9/src/libprotoc.map +--- protobuf-21.9-orig/src/libprotoc.map 2022-12-18 15:56:13.704384023 +0100 ++++ protobuf-21.9/src/libprotoc.map 2022-12-18 15:57:15.907564998 +0100 +@@ -3,6 +3,8 @@ + extern "C++" { + *google*; + }; ++ scc_info_*; ++ descriptor_table_*; + + local: + *; diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-3.21.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-3.21.9-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..93d2bca89f43 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-3.21.9-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '3.21.9' + +homepage = 'https://github.com/protocolbuffers/protobuf' +description = """Protocol Buffers (a.k.a., protobuf) are Google's +language-neutral, platform-neutral, extensible mechanism for +serializing structured data.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/protocolbuffers/protobuf/archive/refs/tags/'] +sources = ['v21.9.tar.gz'] +patches = ['protobuf-21.9_linking-error.patch'] +checksums = [ + '0aa7df8289c957a4c54cbe694fbabe99b180e64ca0f8fdb5e2f76dcf56ff2422', # v21.9.tar.gz + '14487154fa9d50cc647d6837f9e83f24d2002bcbac876b6b35eb042ededee7ad', # protobuf-21.9_linking-error.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +srcdir = 'cmake' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..6cb55d20405b --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.3' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [('Python', '3.8.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..062ec65ec9a7 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.3' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.5-GCCcore-11.2.0.eb new file mode 100755 index 000000000000..5b4e7b5052c5 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.5-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'psycopg2' +version = '2.9.5' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a5246d2e683a972e2187a8714b5c2cf8156c064629f9a9b1a873c1730d9e245a'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('PostgreSQL', '13.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d507f7f7f305 --- /dev/null +++ b/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'pugixml' +version = '1.12.1' + +homepage = 'https://pugixml.org/' +description = "pugixml is a light-weight C++ XML processing library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/zeux/pugixml/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1e28ab24b6e04e013d96f45d25e9f2d04c921dc68c613fd010ecaaad3892c14d'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +configopts = " ".join([ + "-DBUILD_SHARED_LIBS=ON", + "-DPUGIXML_BUILD_SHARED_AND_STATIC_LIBS=ON", +]) + +sanity_check_paths = { + 'files': [ + 'include/pugiconfig.hpp', + 'include/pugixml.hpp', + 'lib/libpugixml.a', + 'lib/libpugixml.%s' % SHLIB_EXT, + 'lib/pkgconfig/pugixml.pc' + ], + 'dirs': ['lib/cmake/pugixml'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..bd94483da59e --- /dev/null +++ b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'pullseq' +version = '1.0.2' + +homepage = 'https://github.com/bcthomas/pullseq' +description = "Utility program for extracting sequences from a fasta/fastq file" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/bcthomas/pullseq/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a295d7e0e2d64ed05d293d795d1716376707e465f2c42ede6454f27db586c85f'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), +] +dependencies = [ + ('PCRE', '8.44'), +] + +preconfigopts = "./bootstrap && " + +buildopts = 'CFLAGS="$CFLAGS -fcommon"' + +sanity_check_paths = { + 'files': ['bin/pullseq', 'bin/seqdiff'], + 'dirs': [], +} + +sanity_check_commands = [ + "pullseq --help 2>&1 | grep 'pullseq - a bioinformatics tool'", + "seqdiff --help 2>&1 | grep 'seqdiff - a bioinformatics tool'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-8.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-8.0.0-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..dab4b6303295 --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-8.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'py-cpuinfo' +version = '8.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = """ Py-cpuinfo gets CPU info with pure Python. +Py-cpuinfo should work without any extra programs or libraries, +beyond what your OS provides. It does not require any +compilation(C/C++, assembly, et cetera) to use. It works with Python 3. +""" +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + 'modulename': 'cpuinfo', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..a9fcf12cfb25 --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = """ Py-cpuinfo gets CPU info with pure Python. +Py-cpuinfo should work without any extra programs or libraries, +beyond what your OS provides. It does not require any +compilation(C/C++, assembly, et cetera) to use. It works with Python 3. +""" +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'], + 'modulename': 'cpuinfo', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..14c968128f7d --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = "py-cpuinfo gets CPU info with pure Python." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/cpuinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo", + "python -m cpuinfo", +] + +options = {'modulename': 'cpuinfo'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2022a.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2022a.eb new file mode 100644 index 000000000000..52abcea46724 --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.18' + +github_account = 'deeptools' +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A python extension, written in C, for quick access to bigBed + files and access to and creation of bigWig files.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['552564d8ce8720a8ae70ed5e5534617fb0cab306b666468d1c61b6d389b8a10c'] + +dependencies = [ + ('Python', '3.10.4'), + ('cURL', '7.83.0'), + ('NSS', '3.79'), # provides libfreebl3 + ('SciPy-bundle', '2022.05'), # optional, for numpy support +] + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyFAI/pyFAI-0.21.3-foss-2021b.eb b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.21.3-foss-2021b.eb new file mode 100644 index 000000000000..a39091f0bc3c --- /dev/null +++ b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.21.3-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyFAI' +version = '0.21.3' + +github_account = 'silx-kit' +homepage = "https://github.com/%(github_account)s/pyFAI" +description = """Python implementation of fast azimuthal integration.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('silx', '1.0.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3524dee3c5eaa9415c125b08f5a4e1ed9c08ea51d657a5c4a7a74fd0eedf7764'] + +options = {'modulename': 'pyFAI'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +modextravars = { + 'PYFAI_OPENCL': '0', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.8-foss-2022a.eb b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.8-foss-2022a.eb new file mode 100644 index 000000000000..d64d75e4db08 --- /dev/null +++ b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.8-foss-2022a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'pyGenomeTracks' +version = '3.8' + +homepage = 'https://pygenometracks.readthedocs.io' +description = "pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('bx-python', '0.9.0'), + ('pybedtools', '0.9.0'), + ('pyBigWig', '0.3.18'), + ('pyfaidx', '0.7.1'), + ('Pysam', '0.19.1'), + ('tqdm', '4.64.0'), + ('PyTables', '3.8.0'), + ('h5py', '3.7.0'), + ('PyYAML', '6.0'), + ('cooler', '0.9.1'), + ('HiCMatrix', '17'), +] + +use_pip = True + +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('argh', '0.27.2', { + 'checksums': ['00c9027f6f461bcf24afe599a281bbda5cbd5dee4b6705befbea293a4ca7d221'], + }), + ('gffutils', '0.11.1', { + 'checksums': ['ca7bf814d600b389bb2d5c403dd279755118cb1476c19c6f7aecb8c51a84263c'], + }), + ('pypairix', '0.3.7', { + 'checksums': ['c1b47c05f92b5be628923c60a27344503ddeba5d8f35a3752d646271d38e0525'], + }), + (name, version, { + 'checksums': ['d8c823aaee08d3069b66ca2a443adf4c0f0163a477273b518dddbdf351912386'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/pyGenomeTracks'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyGenomeTracks --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-foss-2021a.eb b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-foss-2021a.eb new file mode 100644 index 000000000000..f4d75a875c3c --- /dev/null +++ b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-foss-2021a.eb @@ -0,0 +1,72 @@ +easyblock = 'MakeCp' + +name = 'pyWannier90' +local_commit = '8354e91' +version = '2021-12-07' + +homepage = 'https://github.com/hungpham2017/pyWannier90' +description = "A Wannier90 Python interface for VASP and PySCF" + +toolchain = {'name': 'foss', 'version': '2021a'} + +local_wannier90_version = '3.1.0' + +sources = [ + { + 'source_urls': ['https://github.com/hungpham2017/pyWannier90/archive/'], + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ + }, + { + 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/'], + 'download_filename': 'v%s.tar.gz' % local_wannier90_version, + 'filename': 'Wannier90-%s.tar.gz' % local_wannier90_version, + }, +] +checksums = [ + {'pyWannier90-2021-12-07.tar.gz': '27233891fe39e0f45914dfa756b28319ebd4c3b5ec2124f4c9d1d3816fc0887e'}, + {'Wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [ + ('pybind11', '2.6.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PySCF', '1.7.6'), +] + +local_wannier90_make = 'make -j %(parallel)s F90="$F90" FCOPTS="$FFLAGS -fPIC" LDOPTS="$FFLAGS" ' +local_wannier90_make += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK"' + +prebuildopts = "cd %%(builddir)s/wannier90-%s && touch make.inc && " % local_wannier90_version +prebuildopts += "cp %(builddir)s/pyWannier90-*/src/wannier_lib.F90 src/wannier_lib.F90 && " +prebuildopts += local_wannier90_make + " && " +prebuildopts += local_wannier90_make + " lib && " +prebuildopts += "cd %(builddir)s/pyWannier90-*/src && pwd && " + +buildopts = 'CPP="$CXX" LIBS="-L%%(builddir)s/wannier90-%s $LIBLAPACK -lwannier" ' % local_wannier90_version +# with Intel compilers, use libwannier90_intel as make target +# with GCC compilers, use libwannier90_gf as make target +buildopts += "libwannier90_gf && " +buildopts += """sed -i "s@W90LIB = .*@W90LIB = '%(installdir)s'@g" pywannier90.py""" + +files_to_copy = [ + (['src/pywannier90.py', 'src/libwannier90.*.%s' % SHLIB_EXT], 'lib/python%(pyshortver)s/site-packages'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import libwannier90'", + "python -c 'import pywannier90'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-gomkl-2021a.eb b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-gomkl-2021a.eb new file mode 100644 index 000000000000..3a1d4b39c481 --- /dev/null +++ b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-gomkl-2021a.eb @@ -0,0 +1,72 @@ +easyblock = 'MakeCp' + +name = 'pyWannier90' +local_commit = '8354e91' +version = '2021-12-07' + +homepage = 'https://github.com/hungpham2017/pyWannier90' +description = "A Wannier90 Python interface for VASP and PySCF" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +local_wannier90_version = '3.1.0' + +sources = [ + { + 'source_urls': ['https://github.com/hungpham2017/pyWannier90/archive/'], + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ + }, + { + 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/'], + 'download_filename': 'v%s.tar.gz' % local_wannier90_version, + 'filename': 'Wannier90-%s.tar.gz' % local_wannier90_version, + }, +] +checksums = [ + {'pyWannier90-2021-12-07.tar.gz': '27233891fe39e0f45914dfa756b28319ebd4c3b5ec2124f4c9d1d3816fc0887e'}, + {'Wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [ + ('pybind11', '2.6.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PySCF', '1.7.6'), +] + +local_wannier90_make = 'make -j %(parallel)s F90="$F90" FCOPTS="$FFLAGS -fPIC" LDOPTS="$FFLAGS" ' +local_wannier90_make += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK"' + +prebuildopts = "cd %%(builddir)s/wannier90-%s && touch make.inc && " % local_wannier90_version +prebuildopts += "cp %(builddir)s/pyWannier90-*/src/wannier_lib.F90 src/wannier_lib.F90 && " +prebuildopts += local_wannier90_make + " && " +prebuildopts += local_wannier90_make + " lib && " +prebuildopts += "cd %(builddir)s/pyWannier90-*/src && pwd && " + +buildopts = 'CPP="$CXX" LIBS="-L%%(builddir)s/wannier90-%s $LIBLAPACK -lwannier" ' % local_wannier90_version +# with Intel compilers, use libwannier90_intel as make target +# with GCC compilers, use libwannier90_gf as make target +buildopts += "libwannier90_gf && " +buildopts += """sed -i "s@W90LIB = .*@W90LIB = '%(installdir)s'@g" pywannier90.py""" + +files_to_copy = [ + (['src/pywannier90.py', 'src/libwannier90.*.%s' % SHLIB_EXT], 'lib/python%(pyshortver)s/site-packages'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import libwannier90'", + "python -c 'import pywannier90'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-11.3.0.eb new file mode 100644 index 000000000000..4b4c5f400234 --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'pybedtools' +version = '0.9.0' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('BEDTools', '2.30.0'), + ('Pysam', '0.19.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://daler.github.io/pybedtools/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['9267c92cd764173449d9c31baedac0659b4eccc3d7c05e22ec378f86c0fc30a3'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..dc6dd0aead44 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb @@ -0,0 +1,23 @@ +name = 'pybind11' +version = '2.10.3' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5d8c4c5dda428d3a944ba3d2a5212cb988c2fae4670d58075a5a49075a6ca315'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [('Python', '3.10.8')] + +configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb index 60135a6d7f6b..9eddf8c8ef26 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb @@ -1,3 +1,7 @@ +# include patch to fix failing test jobs due to additional white space +# see https://github.com/pybind/pybind11/issues/3680 +# Authors: J. Sassmannshausen / Alexander Grund + name = 'pybind11' version = '2.6.0' @@ -9,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = ['https://github.com/pybind/pybind11/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571'] +patches = ['pybind11-2.6.0_fix-test-extra-whitespace.patch'] +checksums = [ + '90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571', + # pybind11-2.6.0_fix-test-extra-whitespace.patch: + 'f0ff7416d14f9589b5d100ad021e18690cb08cb662df9d0ac21327d04bdb96fc', +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0_fix-test-extra-whitespace.patch b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0_fix-test-extra-whitespace.patch new file mode 100644 index 000000000000..5d0bcd18dba0 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0_fix-test-extra-whitespace.patch @@ -0,0 +1,121 @@ +From 1d3b04e805c8a7dd4d8b68e2a311c75a66cae1d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 3 Feb 2022 18:29:46 +0100 +URL: https://github.com/pybind/pybind11/commit/1d3b04e805c8a7dd4d8b68e2a311c75a66cae1d5.patch +Subject: [PATCH] test: Strip whitespace when comparing numpy dtypes for 1.22 + compat (#3682) + +* test: Strip whitespace when comparing numpy dtypes for 1.22 compat + +Strip whitespace when comparing numpy dtype str() in order to preserve +test compatibility with both numpy 1.22 and older versions whose output +differ by whitespace. + +Fixes #3680 + +diff --git a/pybind11-2.6.0.orig/tests/test_numpy_dtypes.py b/pybind11-2.6.0/tests/test_numpy_dtypes.py +index f56b776..228ef63 100644 +--- a/pybind11-2.6.0.orig/tests/test_numpy_dtypes.py ++++ b/pybind11-2.6.0/tests/test_numpy_dtypes.py +@@ -33,8 +33,8 @@ def dt_fmt(): + e = "<" if byteorder == "little" else ">" + return ( + "{{'names':['bool_','uint_','float_','ldbl_']," +- " 'formats':['?','" + e + "u4','" + e + "f4','" + e + "f{}']," +- " 'offsets':[0,4,8,{}], 'itemsize':{}}}" ++ "'formats':['?','" + e + "u4','" + e + "f4','" + e + "f{}']," ++ "'offsets':[0,4,8,{}],'itemsize':{}}}" + ) + + +@@ -47,7 +47,7 @@ def simple_dtype_fmt(): + def packed_dtype_fmt(): + from sys import byteorder + +- return "[('bool_', '?'), ('uint_', '{e}u4'), ('float_', '{e}f4'), ('ldbl_', '{e}f{}')]".format( ++ return "[('bool_','?'),('uint_','{e}u4'),('float_','{e}f4'),('ldbl_','{e}f{}')]".format( + np.dtype("longdouble").itemsize, e="<" if byteorder == "little" else ">" + ) + +@@ -72,7 +72,7 @@ def partial_nested_fmt(): + partial_nested_off = 8 + 8 * (ld.alignment > 8) + partial_ld_off = partial_ld_offset() + partial_nested_size = partial_nested_off * 2 + partial_ld_off + ld.itemsize +- return "{{'names':['a'], 'formats':[{}], 'offsets':[{}], 'itemsize':{}}}".format( ++ return "{{'names':['a'],'formats':[{}],'offsets':[{}],'itemsize':{}}}".format( + partial_dtype_fmt(), partial_nested_off, partial_nested_size + ) + +@@ -116,25 +116,25 @@ def test_dtype(simple_dtype): + + e = "<" if byteorder == "little" else ">" + +- assert m.print_dtypes() == [ ++ assert [x.replace(" ", "") for x in m.print_dtypes()] == [ + simple_dtype_fmt(), + packed_dtype_fmt(), +- "[('a', {}), ('b', {})]".format(simple_dtype_fmt(), packed_dtype_fmt()), ++ "[('a',{}),('b',{})]".format(simple_dtype_fmt(), packed_dtype_fmt()), + partial_dtype_fmt(), + partial_nested_fmt(), +- "[('a', 'S3'), ('b', 'S3')]", ++ "[('a','S3'),('b','S3')]", + ( +- "{{'names':['a','b','c','d'], " +- + "'formats':[('S4', (3,)),('" ++ "{{'names':['a','b','c','d']," ++ + "'formats':[('S4',(3,)),('" + + e +- + "i4', (2,)),('u1', (3,)),('" ++ + "i4',(2,)),('u1',(3,)),('" + + e +- + "f4', (4, 2))], " +- + "'offsets':[0,12,20,24], 'itemsize':56}}" ++ + "f4',(4,2))]," ++ + "'offsets':[0,12,20,24],'itemsize':56}}" + ).format(e=e), +- "[('e1', '" + e + "i8'), ('e2', 'u1')]", +- "[('x', 'i1'), ('y', '" + e + "u8')]", +- "[('cflt', '" + e + "c8'), ('cdbl', '" + e + "c16')]", ++ "[('e1','" + e + "i8'),('e2','u1')]", ++ "[('x','i1'),('y','" + e + "u8')]", ++ "[('cflt','" + e + "c8'),('cdbl','" + e + "c16')]", + ] + + d1 = np.dtype( +@@ -228,7 +228,7 @@ def test_recarray(simple_dtype, packed_dtype): + ] + + arr = m.create_rec_partial(3) +- assert str(arr.dtype) == partial_dtype_fmt() ++ assert str(arr.dtype).replace(" ", "") == partial_dtype_fmt() + partial_dtype = arr.dtype + assert "" not in arr.dtype.fields + assert partial_dtype.itemsize > simple_dtype.itemsize +@@ -236,7 +236,7 @@ def test_recarray(simple_dtype, packed_dtype): + assert_equal(arr, elements, packed_dtype) + + arr = m.create_rec_partial_nested(3) +- assert str(arr.dtype) == partial_nested_fmt() ++ assert str(arr.dtype).replace(" ", "") == partial_nested_fmt() + assert "" not in arr.dtype.fields + assert "" not in arr.dtype.fields["a"][0].fields + assert arr.dtype.itemsize > partial_dtype.itemsize +@@ -275,12 +275,12 @@ def test_array_array(): + e = "<" if byteorder == "little" else ">" + + arr = m.create_array_array(3) +- assert str(arr.dtype) == ( +- "{{'names':['a','b','c','d'], " +- + "'formats':[('S4', (3,)),('" ++ assert str(arr.dtype).replace(" ", "") == ( ++ "{{'names':['a','b','c','d']," ++ + "'formats':[('S4',(3,)),('" + + e +- + "i4', (2,)),('u1', (3,)),('{e}f4', (4, 2))], " +- + "'offsets':[0,12,20,24], 'itemsize':56}}" ++ + "i4',(2,)),('u1',(3,)),('{e}f4',(4,2))]," ++ + "'offsets':[0,12,20,24],'itemsize':56}}" + ).format(e=e) + assert m.print_array_array(arr) == [ + "a={{A,B,C,D},{K,L,M,N},{U,V,W,X}},b={0,1}," diff --git a/easybuild/easyconfigs/p/pybinding/pybinding-0.9.5-foss-2022a.eb b/easybuild/easyconfigs/p/pybinding/pybinding-0.9.5-foss-2022a.eb new file mode 100644 index 000000000000..bb8a4b217c27 --- /dev/null +++ b/easybuild/easyconfigs/p/pybinding/pybinding-0.9.5-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'pybinding' +version = '0.9.5' + +homepage = 'https://github.com/dean0x7d/pybinding' +description = """Pybinding is a Python package for numerical tight-binding +calculations in solid state physics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['a3b0fd5c7bc6babdd265797698573a2ffe31edc5c4c6c4265262aa6f1005603d'] + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyccel/pyccel-1.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/pyccel/pyccel-1.7.0-foss-2022a.eb new file mode 100644 index 000000000000..efb6a2e0e29b --- /dev/null +++ b/easybuild/easyconfigs/p/pyccel/pyccel-1.7.0-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'pyccel' +version = '1.7.0' + +homepage = 'https://github.com/pyccel/pyccel' +description = "Python extension language using accelerators" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('sympy', '1.10.1'), +] + +use_pip = True + +exts_list = [ + ('textX', '3.0.0', { + 'checksums': ['cd432adb82e348960cecdcabe68dbb916fe6eb2e4cb067c4a4b68b8c9ec51acf'], + }), + ('Arpeggio', '2.0.0', { + 'checksums': ['d6b03839019bb8a68785f9292ee6a36b1954eb84b925b84a6b8a5e1e26d3ed3d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + (name, version, { + 'preinstallopts': "PYTHONPATH=$PWD:$PYTHONPATH ", + 'checksums': ['473212328957514d7ea52e1a57cc3a4402ae2140b0bca34c904b79d52ae81bfb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..da47b586bf1f --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.2-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.2' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('typing_extensions', '4.3.0', { + 'checksums': ['e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6'], + }), + (name, version, { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..796120e325ec --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.4' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + (name, version, { + 'checksums': ['b9a3859f24eb4e097502a3be1fb4b2abb79b6103dd9e2e0edb70613a4459a648'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.3.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a92eebf56b97 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '2.3.0' + +homepage = 'https://pydicom.github.io/' +description = "Pure python package for DICOM medical file reading and writing." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e50dfa6bc44516816248c750a93b07fa577b867433bd8bf4fd3319a4a19259a5'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..c0f68a2a026d --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'pydot' +version = '1.4.2' + +homepage = 'https://github.com/pydot/pydot' +description = "Python interface to Graphviz's Dot language." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('Graphviz', '2.50.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..2f7e3d2bd9b7 --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'pydot' +version = '1.4.2' + +homepage = 'https://github.com/pydot/pydot' +description = "Python interface to Graphviz's Dot language." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..6881ae5ea0ce --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.7.1' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3977632b7fd29049f8b11035d7e9dea0e2c5da9c235f982b4c3fae06ff1fa23f'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.10-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..b87232bf398f --- /dev/null +++ b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.10-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'pygraphviz' +version = '1.10' + +homepage = 'https://pygraphviz.github.io/' +description = """PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. +With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz +graph data structure and layout algorithms.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': ['%(namelower)s-%(version)s.zip'], + 'checksums': ['457e093a888128903251a266a8cc16b4ba93f3f6334b3ebfed92c7471a74d867'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.3.10-foss-2022a.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.3.10-foss-2022a.eb new file mode 100644 index 000000000000..bc8ccfc43a97 --- /dev/null +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.3.10-foss-2022a.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'pymatgen' +version = '2023.3.10' + +homepage = 'https://pymatgen.org/' +description = """Python Materials Genomics is a robust materials analysis code that defines core object + representations for structures and molecules with support for many electronic structure codes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('hypothesis', '6.46.7'), # required for numpy tests +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('sympy', '1.10.1'), + ('plotly.py', '5.12.0'), + ('tqdm', '4.64.0'), + +] + +use_pip = True + +# pymatgen 2023.3.10 requires spglib >= 2.0.2 +# skip import check for ruamel.yaml.clib, covered by import check for ruamel.yaml extension +exts_list = [ + ('monty', '2022.9.9', { + 'checksums': ['6cca8f14a18a2030b243a1377dfd59049a1ccce007b34f810a8f5eece72b9ceb'], + }), + ('palettable', '3.3.0', { + 'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + ('latexcodec', '2.0.1', { + 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], + }), + ('pybtex', '0.24.0', { + 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('emmet-core', '0.49.1', { + 'modulename': 'emmet', + 'checksums': ['8133d63900c170ac5c66efe8d70c32c9762c9a42fc150a79c7c90a8477ac81ec'], + }), + ('mp-api', '0.30.10', { + 'checksums': ['b58522b106f362d6917eba97ef8d699cc87210b65a9f0a8ac70c0841110ce50a'], + }), + ('spglib', '2.0.2', { + 'checksums': ['1d081ec22da4ab4fc3198e9445ddad6dec2261c43927831151d93e39422610aa'], + }), + (name, version, { + 'checksums': ['20a5d1681e2951d2710d5358197b5b58992e2b0ec4217a5ba966cf28513c1283'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pmg'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pmg --help"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pymca/pymca-5.7.6-foss-2021b.eb b/easybuild/easyconfigs/p/pymca/pymca-5.7.6-foss-2021b.eb new file mode 100644 index 000000000000..a0106dcb5ea9 --- /dev/null +++ b/easybuild/easyconfigs/p/pymca/pymca-5.7.6-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'pymca' +version = '5.7.6' + +github_account = 'vasole' +homepage = "https://github.com/%(github_account)s/pymca" +description = """The PyMca X-Ray Fluorescence Toolkit, including PyMca5 and fisx.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('matplotlib', '3.4.3'), + ('PyQt5', '5.15.4'), + ('silx', '1.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_default_options = { + 'source_urls': [GITHUB_SOURCE], + 'sources': ['v%(version)s.tar.gz'], +} + +exts_list = [ + ('fisx', '1.2.0', { + 'checksums': ['868642045725552126d43331cdec7d7a6a85251d54011b4a0360fc90b02041e4'], + }), + (name, version, { + 'checksums': ['50f61b7cf940171e33f0c30e33a7c0808eae301ad851dcf57984722a33680882'], + 'modulename': 'PyMca5', + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyparsing/pyparsing-3.0.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyparsing/pyparsing-3.0.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..5accb085ce1e --- /dev/null +++ b/easybuild/easyconfigs/p/pyparsing/pyparsing-3.0.9-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyparsing' +version = '3.0.9' + +homepage = 'https://github.com/pyparsing/pyparsing' +description = """The pyparsing module is an alternative approach to creating and +executing simple grammars, vs. the traditional lex/yacc approach, or the use of +regular expressions. The pyparsing module provides a library of classes that +client code uses to construct the grammar directly in Python code.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyperf/pyperf-2.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyperf/pyperf-2.5.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..733a5bef2fc5 --- /dev/null +++ b/easybuild/easyconfigs/p/pyperf/pyperf-2.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'pyperf' +version = '2.5.0' + +homepage = 'https://github.com/psf/pyperf' +description = "The Python pyperf module is a toolkit to write, run and analyze benchmarks" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9fd9be5b57224e68b5a5b88f7126f15b6c8667573f62a0a39faf14d6fdd13909'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/pyperf'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyperf --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d70aee5e640c --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.3.1' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b3d8e14d91cc95fb3dbc03a9d0588ac58326803eefa5bbb0978d109de3304fbe'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PROJ', '9.0.0'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.4.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..2fecab554260 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.4.0' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a708445927ace9857f52c3ba67d2915da7b41a8fdcd9b8f99a4c9ed60a75eb33'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PROJ', '9.0.0'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.5.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f90f4e9a5b12 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.5.0' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9859d1591c1863414d875ae0759e72c2cffc01ab989dc64137fbac572cc81bf6'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('PROJ', '9.1.1'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2021b.eb b/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2021b.eb new file mode 100644 index 000000000000..021accc9eba8 --- /dev/null +++ b/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pyslim' +version = '1.0.1' + +homepage = 'https://tskit.dev/pyslim/docs/stable/introduction.html' +description = """A Python API for reading and modifying tskit tree +sequence files produced by SLiM, or modifying files produced by other +programs (e.g., msprime, fwdpy11, and tsinfer) for use in SLiM.""" + + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('msprime', '1.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d65923658df9303962997f8911449245d33cf7f56aada8df4573ad301a9934c6'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1-foss-2022a.eb b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1-foss-2022a.eb new file mode 100644 index 000000000000..241d7b891166 --- /dev/null +++ b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'pysteps' +version = '1.7.1' + +homepage = 'https://pysteps.github.io/' +description = """ +Pysteps is an open-source and community-driven Python library for probabilistic +precipitation nowcasting, i.e. short-term ensemble prediction systems.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('OpenCV', '4.6.0', '-contrib'), + ('Pillow', '9.1.1'), + ('pyproj', '3.4.0'), + ('matplotlib', '3.5.2'), + ('dask', '2022.10.0'), + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsmin', '3.0.1', { + 'checksums': ['c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc'], + }), + ('pyFFTW', '0.13.0', { + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['da85102405c0bd95d57eb19e99b01a0729d8406cb204c3900894b873784253da'], + }), + (name, version, { + 'patches': ['pysteps-1.7.1_h5py-3.7_compat.patch'], + 'source_urls': ['https://github.com/pySTEPS/pysteps/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'pysteps-1.7.1.tar.gz': '5063d7546d9995ec6ca52a5b4e50ef3f3c1ae43088a55e370af4aec18162a22f'}, + {'pysteps-1.7.1_h5py-3.7_compat.patch': 'c2b1a47d7151a7f4072dce797c6303314c0d8fd7683b0001deb43f24357ed977'}, + ], + }), + ('pysteps-nwp-importers', '20220124', { + 'source_urls': ['https://github.com/pySTEPS/pysteps-nwp-importers/archive/'], + 'sources': [{'download_filename': '6ca1582.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9aea5f1c49dadf0bc878822cd9403db93cf473c8ad21d8bfda799136c87f4db'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1_h5py-3.7_compat.patch b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1_h5py-3.7_compat.patch new file mode 100644 index 000000000000..853055ec24e2 --- /dev/null +++ b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1_h5py-3.7_compat.patch @@ -0,0 +1,17 @@ +Fix compatibility with h5py v3.7 +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur pysteps-1.7.1.orig/pysteps/io/importers.py pysteps-1.7.1/pysteps/io/importers.py +--- pysteps-1.7.1.orig/pysteps/io/importers.py 2022-09-25 22:49:54.000000000 +0200 ++++ pysteps-1.7.1/pysteps/io/importers.py 2022-11-25 13:00:14.948382946 +0100 +@@ -1377,7 +1377,10 @@ + raise IOError("requested quantity %s not found" % qty) + + where = f["where"] +- proj4str = where.attrs["projdef"].decode() ++ proj4str = where.attrs["projdef"] ++ if(not isinstance(proj4str, str)): ++ proj4str = proj4str.decode() ++ + pr = pyproj.Proj(proj4str) + + ll_lat = where.attrs["LL_lat"] diff --git a/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1a77cf37d102 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb @@ -0,0 +1,21 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '11.1' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = """pytest plugin to re-run tests to eliminate flaky failures.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True +download_dep_fail = False + +sources = [SOURCE_TAR_GZ] +checksums = ['bc6ad13614c976b04558c3a7bcc393a7e09686fb86b6ae73f827b78326c09f75'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..11746d4cf6dd --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'pytest-shard' +version = '0.1.2' + +homepage = 'https://github.com/AdamGleave/pytest-shard' +description = """pytest plugin to support parallelism across multiple machines. + +Shards tests based on a hash of their test name enabling easy parallelism across machines, +suitable for a wide variety of continuous integration services. +Tests are split at the finest level of granularity, individual test cases, +enabling parallelism even if all of your tests are in a single file +(or even single parameterized test method). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True +download_dep_fail = False + +sources = [SOURCE_TAR_GZ] +checksums = ['b86a967fbfd1c8e50295095ccda031b7e890862ee06531d5142844f4c1d1cd67'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest/pytest-7.1.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pytest/pytest-7.1.3-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..97f957621d5e --- /dev/null +++ b/easybuild/easyconfigs/p/pytest/pytest-7.1.3-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'pytest' +version = '7.1.3' + +homepage = 'https://pytest.org' +description = """pytest: simple powerful testing with Python""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('attrs', '22.1.0', { + 'modulename': 'attr', + 'checksums': ['29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6'], + }), + ('pluggy', '1.0.0', { + 'checksums': ['4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('more-itertools', '8.14.0', { + 'modulename': 'more_itertools', + 'checksums': ['c09443cd3d5438b8dafccd867a6bc1cb0894389e90cb53d227456b0b0bccb750'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('iniconfig', '1.1.1', { + 'checksums': ['bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32'], + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """ + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + (name, version, { + 'checksums': ['4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pytest'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.3-foss-2022a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.3-foss-2022a.eb new file mode 100644 index 000000000000..469bb111d121 --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.3-foss-2022a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.10.3' + +homepage = 'https://igraph.org/python' +description = """Python interface to the igraph high performance graph library, primarily aimed at complex network + research and analysis.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('igraph', '0.10.3'), + ('PyCairo', '1.21.0'), + ('Clang', '13.0.1'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.6.7', { + 'checksums': ['290348fb67f7746931bcdfd55ac7584ecd4e5b0846ab164333f0794b121760f2'], + }), + ('igraph', version, { + 'patches': ['python-igraph-0.9.0_fix-igraph-libs.patch'], + 'checksums': [ + 'b720cb88c4b9af4a968e8390355f666ba146d631298518cc4ffa1bd0e2c21eed', # igraph-0.10.3.tar.gz + # python-igraph-0.9.0_fix-igraph-libs.patch + '7af7a6e6a8b982ced7cdd939d82a98829512088744bebad34c714a3c4803f126', + ], + 'installopts': '--install-option="--use-pkg-config"', + 'modulename': 'igraph', + }), +] + +sanity_check_paths = { + 'files': ['bin/igraph'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# cairo must be available for proper plotting support +sanity_check_commands = [ + "python -c 'from igraph.drawing.cairo.utils import find_cairo; cairo = find_cairo(); cairo.Context'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..24db46643c1d --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.1.0' + +homepage = 'https://github.com/pycompression/python-isal' +description = """Faster zlib and gzip compatible compression and decompression + by providing python bindings for the isa-l library. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3fa7f5ac22350cf9c4370aa725dea39c4155123864fff4bf6e6392f83976c86f'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.19.7-foss-2021a.eb b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.19.7-foss-2021a.eb new file mode 100644 index 000000000000..04cf6dfe9e03 --- /dev/null +++ b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.19.7-foss-2021a.eb @@ -0,0 +1,47 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'python-libsbml' +version = '5.19.7' + +homepage = 'https://sbml.org/' +description = """LibSBML Python API.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'libsbml', + 'checksums': ['447b1fde7aceccd11a93dc9f589ffd9319ba854d7b7583f911259a8b0127ab7b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022a.eb b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022a.eb new file mode 100644 index 000000000000..0be4ba836657 --- /dev/null +++ b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-louvain' +version = '0.16' + +homepage = 'https://pypi.org/project/python-louvain' +description = "Louvain algorithm for community detection" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'] + +dependencies = [ + ('Python', '3.10.4'), + ('networkx', '2.8.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'community'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.3-foss-2022a.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.3-foss-2022a.eb new file mode 100755 index 000000000000..42d5f17c07cc --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.3-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.3.3' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['06f05066d9cf624c0b043f51a1e9d2964154e1edd0f9843e0838f32073e576f8'] + +builddependencies = [ + ('parasail', '2.6'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# make sure setup.py finds the parasail library +preinstallopts = "ln -s $EBROOTPARASAIL/lib/libparasail.so parasail/libparasail.%s && " % SHLIB_EXT + +options = {'modulename': 'parasail'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-telegram-bot/python-telegram-bot-20.0a0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/python-telegram-bot/python-telegram-bot-20.0a0-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..dfb7a16b6ba8 --- /dev/null +++ b/easybuild/easyconfigs/p/python-telegram-bot/python-telegram-bot-20.0a0-GCCcore-10.2.0.eb @@ -0,0 +1,85 @@ +easyblock = 'PythonBundle' + +name = 'python-telegram-bot' +version = '20.0a0' + +homepage = 'https://python-telegram-bot.org/' +description = """This library provides a pure Python, asynchronous interface for the Telegram Bot API. + It's compatible with Python versions 3.7+.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +dependencies = [ + ('Python', '3.8.6'), +] + +builddependencies = [('binutils', '2.35')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('APScheduler', '3.9.1', { + 'checksums': ['65e6574b6395498d371d045f2a8a7e4f7d50c6ad21ef7313d15b1c7cf20df1e3'], + }), + ('anyio', '3.6.2', { + 'checksums': ['25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421'], + }), + ('backports.zoneinfo', '0.2.1', { + 'checksums': ['fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2'], + }), + ('cachetools', '5.0.0', { + 'checksums': ['486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6'], + }), + ('charset-normalizer', '2.1.1', { + 'checksums': ['5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845'], + }), + ('flit_core', '3.7.1', { + 'checksums': ['14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.14.7', { + 'checksums': ['7503ec1c0f559066e7e39bc4003fd2ce023d01cf51793e3c173b864eb456ead1'], + }), + ('httpx', '0.22.0', { + 'checksums': ['d8e778f76d9bbd46af49e7f062467e3157a5a3d2ae4876a4bbfd8a51ed9c9cb4'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('pytz_deprecation_shim', '0.1.0.post0', { + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + # to overwrite Python's requests requirement which requires older version of idna + ('requests', '2.28.1', { + 'checksums': ['7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + ('tzdata', '2022.5', { + 'checksums': ['e15b2b3005e2546108af42a0eb4ccab4d9e225e2dfbf4f77aad50c70a4b1f3ab'], + }), + ('tzlocal', '4.2', { + 'checksums': ['ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7'], + }), + (name, version, { + 'modulename': 'telegram', + 'checksums': ['a182a3d081071f1ea34833bc68ed7d0843c1fe0d6dca1d260a0e2d253b150f71'], + }), +] + +sanity_check_commands = [ + "python -c 'from telegram import Update'", + "python -c 'from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/QCA/QCA-2.3.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QCA/QCA-2.3.5-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..4261cd91c3aa --- /dev/null +++ b/easybuild/easyconfigs/q/QCA/QCA-2.3.5-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QCA' +version = '2.3.5' + +homepage = 'https://userbase.kde.org/QCA' +description = """Taking a hint from the similarly-named Java Cryptography Architecture, + QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes + and conventions. QCA separates the API from the implementation, using plugins known as + Providers. The advantage of this model is to allow applications to avoid linking to or + explicitly depending on any particular cryptographic library. This allows one to easily + change or upgrade crypto implementations without even needing to recompile the + application! QCA should work everywhere Qt does, including Windows/Unix/MacOSX.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://download.kde.org/stable/qca/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['91f7d916ab3692bf5991f0a553bf8153161bfdda14bd005d480a2b4e384362e8'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1') +] +dependencies = [ + ('Qt5', '5.15.2') +] + +configopts = "-DQT5_BUILD=true" + +sanity_check_paths = { + 'files': ['bin/qcatool-qt5', 'lib/libqca-qt5.%s' % SHLIB_EXT, 'lib/pkgconfig/qca2-qt5.pc'], + 'dirs': ['include/Qca-qt5', 'lib/cmake/Qca-qt5', 'share/man'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-foss-2022a.eb new file mode 100644 index 000000000000..db30f1ee63e4 --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-foss-2022a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'QCG-PilotJob' +version = '0.13.1' + +homepage = 'https://qcg-pilotjob.readthedocs.org' +description = """A python service for easy execution of many tasks inside a single allocation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyZMQ', '24.0.1'), + ('Kaleido', '0.2.1'), + ('plotly.py', '5.12.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + ('statsmodels', '0.13.0', { + 'checksums': ['f2efc02011b7240a9e851acd76ab81150a07d35c97021cb0517887539a328f8a'], + }), + ('plotly_express', '0.4.1', { + 'checksums': ['ff73a41ce02fb43d1d8e8fa131ef3e6589857349ca216b941b8f3f862bce0278'], + }), + ('prompt_toolkit', '3.0.21', { + 'checksums': ['27f13ff4e4850fe8f860b77414c7880f67c6158076a7b099062cc8570f1562e5'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'patches': ['QCG-PilotJob-0.12.3_rename_zmq.patch'], + 'checksums': [ + '9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966', # v0.12.3.tar.gz + '51cba1bfe1dcd33180dffe65941acdfa70823d6cae4b81182fd16a7debf907cd', # QCG-PilotJob-0.12.3_rename_zmq.patch + ], + 'start_dir': 'components/core', + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966'], + 'start_dir': 'components/cmds', + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966'], + 'start_dir': 'components/executor_api', + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1-foss-2021b.eb b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1-foss-2021b.eb new file mode 100755 index 000000000000..f3d52a8e04ba --- /dev/null +++ b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1-foss-2021b.eb @@ -0,0 +1,78 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QGIS' +version = '3.28.1' + +homepage = 'http://www.qgis.org/' +description = "QGIS is a user friendly Open Source Geographic Information System (GIS)" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'cstd': 'gnu++11'} + +source_urls = ['http://qgis.org/downloads/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['QGIS-%(version)s_fix-SIP-macro.patch'] +checksums = [ + {'qgis-3.28.1.tar.bz2': '09015bb68c45556ffe9d480272d24048e6276a6bf1c010fd77beae64329ff674'}, + {'QGIS-3.28.1_fix-SIP-macro.patch': '141b7730666b3e703b9a6648d1e5a2686f8819f6a4938c6d60aa8c8d65820bd3'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Qt5', '5.15.2'), + ('Qt5Webkit', '5.212.0-alpha4'), + ('PyQt5', '5.15.4'), + ('PROJ', '8.1.0'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libspatialite', '5.0.1'), + ('libspatialindex', '1.9.3'), + ('PyYAML', '5.4.1'), + ('Cartopy', '0.20.3'), + ('psycopg2', '2.9.5'), + ('GDAL', '3.3.2'), + ('Qwt', '6.2.0'), + ('expat', '2.4.1'), + ('QCA', '2.3.5'), + # QScintilla must be listed after PyQt5 due to Python bindings 'overriding' those of PyQt5 + ('QScintilla', '2.11.6'), + ('GSL', '2.7'), + ('libzip', '1.7.3'), + ('QtKeychain', '0.13.2'), + ('ICU', '69.1'), + ('PostgreSQL', '13.4'), + ('GRASS', '8.2.0'), + ('protobuf', '3.17.3'), + ('exiv2', '0.27.5'), +] + +# specify locations that CMake can't figure out correctly +_copts = [ + "-DCMAKE_PREFIX_PATH=$EBROOTQT", + "-DQSCINTILLA_LIBRARY=$EBROOTQSCINTILLA/lib/libqscintilla2_qt5.%s" % SHLIB_EXT, + "-DQt5WebKit_DIR=$EBROOTQT5WEBKIT/lib64/cmake/Qt5WebKit", + "-DQt5WebKitWidgets_DIR=$EBROOTQT5WEBKIT/lib64/cmake/Qt5WebKitWidgets", + "-DPYQT5_SIP_DIR=$EBROOTPYQT5/share/sip", + "-DQSCI_SIP_DIR=$EBROOTQSCINTILLA/share/sip/PyQt5", + "-DGRASS_PREFIX8=$EBROOTGRASS/grass8", +] +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': ['bin/qgis', 'bin/qgis_bench', 'lib/libqgis_analysis.%s' % SHLIB_EXT, + 'lib/libqgis_app.%s' % SHLIB_EXT, 'lib/libqgis_core.%s' % SHLIB_EXT, 'lib/libqgis_gui.%s' % SHLIB_EXT, + 'lib/libqgis_native.%s' % SHLIB_EXT, 'lib/libqgispython.%s' % SHLIB_EXT], + 'dirs': ['include/qgis', 'man', 'share/qgis'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1_fix-SIP-macro.patch b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1_fix-SIP-macro.patch new file mode 100644 index 000000000000..0b30feff7071 --- /dev/null +++ b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1_fix-SIP-macro.patch @@ -0,0 +1,27 @@ +include location of PyQt .sip files in SIPCMD macro + +author: Kenneth Hoste (HPC-UGent) +author: Pavel Grochal (INUITS) + +Updated to QGIS/3.28.1: Åke Sandgren, 2022-12-09 +diff -ru qgis-3.28.1.orig/cmake/SIPMacros.cmake qgis-3.28.1/cmake/SIPMacros.cmake +--- qgis-3.28.1.orig/cmake/SIPMacros.cmake 2022-11-18 13:10:21.000000000 +0100 ++++ qgis-3.28.1/cmake/SIPMacros.cmake 2022-12-09 08:14:33.475615182 +0100 +@@ -101,7 +101,7 @@ + ENDIF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} ) + ENDFOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} ) + +- SET(SIPCMD ${SIP_BUILD_EXECUTABLE} --no-protected-is-public --pep484-pyi --no-make --concatenate=${SIP_CONCAT_PARTS} --qmake=${QMAKE_EXECUTABLE} --include-dir=${CMAKE_CURRENT_BINARY_DIR} --include-dir=${PYQT5_SIP_DIR} ${SIP_BUILD_EXTRA_OPTIONS}) ++ SET(SIPCMD ${SIP_BUILD_EXECUTABLE} --no-protected-is-public --pep484-pyi --no-make --concatenate=${SIP_CONCAT_PARTS} --qmake=${QMAKE_EXECUTABLE} --include-dir=${CMAKE_CURRENT_BINARY_DIR} --include-dir=${PYQT5_SIP_DIR} --include-dir=$ENV{EBROOTPYQT5}/share/sip --include-dir=$ENV{EBROOTQSCINTILLA}/share/sip/PyQt5 ${SIP_BUILD_EXTRA_OPTIONS}) + + ADD_CUSTOM_COMMAND( + OUTPUT ${_sip_output_files} +@@ -140,7 +140,7 @@ + ENDIF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} ) + ENDFOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} ) + +- SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} -I ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_configured_module_sip}) ++ SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} -I ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} --include-dir=$ENV{EBROOTPYQT5}/share/sip --include-dir=$ENV{EBROOTQSCINTILLA}/share/sip/PyQt5 ${_configured_module_sip}) + ADD_CUSTOM_COMMAND( + OUTPUT ${_sip_output_files} + COMMAND ${CMAKE_COMMAND} -E echo ${message} diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.11.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.11.eb new file mode 100644 index 000000000000..d709d4458cee --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.11.eb @@ -0,0 +1,31 @@ +# EasyBuild recipy for QIIME2 +# Author: Caspar van Leeuwen +# SURFsara - The Netherlands + +easyblock = 'Conda' + +name = 'QIIME2' +version = '2022.11' + +homepage = 'http://qiime2.org/' +description = """QIIME is an open-source bioinformatics pipeline for performing microbiome analysis + from raw DNA sequencing data.""" + +source_urls = ['https://data.qiime2.org/distro/core/'] +sources = ['qiime2-%(version)s-py38-linux-conda.yml'] +checksums = ['79c250efd2d464b13702f8e210a921e9aa830dd33a0330966129121770a9188c'] + +toolchain = SYSTEM + +builddependencies = [('Miniconda3', '22.11.1-1')] + +environment_file = 'qiime2-%(version)s-py38-linux-conda.yml' + +sanity_check_commands = ['qiime info'] + +sanity_check_paths = { + 'files': ["bin/qiime"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.8.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.8.eb new file mode 100644 index 000000000000..ecd065061276 --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.8.eb @@ -0,0 +1,31 @@ +# EasyBuild recipy for QIIME2 +# Author: Caspar van Leeuwen +# SURFsara - The Netherlands + +easyblock = 'Conda' + +name = 'QIIME2' +version = '2022.8' + +homepage = 'http://qiime2.org/' +description = """QIIME is an open-source bioinformatics pipeline for performing microbiome analysis + from raw DNA sequencing data.""" + +source_urls = ['https://data.qiime2.org/distro/core/'] +sources = ['qiime2-%(version)s-py38-linux-conda.yml'] +checksums = ['e43bffad08dfd8ab9054f1530e501258525a7b9a3f3079ac04fad701d797c90b'] + +toolchain = SYSTEM + +builddependencies = [('Miniconda3', '4.12.0')] + +environment_file = 'qiime2-%(version)s-py38-linux-conda.yml' + +sanity_check_commands = ['qiime info'] + +sanity_check_paths = { + 'files': ["bin/qiime"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QScintilla/QScintilla-2.11.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QScintilla/QScintilla-2.11.6-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..65d4b96bf104 --- /dev/null +++ b/easybuild/easyconfigs/q/QScintilla/QScintilla-2.11.6-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +name = 'QScintilla' +version = '2.11.6' + +homepage = 'https://www.riverbankcomputing.com/software/qscintilla' +description = "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://www.riverbankcomputing.com/static/Downloads/QScintilla/%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['QScintilla-2.11.2_fix-link-python-bindings.patch'] +checksums = [ + {'QScintilla-2.11.6.tar.gz': 'e7346057db47d2fb384467fafccfcb13aa0741373c5d593bc72b55b2f0dd20a7'}, + {'QScintilla-2.11.2_fix-link-python-bindings.patch': + '6296efa69ce9448e43dda80573cb0a70fee72462157d3d6fc194fe61fd477803'}, +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('PyQt5', '5.15.4'), +] + +prebuildopts = 'export CPATH=$EBROOTQT5/include/QtWidgets:$EBROOTQT5/include/QtPrintSupport:$CPATH && ' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-foss-2022a.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-foss-2022a.eb new file mode 100644 index 000000000000..d3589c364cfa --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'QUAST' +version = '5.2.0' + +homepage = 'https://github.com/ablab/quast' +description = """QUAST evaluates genome assemblies by computing various metrics. +It works both with and without reference genomes. The tool accepts multiple +assemblies, thus is suitable for comparison.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('matplotlib', '3.5.2'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.79.0'), +] + +use_pip = True + +github_account = 'ablab' +exts_list = [ + (name, version, { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['%(namelower)s_%(version)s.tar.gz'], + 'checksums': ['db903a6e4dd81384687f1c38d47cbe0f51bdf7f6d5e5c0bd30c13796391f4f04'], + 'modulename': 'quast_libs', + }), +] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -s %(namelower)s.py %(namelower)s", + "cp -a %(builddir)s/QUAST/quast*%(version)s/test_data %(installdir)s/", +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/%(namelower)s.py', 'bin/meta%(namelower)s.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'test_data'], +} + +sanity_check_commands = [ + "quast -h", + "mkdir -p %(builddir)s && cp -a %(installdir)s/test_data %(builddir)s && cd %(builddir)s && quast.py --test", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..08814cad3796 --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'Qhull' +version = '2020.2' + +homepage = 'http://www.qhull.org' + +description = """ + Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram, + halfspace intersection about a point, furthest-site Delaunay triangulation, + and furthest-site Voronoi diagram. The source code runs in 2-d, 3-d, 4-d, and + higher dimensions. Qhull implements the Quickhull algorithm for computing the + convex hull. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://www.qhull.org/download/'] +sources = ['%(namelower)s-%(version_major)s-src-8.0.2.tgz'] +checksums = ['b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['bin/qhull', 'lib/libqhull_r.%s' % SHLIB_EXT, + 'lib/pkgconfig/qhull_r.pc'], + 'dirs': [], +} + +modextrapaths = { + 'CPATH': ['qhull/include'], +} + +parallel = 1 + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb index ab34684b1369..598ac43800ae 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb @@ -21,13 +21,19 @@ patches = [ 'Qt5-5.13.1_fix-qmake-libdir.patch', 'Qt5-5.14.1_fix-OF-Gentoo.patch', 'Qt5-5.15.2_fix-gcc11.patch', + 'Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch', + 'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch', ] checksums = [ - '3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240', # qt-everywhere-src-5.15.2.tar.xz - '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.13.1_fix-avx2.patch - '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.13.1_fix-qmake-libdir.patch - '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa', # Qt5-5.14.1_fix-OF-Gentoo.patch - '6606e2434aacaac49545be733bf012f1d489393bf8bd5573691c171ab8bc0976', # Qt5-5.15.2_fix-gcc11.patch + {'qt-everywhere-src-5.15.2.tar.xz': '3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.2_fix-gcc11.patch': '6606e2434aacaac49545be733bf012f1d489393bf8bd5573691c171ab8bc0976'}, + {'Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch': + '1ae0f43ae8444041bc5b8b2dd89a257fedff1f9e7e6007b2c8fb336150e80597'}, + {'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch': + '74590de2b9e32f2c88123cb096c4f5c3001b00710aad096a4d16444a8e9eb991'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch new file mode 100644 index 000000000000..eccf15208e5e --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch @@ -0,0 +1,75 @@ +Fix "no matching function" error. +Patch taken from https://bugs.gentoo.org/811312 + +From 78b1bcff4d9b977313e9ea15068168e1b11f5ba1 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:08:03 +0200 +Subject: [PATCH] chromium: abseil-cpp: fix build with glibc-2.34 + +* backport a fix from upstream abseil-cpp: + https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9 + + to fix: + +[97/24505] CXX obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +FAILED: obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DABSL_ALLOCATOR_NOTHROW=1 -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -o obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc: In function 'bool absl::SetupAlternateStackOnce()': +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to 'max(long int, int)' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' + 254 | max(const _Tp& __a, const _Tp& __b) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: deduced conflicting types for parameter 'const _Tp' ('long int' and 'int') + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' + 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: deduced conflicting types for parameter 'const _Tp' ('long int' and 'int') + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' + 3461 | max(initializer_list<_Tp> __l) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: mismatched types 'std::initializer_list<_Tp>' and 'long int' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: mismatched types 'std::initializer_list<_Tp>' and 'long int' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Signed-off-by: Martin Jansa +--- + .../abseil-cpp/absl/debugging/failure_signal_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc +index 5d13bdbbbd1..150a43f2660 100644 +--- qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc ++++ qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc +@@ -135,7 +135,7 @@ static bool SetupAlternateStackOnce() { + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ + defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch new file mode 100644 index 000000000000..088e902bcf36 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch @@ -0,0 +1,75 @@ +Fix "no matching function" error. +Patch taken from https://bugs.gentoo.org/811312 + +From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:11:06 +0200 +Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34 + +* fixes: +[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o +FAILED: obj/third_party/breakpad/client/exception_handler.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()': +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, + from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' + 254 | max(const _Tp& __a, const _Tp& __b) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, + from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' + 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' + 3461 | max(initializer_list<_Tp> __l) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Signed-off-by: Martin Jansa +--- + .../breakpad/src/client/linux/handler/exception_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +index ca353c40997..2e43ba6fc04 100644 +--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch new file mode 100644 index 000000000000..667f05b14682 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch @@ -0,0 +1,14 @@ +Backport of Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch to actually 5.15.2 +author: micketeer@gmail.com + +--- qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc 2023-03-05 12:13:50.013671083 +0000 ++++ qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc 2023-03-05 12:37:43.958183965 +0000 +@@ -135,7 +135,7 @@ + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \ + defined(THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb index a9d014e9d756..e06fc4d90b97 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb @@ -20,14 +20,21 @@ patches = [ 'Qt5-5.13.1_fix-avx2.patch', 'Qt5-5.13.1_fix-qmake-libdir.patch', 'Qt5-5.14.1_fix-OF-Gentoo.patch', + 'Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch', + 'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch', 'Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch', ] checksums = [ - '5a97827bdf9fd515f43bc7651defaf64fecb7a55e051c79b8f80510d0e990f06', # qt-everywhere-opensource-src-5.15.5.tar.xz - '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.13.1_fix-avx2.patch - '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.13.1_fix-qmake-libdir.patch - '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa', # Qt5-5.14.1_fix-OF-Gentoo.patch - '599cc94535dc276a5d97e002c81907c74ead9dc8d55f35567017fb7a491aaf01', # Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch + {'qt-everywhere-opensource-src-5.15.5.tar.xz': '5a97827bdf9fd515f43bc7651defaf64fecb7a55e051c79b8f80510d0e990f06'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch': + 'f39506495b70cc0968fb7a5f4c9028b0f0a180c552906ff4e58e0bcae83cf187'}, + {'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch': + '74590de2b9e32f2c88123cb096c4f5c3001b00710aad096a4d16444a8e9eb991'}, + {'Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch': + '599cc94535dc276a5d97e002c81907c74ead9dc8d55f35567017fb7a491aaf01'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..592deb7c5f5a --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb @@ -0,0 +1,76 @@ +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.7' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +# disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) +toolchainopts = {'vectorize': False} + +source_urls = [ + 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', + 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', +] +sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] +patches = [ + 'Qt5-5.13.1_fix-avx2.patch', + 'Qt5-5.13.1_fix-qmake-libdir.patch', + 'Qt5-5.14.1_fix-OF-Gentoo.patch', + 'Qt5-5.15.7_GCC-12.patch', +] +checksums = [ + {'qt-everywhere-opensource-src-5.15.7.tar.xz': '8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.7_GCC-12.patch': '9a5bde91b223a3e2e90d3d6bec107af69a1a0f18d789593738a953080473fa68'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.11.1'), + # Qt5WebEngine has build dependency on Python 2 + ('Python', '2.7.18', '-bare'), + ('re2c', '3.0'), +] + +dependencies = [ + ('double-conversion', '3.2.1'), + ('GLib', '2.75.0'), + ('PCRE2', '10.40'), + ('libpng', '1.6.38'), + ('HarfBuzz', '5.3.1'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20221110'), + ('fontconfig', '2.14.1'), + ('DBus', '1.15.2'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.2'), + ('libjpeg-turbo', '2.1.4'), + ('NSS', '3.85'), + ('snappy', '1.1.9'), + ('JasPer', '4.0.0'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '72.1'), + ('nodejs', '18.12.1'), +] + +# qtgamepad needs recent kernel/libevdev (fails on RHEL 6.x) +# qtwayland fails to build on (some) Centos 7 systems +configopts = '-skip qtgamepad -skip qtwayland' + +# make sure QtWebEngine component is being built & installed +check_qtwebengine = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7_GCC-12.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7_GCC-12.patch new file mode 100644 index 000000000000..02c54554ffb2 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7_GCC-12.patch @@ -0,0 +1,14 @@ +add missing include to fix compilation error with GCC 12.x +../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: error: no matching function for call to begin(const char* const [140]) +cfr. https://github.com/archlinux/svntogit-packages/blob/packages/qt5-webengine/trunk/qt5-webengine-gcc12.patch +--- Qt5/5.15.7/GCCcore-12.2.0/qt-everywhere-src-5.15.7/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp.orig 2021-10-19 14:46:32.000000000 +0200 ++++ Qt5/5.15.7/GCCcore-12.2.0/qt-everywhere-src-5.15.7/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp 2022-11-25 14:48:38.501288572 +0100 +@@ -8,6 +8,8 @@ + + #include "include/utils/SkParse.h" + ++#include ++ + static constexpr const char* gColorNames[] = { + "aliceblue", + "antiquewhite", diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..9c4fab966b4a --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.2.0.eb @@ -0,0 +1,71 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeNinja' + +name = 'Qt5Webkit' +# Qt5 > 5.9 required at least version 5.212.0 +# At the time of writing the latest version was 5.212.0-alpha3 +version = '5.212.0-alpha4' + +homepage = 'https://github.com/qt/qtwebkit' +description = "Qt Port of WebKit. WebKit is an open source web browser engine." +docurls = ['https://github.com/qt/qtwebkit/blob/dev/README'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%(version)s/'] +sources = ['qtwebkit-%(version)s.tar.xz'] +patches = [ + '%(name)s-%(version)s_bison3.7.patch', + '%(name)s-%(version)s_fix_python_path.patch', + '%(name)s-%(version)s_fix_deprecated_encoding_in_json.load.patch', + '%(name)s-%(version)s_use_CXX_true_instead_of_TRUE_define.patch', + '%(name)s-%(version)s_dont_use_multiarch_lib_dir.patch', +] +checksums = [ + {'qtwebkit-5.212.0-alpha4.tar.xz': '9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6'}, + {'Qt5Webkit-5.212.0-alpha4_bison3.7.patch': '34f37b53ee0bc31c63ce85ebd1ae95543a8ba28483e387b20efd50574bd813be'}, + {'Qt5Webkit-5.212.0-alpha4_fix_python_path.patch': + '126aed68cf0e22f595d3a8ae87938ba9e6a0727b53e38a92412fbf816a1687b2'}, + {'Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch': + 'e6ffe068a41af8d8aade58eeaa8352b87b731f29fc463e71bb1dc497301956c8'}, + {'Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch': + 'b952923cfe35667c69e7540d5c449d5e65301a4c2f43cdea8b33f190ab6b0403'}, + {'Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch': + '4974a348731ce80f73fbfbcce2351bddfb87a54affc7ae6dd52559a4ad93e8e8'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('pkgconf', '1.8.0'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.2'), + ('Python', '3.9.6'), + ('Ruby', '3.0.1'), + ('Perl', '5.34.0'), +] + +dependencies = [ + ('Qt5', '5.15.2'), + ('zlib', '1.2.11'), + ('SQLite', '3.36'), + ('ICU', '69.1'), + ('libxslt', '1.1.34'), + ('libjpeg-turbo', '2.0.6'), +] + +configopts = "-DPORT=Qt -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " + +sanity_check_paths = { + 'files': [ + 'lib/libQt5WebKit.%s' % SHLIB_EXT, + 'lib/libQt5WebKitWidgets.%s' % SHLIB_EXT, + ], + 'dirs': ['include/QtWebKit', 'include/QtWebKitWidgets'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..4323d480ca23 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.3.0.eb @@ -0,0 +1,63 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeNinja' + +name = 'Qt5Webkit' +# Qt5 > 5.9 required at least version 5.212.0 +# At the time of writing the latest version was 5.212.0-alpha4 +version = '5.212.0-alpha4' + +homepage = 'https://github.com/qt/qtwebkit' +description = "Qt Port of WebKit. WebKit is an open source web browser engine." +docurls = ['https://github.com/qt/qtwebkit/blob/dev/README'] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%(version)s/'] +sources = ['qtwebkit-%(version)s.tar.xz'] +patches = [ + '%(name)s-%(version)s_bison3.7.patch', + '%(name)s-%(version)s_json.patch', +] +checksums = [ + '9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6', # qtwebkit-5.212.0-alpha4.tar.xz + '34f37b53ee0bc31c63ce85ebd1ae95543a8ba28483e387b20efd50574bd813be', # Qt5Webkit-5.212.0-alpha4_bison3.7.patch + '68e2c47882e4749c85933f176c45a8f781fa8a2e92818c58b6af15f27dadb9f5', # Qt5Webkit-5.212.0-alpha4_json.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.2'), + ('Python', '3.10.4'), + ('Ruby', '3.0.3'), +] + +dependencies = [ + ('Qt5', '5.15.5'), + ('zlib', '1.2.12'), + ('SQLite', '3.38.3'), + ('ICU', '71.1'), + ('libxslt', '1.1.34'), + ('libjpeg-turbo', '2.1.3'), +] + +configopts = "-G Ninja -DPORT=Qt -DCMAKE_BUILD_TYPE=Release -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " +# Starting from ICU 68 the TRUE/FALSE macros are not defined in standard header +# files, see https://unicode-org.github.io/icu/userguide/dev/codingguidelines.html +configopts += "-DCMAKE_CXX_FLAGS='-DU_DEFINE_FALSE_AND_TRUE=1' " + +sanity_check_paths = { + 'files': [ + 'lib64/libQt5WebKit.%s' % SHLIB_EXT, + 'lib64/libQt5WebKitWidgets.%s' % SHLIB_EXT, + ], + 'dirs': ['include/QtWebKit', 'include/QtWebKitWidgets'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch new file mode 100644 index 000000000000..6ce4a9830dda --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch @@ -0,0 +1,26 @@ +Don't use multiarch lib dir + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/cmake/KDEInstallDirs.cmake qtwebkit-5.212.0-alpha4/Source/cmake/KDEInstallDirs.cmake +--- qtwebkit-5.212.0-alpha4.orig/Source/cmake/KDEInstallDirs.cmake 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/cmake/KDEInstallDirs.cmake 2022-12-08 11:04:09.788027403 +0100 +@@ -210,11 +210,6 @@ + # See http://wiki.debian.org/Multiarch + if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") + AND NOT CMAKE_CROSSCOMPILING) +- if (EXISTS "/etc/debian_version") # is this a debian system ? +- if(CMAKE_LIBRARY_ARCHITECTURE) +- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") +- endif() +- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: + if(NOT DEFINED CMAKE_SIZEOF_VOID_P) + message(AUTHOR_WARNING + "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " +@@ -224,7 +219,6 @@ + set(_LIBDIR_DEFAULT "lib64") + endif() + endif() +- endif() + endif() + + set(_gnu_install_dirs_vars diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch new file mode 100644 index 000000000000..d456d73cb1be --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch @@ -0,0 +1,15 @@ +"enconding" kw has been deprecated in json.load since Python 3.1 and was removed completely in 3.9 + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files 2022-12-08 08:20:29.980590518 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2022-12-08 08:21:00.908330630 +0100 +@@ -163,7 +163,7 @@ + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_python_path.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_python_path.patch new file mode 100644 index 000000000000..02a483f2f519 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_python_path.patch @@ -0,0 +1,66 @@ +Don't use hardcoded path to python + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2022-12-08 07:56:12.528708137 +0100 +@@ -1,4 +1,4 @@ +-#! /usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2014 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/cssmin.py qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/cssmin.py +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/cssmin.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/cssmin.py 2022-12-08 07:56:12.528708137 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2013 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py 2022-12-08 07:56:12.532708103 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2013 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/UpdateContents.py qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/UpdateContents.py +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/UpdateContents.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/UpdateContents.py 2022-12-08 07:56:12.532708103 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2015 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py +--- qtwebkit-5.212.0-alpha4.orig/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py 2022-12-08 07:56:12.524708171 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + # + # Copyright (c) 2015 The ANGLE Project Authors. All rights reserved. + # Use of this source code is governed by a BSD-style license that can be +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/AVFoundationSupport.py qtwebkit-5.212.0-alpha4/Source/WebCore/AVFoundationSupport.py +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/AVFoundationSupport.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/AVFoundationSupport.py 2022-12-08 07:56:12.524708171 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2015 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebInspectorUI/Scripts/cssmin.py qtwebkit-5.212.0-alpha4/Source/WebInspectorUI/Scripts/cssmin.py +--- qtwebkit-5.212.0-alpha4.orig/Source/WebInspectorUI/Scripts/cssmin.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebInspectorUI/Scripts/cssmin.py 2022-12-08 07:56:12.528708137 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2013 Apple Inc. All rights reserved. + # diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_json.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_json.patch new file mode 100644 index 000000000000..e2c189a2ee7c --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_json.patch @@ -0,0 +1,15 @@ +# The "encoding" is no more supported in python json library (utf-8 is default now?) +# author: Jiri Furst + +--- qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files.orig 2022-12-20 15:43:51.483563960 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2022-12-20 15:43:23.979251951 +0100 +@@ -163,7 +163,8 @@ + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ #bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch new file mode 100644 index 000000000000..3068f9bfc4bc --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch @@ -0,0 +1,128 @@ +Use C++ "true" value instead of the TRUE define +It is not automatically defined in later ICU vwersions + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProvider.h qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProvider.h +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProvider.h 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProvider.h 2022-12-08 08:45:36.252382941 +0100 +@@ -80,12 +80,12 @@ + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -94,12 +94,12 @@ + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp 2022-12-08 08:46:20.924008445 +0100 +@@ -100,23 +100,23 @@ + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -336,7 +336,7 @@ + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -356,7 +356,7 @@ + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp 2022-12-08 08:46:59.755682780 +0100 +@@ -125,7 +125,7 @@ + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -145,7 +145,7 @@ + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/TextCodecICU.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/TextCodecICU.cpp +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/TextCodecICU.cpp 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/TextCodecICU.cpp 2022-12-08 08:44:48.972780065 +0100 +@@ -308,7 +308,7 @@ + m_converterICU = ucnv_open(m_canonicalConverterName, &err); + ASSERT(U_SUCCESS(err)); + if (m_converterICU) +- ucnv_setFallback(m_converterICU, TRUE); ++ ucnv_setFallback(m_converterICU, true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err) diff --git a/easybuild/easyconfigs/q/QtKeychain/QtKeychain-0.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QtKeychain/QtKeychain-0.13.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..7cb7366cb236 --- /dev/null +++ b/easybuild/easyconfigs/q/QtKeychain/QtKeychain-0.13.2-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QtKeychain' +version = '0.13.2' + +homepage = 'https://github.com/frankosterfeld/qtkeychain' +description = "Platform-independent Qt API for storing passwords securely." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/frankosterfeld/qtkeychain/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['20beeb32de7c4eb0af9039b21e18370faf847ac8697ab3045906076afbc4caa5'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Qt5', '5.15.2'), +] + +# Need to turn off build tranlsations, it tries to put that to qt5 dir. +# The other option would be to set translations directory +configopts = "-DCMAKE_INSTALL_LIBDIR=lib/ -DBUILD_TRANSLATIONS=OFF -DLIBSECRET_SUPPORT=OFF " + +sanity_check_paths = { + 'files': ['lib/libqt5keychain.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.2.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..deb1b3231ed4 --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'QtPy' +version = '2.2.1' + +homepage = "https://github.com/spyder-ide/qtpy" +description = """QtPy is a small abstraction layer that lets you write applications using a +single API call to either PyQt or PySide. +It provides support for PyQt5, PyQt4, PySide2 and PySide.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7d5231133b772e40b4ee514b6673aca558331e4b88ca038b26c9e16c5c95524f'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('PyQt5', '5.15.4') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.3.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..79b8aeb2b477 --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'QtPy' +version = '2.3.0' + +homepage = "https://github.com/spyder-ide/qtpy" +description = """QtPy is a small abstraction layer that lets you write applications using a single API call to + either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0603c9c83ccc035a4717a12908bf6bc6cb22509827ea2ec0e94c2da7c9ed57c5'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('PyQt5', '5.15.5') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.3.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..cd750a04be55 --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.3.2' + +homepage = 'https://jupyter.org/' +description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media +output, session export, and more. +The Qtconsole is a very lightweight application that largely feels like a +terminal, but provides a number of enhancements only possible in a GUI, such as +inline figures, proper multiline editing with syntax highlighting, graphical +calltips, and more.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8eadf012e83ab018295803c247c6ab7eacd3d5ab1e1d88a0f37fdcfdab9295a3'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('IPython', '7.26.0'), + ('QtPy', '2.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.4.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..4ca3e9f8a2ea --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.4.0' + +homepage = 'https://jupyter.org/' +description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media +output, session export, and more. +The Qtconsole is a very lightweight application that largely feels like a +terminal, but provides a number of enhancements only possible in a GUI, such as +inline figures, proper multiline editing with syntax highlighting, graphical +calltips, and more.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['57748ea2fd26320a0b77adba20131cfbb13818c7c96d83fafcb110ff55f58b35'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('QtPy', '2.3.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb index 6c43b84bfc02..9257514652d9 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb @@ -13,20 +13,22 @@ toolchainopts = {'usempi': True, 'openmp': True} source_urls = [ 'https://gitlab.com/QEF/q-e/-/archive/qe-%(version)s', - 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', ] sources = [ { 'filename': 'q-e-qe-%(version)s.tar.gz', 'extract_cmd': 'mkdir -p %(builddir)s/qe-%(version)s && tar xzvf %s --strip-components=1 -C $_', }, - 'qe-gipaw-%(version)s.tar.gz', + { + 'filename': 'qe-gipaw-%(version)s.tar.gz', + 'source_urls': ['https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/'] + }, {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz', 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/']}, ] checksums = [ 'd56dea096635808843bd5a9be2dee3d1f60407c01dbeeda03f8256a3bcfc4eb6', # q-e-qe-7.1.tar.gz - '486b60f38fad7363f81d346adc69de004692f50c9f6be59eee5152a717ca1513', # qe-gipaw-7.1.tar.gz + '0eee3f613d249ff14e8b891493fe68a3567188575ec7397a8fbe3a97cbf6cb69', # qe-gipaw-7.1.tar.gz '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz ] diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb index b39513b3cd83..e9f900390052 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb @@ -13,20 +13,22 @@ toolchainopts = {'usempi': True, 'openmp': True} source_urls = [ 'https://gitlab.com/QEF/q-e/-/archive/qe-%(version)s', - 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', ] sources = [ { 'filename': 'q-e-qe-%(version)s.tar.gz', 'extract_cmd': 'mkdir -p %(builddir)s/qe-%(version)s && tar xzvf %s --strip-components=1 -C $_', }, - 'qe-gipaw-%(version)s.tar.gz', + { + 'filename': 'qe-gipaw-%(version)s.tar.gz', + 'source_urls': ['https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/'] + }, {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz', 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/']}, ] checksums = [ 'd56dea096635808843bd5a9be2dee3d1f60407c01dbeeda03f8256a3bcfc4eb6', # q-e-qe-7.1.tar.gz - '486b60f38fad7363f81d346adc69de004692f50c9f6be59eee5152a717ca1513', # qe-gipaw-7.1.tar.gz + '0eee3f613d249ff14e8b891493fe68a3567188575ec7397a8fbe3a97cbf6cb69', # qe-gipaw-7.1.tar.gz '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz ] diff --git a/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..2238ccf4c84a --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Qwt' +version = '6.2.0' + +homepage = 'https://qwt.sourceforge.io/' +description = """The Qwt library contains GUI Components and utility classes which are primarily useful for programs + with a technical background.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Qwt-6.2.0_fix-install-prefix.patch'] +checksums = [ + '9194f6513955d0fd7300f67158175064460197abab1a92fa127a67a4b0b71530', # qwt-6.2.0.tar.bz2 + 'ac5c329c0693d565b461cdd3b36c1b96b4d09885e1e0c10929fc7a9021c03bad', # Qwt-6.2.0_fix-install-prefix.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Qt5', '5.15.2'), +] + +skipsteps = ['configure'] + +prebuildopts = 'export QWT_PREFIX=%(installdir)s && ' +prebuildopts += "qmake qwt.pro && " + +sanity_check_paths = { + 'files': ['lib/libqwt.%s' % SHLIB_EXT, 'lib/pkgconfig/Qt5Qwt6.pc'], + 'dirs': ['doc', 'features', 'include', 'plugins'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022a.eb b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022a.eb new file mode 100644 index 000000000000..1b0932b22af0 --- /dev/null +++ b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'qnorm' +version = '0.8.1' + +homepage = 'https://github.com/Maarten-vd-Sande/qnorm' +description = "Fast-ish (and correct!) quantile normalization in Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('numba', '0.56.4'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['61b2f3ef09a9c552a4f3b83dc438cb13f191fa190164361a3a508c4777eed3c7'] + +download_dep_fail = True +use_pip = True + +# pyproject.toml included in qnorm source tarball does not include standard fields, +# it's only there to be read by setup.py... +preinstallopts = "sed -i 's/pyproject.toml/pyproject.toml_/g' setup.py && mv pyproject.toml pyproject.toml_ && " + +sanity_check_paths = { + 'files': ['bin/qnorm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qnorm --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..a0bb33bae798 --- /dev/null +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'qrupdate' +version = '1.1.2' + +homepage = 'https://sourceforge.net/projects/qrupdate/' +description = """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_makeconf.patch'] +checksums = [ + 'e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08', # qrupdate-1.1.2.tar.gz + '4aa0e61a18bd14c76048f7b2f1f52875f7bac4bc3426ce9a37dfdb5b2b0d2379', # qrupdate-1.1.2_makeconf.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +buildopts = 'lib' + +files_to_copy = [(['libqrupdate.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libqrupdate.a'], + 'dirs': [], +} + +parallel = 1 + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/r/R-MXM/R-MXM-1.5.5-foss-2021b.eb b/easybuild/easyconfigs/r/R-MXM/R-MXM-1.5.5-foss-2021b.eb new file mode 100644 index 000000000000..fbbc6f6be34c --- /dev/null +++ b/easybuild/easyconfigs/r/R-MXM/R-MXM-1.5.5-foss-2021b.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'R-MXM' +version = '1.5.5' + +homepage = 'https://cran.r-project.org/package=MXM' +description = "MXM: Feature Selection (Including Multiple Solutions) and Bayesian Networks" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('R', '4.1.2'), +] + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('sets', '1.0-24', { + 'checksums': ['e75733f5c9418eb09fb950a4a94ccf84ddd88231c61ee80d02b7f0917debcac9'], + }), + ('relations', '0.6-13', { + 'checksums': ['f859c336fb0c4a2df7f294b33d1d04f95c6988e5e76933e2e70bf291d904d9da'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.7', { + 'checksums': ['8f86159a4760a7124e1c91ae0b022c7e496f81590ea4e4af702bea44e8dedf8f'], + }), + ('Rfast2', '0.1.4', { + 'checksums': ['494b777a86342aae0a6a5f0eb189337b846ef2929964672c0f010d93699d0d63'], + }), + ('MXM', version, { + 'checksums': ['943d7d3ff8496bad43329614922795b0777fa0787fdfd98f71d90a1a9c952497'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['MXM'], +} + +moduleclass = 'math' 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 b7133459ca43..761944fd152e 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 @@ -1075,9 +1075,6 @@ exts_list = [ ('M3Drop', '1.20.0', { 'checksums': ['b82772303c624ff01418e66cefd751a0f6f9d819ea2cf3c9c20a9acd1fc106e5'], }), - ('ExomeDepth', '1.1.15', { - 'checksums': ['112bcb536f5766d9d0b55e064feedd6727ccab14cb1edfdba1f0d7b890e55ad2'], - }), ('bsseq', '1.30.0', { 'checksums': ['2dada40e222d4f42510deeb99c24043078420a4d3d214d4cc3409d428cfb60c4'], }), diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb index 15af98e6e4b4..2cd7b030d51e 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb @@ -43,7 +43,7 @@ exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_s # CRAN packages on which these Bioconductor packages depend are available in R module on which this depends # !! order of packages is important !! -# packages updated on 4th May 2022 +# packages updated on 7th Nov 2022 exts_list = [ ('BiocGenerics', '0.42.0', { 'checksums': ['0cb6fa74a389693d253a9f61935d335fcfcc1dfe5acbba78b3cc43c1af5d6947'], @@ -220,9 +220,9 @@ exts_list = [ ('Rgraphviz', '2.40.0', { 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], 'checksums': [ - '94a4ce168efe39046fe10e2d75a9e459158716b4ef6ef977a0ced725f871cee4', # Rgraphviz_2.40.0.tar.gz - # Rgraphviz-2.28.0_fno-tree-vectorize.patch - '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9', + {'Rgraphviz_2.40.0.tar.gz': '94a4ce168efe39046fe10e2d75a9e459158716b4ef6ef977a0ced725f871cee4'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, ], }), ('RNASeqPower', '1.36.0', { @@ -444,17 +444,17 @@ exts_list = [ ('dada2', '1.24.0', { 'patches': ['dada2-1.16.0-remove-sse-on-aarch64.patch'], 'checksums': [ - '9dd083928fc06d53cdb0a2e2d35be7c304fac74a300f8d3c3026022859b5725b', # dada2_1.24.0.tar.gz - # dada2-1.16.0-remove-sse-on-aarch64.patch - 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935', + {'dada2_1.24.0.tar.gz': '9dd083928fc06d53cdb0a2e2d35be7c304fac74a300f8d3c3026022859b5725b'}, + {'dada2-1.16.0-remove-sse-on-aarch64.patch': + 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935'}, ], }), ('LEA', '3.8.0', { 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], 'checksums': [ - 'c0fd5b5a66aff94d65b8961409c226966aa96a02eb7d1e9a9e75382226e5b774', # LEA_3.8.0.tar.gz - # LEA-3.0.0_support_aarch64_and_ppc64le.patch - 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881', + {'LEA_3.8.0.tar.gz': 'c0fd5b5a66aff94d65b8961409c226966aa96a02eb7d1e9a9e75382226e5b774'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, ], }), ('tximport', '1.24.0', { @@ -721,9 +721,9 @@ exts_list = [ ('RProtoBufLib', '2.8.0', { 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], 'checksums': [ - 'f7160c1623f50f0e23d14e7e99a2e6c018186871f7f1f68c9171031f6ae678d7', # RProtoBufLib_2.8.0.tar.gz - # RProtoBufLib-2.8.0_fix-protobuf-build.patch - '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64', + {'RProtoBufLib_2.8.0.tar.gz': 'f7160c1623f50f0e23d14e7e99a2e6c018186871f7f1f68c9171031f6ae678d7'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, ], }), ('cytolib', '2.8.0', { @@ -1060,9 +1060,6 @@ exts_list = [ ('M3Drop', '1.22.0', { 'checksums': ['4b09b331181219980ba16d89e6c3891fc45cfa32526c7fc23900d4c9e1911841'], }), - ('ExomeDepth', '1.1.15', { - 'checksums': ['112bcb536f5766d9d0b55e064feedd6727ccab14cb1edfdba1f0d7b890e55ad2'], - }), ('bsseq', '1.32.0', { 'checksums': ['25cee0bcaf95eeb734a76ad55f4e508b1201d99363b401df3d0d9ab5c58aeeca'], }), @@ -1090,6 +1087,27 @@ exts_list = [ ('CAGEr', '2.2.0', { 'checksums': ['1cd64f6b045a5e246ae92cd709234c806edfcc25463819df0bd32fe4f4b2fd0d'], }), + ('SPOTlight', '1.0.0', { + 'checksums': ['f6baf718e468292960884a1aacdf8295f0864d771f5eb0f2088fb9a1bc00dcc0'], + }), + ('CGHcall', '2.58.0', { + 'checksums': ['c5e86b9234685462b7330c85b91ca648a801a76c99f3e98cd509ac47ee8afae2'], + }), + ('QDNAseq', '1.32.0', { + 'checksums': ['75bbde9b6cc55cd6a47b9f466358033a180b480def2144abdcc93a2a8e066668'], + }), + ('HiCcompare', '1.18.0', { + 'checksums': ['b9320fa7a9f10832e2ac7ade0245f85ac4c2c26edef2580078888f5e1050ee2d'], + }), + ('ROntoTools', '2.24.0', { + 'checksums': ['dec7ec0d6d709fbdb44d595d776fc462420957e5c23c7bd6d2d63f5a44df04dd'], + }), + ('scDblFinder', '1.10.0', { + 'checksums': ['c0834495a342c6467d64dc899ba5913354ea5d53037c9be95e639950db6e2478'], + }), + ('HiCBricks', '1.14.0', { + 'checksums': ['ac998260ffa66ec93a4c34e56cbaf392f76a848ae35b9ea987f0ec15f0adc47d'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb index 209068efaa57..72d0887ac922 100644 --- a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb @@ -45,7 +45,7 @@ exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_s # CRAN packages on which these Bioconductor packages depend are available in R module on which this depends # !! order of packages is important !! -# packages updated on 7th July 2022 +# packages updated on 7th Nov 2022 exts_list = [ ('BiocGenerics', '0.42.0', { 'checksums': ['0cb6fa74a389693d253a9f61935d335fcfcc1dfe5acbba78b3cc43c1af5d6947'], @@ -222,9 +222,9 @@ exts_list = [ ('Rgraphviz', '2.40.0', { 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], 'checksums': [ - '94a4ce168efe39046fe10e2d75a9e459158716b4ef6ef977a0ced725f871cee4', # Rgraphviz_2.40.0.tar.gz - # Rgraphviz-2.28.0_fno-tree-vectorize.patch - '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9', + {'Rgraphviz_2.40.0.tar.gz': '94a4ce168efe39046fe10e2d75a9e459158716b4ef6ef977a0ced725f871cee4'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, ], }), ('RNASeqPower', '1.36.0', { @@ -443,17 +443,17 @@ exts_list = [ ('dada2', '1.24.0', { 'patches': ['dada2-1.16.0-remove-sse-on-aarch64.patch'], 'checksums': [ - '9dd083928fc06d53cdb0a2e2d35be7c304fac74a300f8d3c3026022859b5725b', # dada2_1.24.0.tar.gz - # dada2-1.16.0-remove-sse-on-aarch64.patch - 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935', + {'dada2_1.24.0.tar.gz': '9dd083928fc06d53cdb0a2e2d35be7c304fac74a300f8d3c3026022859b5725b'}, + {'dada2-1.16.0-remove-sse-on-aarch64.patch': + 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935'}, ], }), ('LEA', '3.8.0', { 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], 'checksums': [ - 'c0fd5b5a66aff94d65b8961409c226966aa96a02eb7d1e9a9e75382226e5b774', # LEA_3.8.0.tar.gz - # LEA-3.0.0_support_aarch64_and_ppc64le.patch - 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881', + {'LEA_3.8.0.tar.gz': 'c0fd5b5a66aff94d65b8961409c226966aa96a02eb7d1e9a9e75382226e5b774'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, ], }), ('tximport', '1.24.0', { @@ -720,9 +720,9 @@ exts_list = [ ('RProtoBufLib', '2.8.0', { 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], 'checksums': [ - 'f7160c1623f50f0e23d14e7e99a2e6c018186871f7f1f68c9171031f6ae678d7', # RProtoBufLib_2.8.0.tar.gz - # RProtoBufLib-2.8.0_fix-protobuf-build.patch - '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64', + {'RProtoBufLib_2.8.0.tar.gz': 'f7160c1623f50f0e23d14e7e99a2e6c018186871f7f1f68c9171031f6ae678d7'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, ], }), ('cytolib', '2.8.0', { @@ -1059,9 +1059,6 @@ exts_list = [ ('M3Drop', '1.22.0', { 'checksums': ['4b09b331181219980ba16d89e6c3891fc45cfa32526c7fc23900d4c9e1911841'], }), - ('ExomeDepth', '1.1.15', { - 'checksums': ['112bcb536f5766d9d0b55e064feedd6727ccab14cb1edfdba1f0d7b890e55ad2'], - }), ('bsseq', '1.32.0', { 'checksums': ['25cee0bcaf95eeb734a76ad55f4e508b1201d99363b401df3d0d9ab5c58aeeca'], }), @@ -1086,6 +1083,129 @@ exts_list = [ ('CAGEr', '2.2.0', { 'checksums': ['1cd64f6b045a5e246ae92cd709234c806edfcc25463819df0bd32fe4f4b2fd0d'], }), + ('SPOTlight', '1.0.0', { + 'checksums': ['f6baf718e468292960884a1aacdf8295f0864d771f5eb0f2088fb9a1bc00dcc0'], + }), + ('CGHcall', '2.58.0', { + 'checksums': ['c5e86b9234685462b7330c85b91ca648a801a76c99f3e98cd509ac47ee8afae2'], + }), + ('QDNAseq', '1.32.0', { + 'checksums': ['75bbde9b6cc55cd6a47b9f466358033a180b480def2144abdcc93a2a8e066668'], + }), + ('HiCcompare', '1.18.0', { + 'checksums': ['b9320fa7a9f10832e2ac7ade0245f85ac4c2c26edef2580078888f5e1050ee2d'], + }), + ('ROntoTools', '2.24.0', { + 'checksums': ['dec7ec0d6d709fbdb44d595d776fc462420957e5c23c7bd6d2d63f5a44df04dd'], + }), + ('scDblFinder', '1.10.0', { + 'checksums': ['c0834495a342c6467d64dc899ba5913354ea5d53037c9be95e639950db6e2478'], + }), + ('treeio', '1.20.2', { + 'checksums': ['a103a6953abf2014bd1bb8b2da4f2d7375bab338724d0bf864085981a85fd5cb'], + }), + ('ggtree', '3.4.4', { + 'checksums': ['c59f4879b4e4ee1a24d61bbec9bfddced3a7a6a747c9bc537bf2c84c2ca43840'], + }), + ('scistreer', '1.0.1', { + 'checksums': ['cb2461cb97a844a1cbdd9e5ecc1961ada0fc3ef186313c73cb07658a887a16dd'], + }), + ('numbat', '1.1.0', { + 'checksums': ['3cdda07de7329e6c886a1f60b2978bb776b04133080e97d82d5772fd666efc2c'], + }), + ('HiCBricks', '1.14.0', { + 'checksums': ['ac998260ffa66ec93a4c34e56cbaf392f76a848ae35b9ea987f0ec15f0adc47d'], + }), + ('dir.expiry', '1.4.0', { + 'checksums': ['588f190e57f3e4a9196c48369e0f879436f1d124548b991203c75f0a51fd1c25'], + }), + ('basilisk.utils', '1.8.0', { + 'checksums': ['1356bb897401316fd0c8df916a9512ae8cb18739b447d2f211784a4a33d8d8ca'], + }), + ('basilisk', '1.8.1', { + 'checksums': ['f34a74870c59e84c3594eb2cab09a4a58ed6e994523cdb063a87161c458f9d8c'], + }), + ('zellkonverter', '1.6.5', { + 'checksums': ['669a314d8ca5f62d29a5ab42d51647c4c2a23e9ae2542921933d48a9e394b767'], + }), + ('DO.db', '2.9', { + 'checksums': ['762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881'], + }), + ('GOSemSim', '2.22.0', { + 'checksums': ['6d93c0bd9075bb3fb3b65d08906a657ddb8ee5d3ced337914b0f54d0fe2de1c2'], + }), + ('DOSE', '3.22.1', { + 'checksums': ['b19853ee01ef6016ec37b4efca6cce17b6bd8ef756eb45e2fb10e6d6a61190d5'], + }), + ('enrichplot', '1.16.2', { + 'checksums': ['5a5b5ad4dcf2ed5dc9f597bcde3f90a63229cc6af9c742a813ded83c225b0762'], + }), + ('clusterProfiler', '4.4.4', { + 'checksums': ['e5e23a5a1b9580f3801291affb2e547e2fd228e1190e9bce398a1b097c86b24c'], + }), + ('reactome.db', '1.81.0', { + 'checksums': ['8fc4436f8189ad979e5a90d76c674b1450991427d036a3bf51f059391598d965'], + }), + ('graphite', '1.42.0', { + 'checksums': ['cf00d3c9c7848d044bf1ea32e468badbf5dac24a3222e225d6fbb89ddfac855a'], + }), + ('ReactomePA', '1.40.0', { + 'checksums': ['458b3febb341700414ca04ea4a6f3005061c9db97622cfdfda6b75a74415a7b9'], + }), + ('flowClean', '1.34.1', { + 'checksums': ['d0e58ac89fd302761136cbcd5eb859351a61da2bd8967840bcd054ec16630f7f'], + }), + ('flowAI', '1.26.0', { + 'checksums': ['f4e35c824f68036cea5746236a026ad8e336c2595411d15d303d45fbc02526a5'], + }), + ('flowFP', '1.54.0', { + 'checksums': ['ba12d5bd4dc784997f30435314fe61f86b0c28d99c4458f7e8f9b76daa54b442'], + }), + ('simplifyEnrichment', '1.6.1', { + 'checksums': ['66fafb64d19c5fc4bb7aa6c6805130144f35fd508c2551024aec9f5c7b7b7461'], + }), + ('RPMG', '2.2-3', { + 'checksums': ['74d5bada6a51d280296cb36fae4938c16ba9ed2fa37f3bfb60cf7c541c5b22b6'], + }), + ('Rwave', '2.6-5', { + 'checksums': ['6c9ef75bb376f2e3f5c5dcd3b3fdca7d86797ce809da34f444632657189be2e4'], + }), + ('RSEIS', '4.1-4', { + 'checksums': ['76d5caf30cd3871fa80d27ea694023a4c303ffc099297aeeff03d22538dbff76'], + }), + ('splancs', '2.01-43', { + 'checksums': ['b351565e1f69f6c86a29d921d3a18d5896c4586e2ab8c73bb3df8e75630fc448'], + }), + ('MBA', '0.1-0', { + 'checksums': ['78039905c5b98be2bb79a5f292187a2aca21ef449daeefea58b0cac53a5283af'], + }), + ('GEOmap', '2.5-0', { + 'checksums': ['82e5608eda7330632bc67aa662b649e7b7b3ccdfda6a18a19d2e3379e0db1093'], + }), + ('RFOC', '3.4-6', { + 'checksums': ['0dfa237f4d04eb9a2718942b4d7ed9538fc5f89e3cbaa5a34a4fd1bc6fe54533'], + }), + ('flowDensity', '1.30.0', { + 'checksums': ['c321b395d6f1ae24d1428319401b225ae5e31fee5051127e43142d96f820103d'], + }), + ('flowPeaks', '1.42.0', { + 'checksums': ['ae98124c0574364bf8cd47be7704ad90b2b7d3dabbdd8df7744cbfaf81d665a8'], + }), + ('SamSPECTRAL', '1.50.0', { + 'checksums': ['b55de8cb2092d1b5c192ed0e4b47c421d888e5392165f28395241ca5884b8a5c'], + }), + ('ddPCRclust', '1.16.0', { + 'checksums': ['a457b78a2c254c69ed572d8dca01c66134d6ad2952f72097703110c1d663da5d'], + }), + ('feature', '1.2.15', { + 'checksums': ['de38292b7e800068a20824e2a9e7d5d4d0b465b7925db0d165346aa5030ff67b'], + }), + ('flowMerge', '2.44.0', { + 'checksums': ['ba143b5fff19207f323c1e7b7feaf56fa6e31700422d002521fe49e86bbc5e03'], + }), + ('SpatialExperiment', '1.6.1', { + 'checksums': ['31e516e14e827e4b9fe853bc136066863dd762053012631c569ec3c00c6cbab5'], + }), ] modextrapaths = {'R_LIBS_SITE': ''} diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb new file mode 100644 index 000000000000..1b5f6973977b --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb @@ -0,0 +1,1232 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.16' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://bioconductor.org' +description = """Bioconductor provides tools for the analysis and coprehension + of high-throughput genomic data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [('pkgconf', '1.9.3')] + +dependencies = [ + ('R', '4.2.2'), + ('Boost', '1.81.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('HDF5', '1.14.0'), # for rhdf5 + ('arrow-R', '11.0.0.3', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.16/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.16/data/experiment/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +# check whether correct version is installed in extension filter +# (some versions in this bundle may be newer than the ones provided by R) +local_ext_version_check = "pkgver = packageVersion('%(ext_name)s'); if (pkgver != '%(ext_version)s') " +local_stop_msg = "stop('%(ext_name)s %(ext_version)s not installed, found ', pkgver, ' instead')" +exts_filter = ("R -q --no-save", "%s { %s }" % (local_ext_version_check, local_stop_msg)) + +# CRAN packages on which these Bioconductor packages depend are available in R module on which this depends +# !! order of packages is important !! +# packages updated on 18th March 2023 +exts_list = [ + ('BiocGenerics', '0.44.0', { + 'checksums': ['8518e462c1ef103ab059d059d871afc444e48f56fe6b3afdb60dc1abf6c9b09d'], + }), + ('Biobase', '2.58.0', { + 'checksums': ['db798af54eb18d83242b1ffbb1fa35b5bc0256cedf86b9a6519e2d786d20e566'], + }), + ('S4Vectors', '0.36.2', { + 'checksums': ['68b441289882bde641a1d736287b2dfb837c21b21e18b127b9fee1fc5d792c8c'], + }), + ('IRanges', '2.32.0', { + 'checksums': ['097935916b5cb33804e1ea09fa6c4ee7ddeaa03eef99138a05b1896b28dc6a4b'], + }), + ('GenomeInfoDbData', '1.2.9', { + 'checksums': ['e63a719a8eceefeda39fc95de83e7aa41caad39705efc712a44ab4021adc45fa'], + }), + ('GenomeInfoDb', '1.34.9', { + 'checksums': ['2bbb094636bf628447ed4c49b4cd96c164264d012a59f0fe5982f12e6a6bc956'], + }), + ('zlibbioc', '1.44.0', { + 'checksums': ['8b2616b722e2d610cdd41aba1a94b987ab017e0bfff63f6ce66f191e81abe530'], + }), + ('XVector', '0.38.0', { + 'checksums': ['e9ba0ec3f4124c6f0ce13c4d562e7e4419f8aa5db4283092574a63a207f4ed79'], + }), + ('Biostrings', '2.66.0', { + 'checksums': ['7312c508bc2fe6ea3da75edd621b41a35929f9dbdca16d25eb3724ca2cd206fd'], + }), + ('KEGGREST', '1.38.0', { + 'checksums': ['ec9fe4b9e11858ba1236c22c9058ea3b3e6967168c847b01003b15d1afb94318'], + }), + ('AnnotationDbi', '1.60.2', { + 'checksums': ['0f52a460cefc40919273463648656c306640cf82afee3bd0fd2941dbde16eeb0'], + }), + ('GenomicRanges', '1.50.2', { + 'checksums': ['37fdc2074f17b833002c906998b09c88174c054bc5dd9fffdba1f76c4d5d668d'], + }), + ('BiocParallel', '1.32.5', { + 'checksums': ['395ed5c19fb706ca73c841c843c3a89f8a88f774a26415bfdbac0dca92a5a6f9'], + }), + ('Rhtslib', '2.0.0', { + 'checksums': ['5098bf9f4e8bbbe7eea3d63480c5c970af87b68998d625a2ec0f12b2393727e6'], + }), + ('Rsamtools', '2.14.0', { + 'checksums': ['5fe4f80752459f6f1691320ffeffd2d7d17d52dcef60c7a7035fd714ac86a471'], + }), + ('MatrixGenerics', '1.10.0', { + 'checksums': ['09fbea178608186571acabc18cd2b81fe5c7aa2d143f5d456ceaed55e01b4815'], + }), + ('DelayedArray', '0.24.0', { + 'checksums': ['d764b4f487b49ca04150ea7d8f5f180683cd80575d67a162e4a99cd52bd8815a'], + }), + ('SummarizedExperiment', '1.28.0', { + 'checksums': ['96e5e4f496ce32d8c812a7483d9208aa1b89cbf6c0342bd53c95c419bad92721'], + }), + ('GenomicAlignments', '1.34.1', { + 'checksums': ['1af0675483cd233ebc4c6d086ffec0c054e0066c424ccea97bc4ec825824e8b0'], + }), + ('ShortRead', '1.56.1', { + 'checksums': ['6baea2227937d6458d25dc590ae4d7209efe071fce8d3859e4c97266989476b7'], + }), + ('graph', '1.76.0', { + 'checksums': ['8c0ddb6d131a88d585bcf3c1e922465fbc40d6d40ba718c8a869f5f9b6ecabc1'], + }), + ('affyio', '1.68.0', { + 'checksums': ['2b3a5fc98ed39b6113031ea989f9cc9271077224cce7d6c83d1a4ef275faacad'], + }), + ('preprocessCore', '1.60.2', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['6d2d5746059a5016e09b3f46f7688de29b5afdf33c6023ce4bc0b7f4eb8c7d46'], + }), + ('BiocManager', '1.30.20', { + 'checksums': ['b9e72d7687abbd785a69fecb530ec86ad92257a6be95b8e15953b193a516d5ea'], + }), + ('affy', '1.76.0', { + 'checksums': ['f28162f390369957f4bed64c535c64c1901be151c4642cf456065e45704d3dc6'], + }), + ('GO.db', '3.16.0', { + 'checksums': ['4652812d8ba380aeeb9b136efbc9365156397eec99c5ca36cfb8294139493b8e'], + }), + ('limma', '3.54.2', { + 'checksums': ['0be567ec0e24707ca27bd54d9e86b407e82ffe10fef21ebc4631356a3f1990e1'], + }), + ('RBGL', '1.74.0', { + 'checksums': ['35c9808240051d88218514fa69de186f7d64c09b254321a6fc125a67bdee8c35'], + }), + ('org.Hs.eg.db', '3.16.0', { + 'checksums': ['2d2e6fdefa0dbb61c86d4736e5a0d430745ae733e310f240b97b2cb3703a2c0a'], + }), + ('AnnotationForge', '1.40.1', { + 'checksums': ['de073ce37a6c661696d4de2e577882c7379af49f20181b6be62896660a658d9b'], + }), + ('annaffy', '1.70.0', { + 'checksums': ['cf2552152ce81eb209a454efe727bfc913c2f2ef1fddf6dfbe5ac6d32185b163'], + }), + ('gcrma', '2.70.0', { + 'checksums': ['c16fc57ae299503aad93cdc7af96cc587f3e7360922cf0de76f54ef924977c28'], + }), + ('oligoClasses', '1.60.0', { + 'checksums': ['e8be665b4310a73b1a7f14aefb1949c6fc186eccb7b8522129ee9167baeb69c6'], + }), + ('edgeR', '3.40.2', { + 'checksums': ['09f4f4ff636f6bb412c95cda601728151c81c442777636601ba6e132c2224337'], + }), + ('PFAM.db', '3.16.0', { + 'checksums': ['8082aaa94eb962b2cf42cfaead8ff9e1bdbd12fdeae82a49d0f3b37bd50eb30c'], + }), + ('perm', '1.0-0.2', { + 'checksums': ['729294987bb0f367c67c4bf4071464e097ec9a2bbdb2c63f19ebfb907c604aa0'], + }), + ('baySeq', '2.31.0', { + 'checksums': ['900f72debe1aff26cc0232efddf9145592ae5f3317425c938237af38aae30253'], + }), + ('qvalue', '2.30.0', { + 'checksums': ['04deeabb43f4f12815cbbe0891b8bfa36abfc82eb2d097b14a28e598585051b7'], + }), + ('impute', '1.72.3', { + 'checksums': ['68e8385d04af8bcc6bb69c3a7b3767aa23f0a5856a4f462de6e0cd95d40708e3'], + }), + ('shinyFiles', '0.9.3', { + 'checksums': ['4a72e165ee8a6e8256988f27286a2cfc4d7a42e2a902f4f2a728b1c237c07286'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.52.0', { + 'checksums': ['26b3040109926b66598bf3d2a8df186bdbf1fdda62fed1ad4e3ac863ce82a397'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.40.0', { + 'checksums': ['22f4545c0420ebc42709b7d42562279344eea0c916a734f9fc0c40b8aa1185b3'], + }), + ('BiocIO', '1.8.0', { + 'checksums': ['2e41284256ef5dac4deb27ee41f973092e091c387a77cf3e3d588c39aceea495'], + }), + ('restfulr', '0.0.15', { + 'checksums': ['40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692'], + }), + ('rtracklayer', '1.58.0', { + 'checksums': ['b3d2dddd3924ab739324aad65c149949d73d879eeb9e2fe39a6ecd5a9d03b9e3'], + }), + ('filelock', '1.0.2', { + 'checksums': ['ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403'], + }), + ('BiocFileCache', '2.6.1', { + 'checksums': ['87a3d98cde0abcdbfa0c8e7a8f77eda78e39be712bc6edefcd85fa778b326198'], + }), + ('biomaRt', '2.54.0', { + 'checksums': ['989a1ac3c9f99833c277892dfc868f0aebc8ac106ce4d038766e4d514c7cca30'], + }), + ('GenomicFeatures', '1.50.4', { + 'checksums': ['d63cfa59fac2c379b2745263c408b6fe6c9785cb32eb67cbbc450868c72059e3'], + }), + ('bumphunter', '1.40.0', { + 'checksums': ['e28d6b3b887b1d83f61d76d4a9c8c2489581b8cd137dc8a92e3c54e844838b4b'], + }), + ('multtest', '2.54.0', { + 'checksums': ['e7012d1f04a4aba6b85bef5bbef95c9253408a16c329c4b184a4fe0ba8033f32'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.72.0', { + 'checksums': ['7bcaf25b8050e72161ef241ba515f74514d31e97dcbfa482519d785334193a3e'], + }), + ('DynDoc', '1.76.0', { + 'checksums': ['0bee877511766c478bbbb916fef58c24ad4d347089d9a1436af0da6b4f4a1d71'], + }), + ('NOISeq', '2.42.0', { + 'checksums': ['221e4d1396b7c3d412c0f1358a2ea1676c9eabf86ac3f953b27a875ca8531ec8'], + }), + ('Rgraphviz', '2.42.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + {'Rgraphviz_2.42.0.tar.gz': '955b3cff1951725d527f80e51d150e2b0096a0df0f1279a978ff83d055ab9e2e'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, + ], + }), + ('RNASeqPower', '1.38.0', { + 'checksums': ['0aad1434beb5d2dfa5329af5d6fae1200e0a2973016ce136901233d5258d12b9'], + }), + ('annotate', '1.76.0', { + 'checksums': ['6ad0db66b81c9f998852b18df0cea0847eff3409b71abd03bdc60e6fc6b6551a'], + }), + ('GSEABase', '1.60.0', { + 'checksums': ['a583e6286214f10a23f9d385b090f6539a1f7a730a5f327ae23aed6169a40e45'], + }), + ('genefilter', '1.80.3', { + 'checksums': ['09995bc8d29311f1083c3f27abbff2e055778666dd9d1941031563d73141f710'], + }), + ('Category', '2.64.0', { + 'checksums': ['d0769ce883810e46ce2e464e579cf59221d72e9138a83001ba47accdfc58c2c8'], + }), + ('GOstats', '2.64.0', { + 'checksums': ['dadb1b988a81fa24a972ed2f1227c0cda4c425529fe74ced939d5b84a7f3901d'], + }), + ('BSgenome', '1.66.3', { + 'checksums': ['46fb92b6bab87c36cdd79f60e1d81c56d02ce06c0ef12e26d21eed9aa2d147df'], + }), + ('VariantAnnotation', '1.44.1', { + 'checksums': ['fd430a989ac4c4fcf7f88ee4c0c6e8adc0d086c2a209b1d3e0a569fadaa9f18f'], + }), + ('interactiveDisplayBase', '1.36.0', { + 'checksums': ['3fb388572c9250ba2cf56fa56c40adc83c5897ad43b36f219b1c269c44fa4cc8'], + }), + ('BiocVersion', '3.16.0', { + 'checksums': ['dc7af08c09242cc436be7b91e46705789d13ac3a3939211ee9be8511fc1057b6'], + }), + ('AnnotationHub', '3.6.0', { + 'checksums': ['f6c4062a04a1a8421072ae89cf2ba41ef98c8372cd360f179c89745e0d1660c2'], + }), + ('AnnotationFilter', '1.22.0', { + 'checksums': ['d37a0e40e5503c84bc99432c982f4894a10114ae93abe9077074adaeb59b2654'], + }), + ('ProtGenerics', '1.30.0', { + 'checksums': ['9116dd55ef2e09f1b1d9d81f4745574d898dcf1d438e58a896357db83e78b7cc'], + }), + ('ensembldb', '2.22.0', { + 'checksums': ['51d68978b0f2285be379bbbfbb7b890ac689303434259ef6988a2f5ce3b031ec'], + }), + ('biovizBase', '1.46.0', { + 'checksums': ['865393b822d308c96d9987faa0d1e253ad14cf3efd3c3c376896eff2065ea64c'], + }), + ('OrganismDbi', '1.40.0', { + 'checksums': ['7cfa7055f5b4625e764ee918e8af46409a7b7f54ad53d3fa4e2268bc38ee8186'], + }), + ('ggbio', '1.46.0', { + 'checksums': ['0f983bebac75b2ae957e709d2fa316f547844ceb0136f132e3082ad06df0a3be'], + }), + ('geneplotter', '1.76.0', { + 'checksums': ['6a2bf0e14ca16d23c629680967d24c5c08006300483235ee3acceadda6269b24'], + }), + ('DESeq2', '1.38.3', { + 'checksums': ['b5db24957eefca903089d9b6ca56db25438a25ad3981ce83fc847eb3647a3e4f'], + }), + ('ReportingTools', '2.38.0', { + 'checksums': ['c0673fe479e09590b789ade6d91c50ad7f5e568aa9bc9debf7606301c0b22fdb'], + }), + ('Glimma', '2.8.0', { + 'checksums': ['42bcc0390167920fd1b5c58815fcd1beaddaef8aa9aabf315c99f6d1ee5253bb'], + }), + ('affycoretools', '1.70.0', { + 'checksums': ['94c4be4223a427763e07bf468e63a1ce2e272a432c5abf4cbd56c2d890a6549f'], + }), + ('TxDb.Hsapiens.UCSC.hg19.knownGene', '3.2.2', { + 'checksums': ['063de2b1174782a0b2b8ab7f04a0bdf3c43252cb67c685a9f8ef2b8e318352e9'], + }), + ('Homo.sapiens', '1.3.1', { + 'checksums': ['014809fc6ef6410be8dc1094c9cb083719f20d999065ae4bf388855be0913b94'], + }), + ('BSgenome.Hsapiens.UCSC.hg19', '1.4.3', { + 'checksums': ['5bfa65d7836449d9b30c356968497cdfaa98be48c4e329e71e8f8a120f3e9d1a'], + }), + ('AgiMicroRna', '2.48.0', { + 'checksums': ['c7d5319808ec9267e052fecc1336777d3fa8731efe882554801036d2bcf57060'], + }), + ('geneLenDataBase', '1.34.0', { + 'checksums': ['8f9cf0b21de1e9042dd8680c86ca93b72f57c0f68d38acf81a0187cdc2d396f5'], + }), + ('goseq', '1.50.0', { + 'checksums': ['c8478273cb97f28a827fca7721e31fa51831d467d292a218540c0f4ad0a60975'], + }), + ('KEGGgraph', '1.58.3', { + 'checksums': ['c60fd72bdf5f0fd9335779a15f9f299143cab0592406a418dc643274db3fb2e8'], + }), + ('GEOquery', '2.66.0', { + 'checksums': ['7602d0cb9c8d600187d599c2fb6d7328f219193c72c4af1987aaf51968556232'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.22.0', { + 'checksums': ['3dabec627b5e21da365979d6980565bd338e5a6ec8c3a016f3726ebb6184da70'], + }), + ('Rhdf5lib', '1.20.0', { + 'checksums': ['a73b462be309c9df11afc9b941282dcefb36b4a38d15c050fd98bb3c05bbaf7f'], + }), + ('rhdf5filters', '1.10.0', { + 'checksums': ['e1bf2ada5070b4b8d48b90db13ea750c812eaa2a82536571faa35621c250a29f'], + }), + ('rhdf5', '2.42.0', { + 'checksums': ['07818686cf0ce84d179416c900903289b301ccd6cee41cd1772589d08e10baef'], + }), + ('HDF5Array', '1.26.0', { + 'checksums': ['d0c47ddf50deae248f93d97c154e52ab2d3068ef4520c18d8c360a8735ad45f8'], + }), + ('sparseMatrixStats', '1.10.0', { + 'checksums': ['60f523d2c70b926768070373b9fd05dafcc53e822b3dfd406fe95b4b541e02e7'], + }), + ('DelayedMatrixStats', '1.20.0', { + 'checksums': ['63ca262c2b92966759ba9d2ebdea7500a4dd859e9f87c17408522f80693e9661'], + }), + ('minfi', '1.44.0', { + 'checksums': ['8ca2606e3dc83ecece76df8725a0b4fe44cad1c386006ec92452f847e34f2895'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.44.0', { + 'checksums': ['84d507e3008b1d762de2ddaf3ee98d18f1c95eba83ba3e1580dfab39c7f66e1e'], + }), + ('lumi', '2.50.0', { + 'checksums': ['582ea1e15b4c70682addb7e6699b468695e2f167213496a5ed2d191d51212181'], + }), + ('widgetTools', '1.76.0', { + 'checksums': ['c5cbbd2b111629a30fb4cf82f27c5f2a5555bd12c3220754cce1277edc6f23dd'], + }), + ('tkWidgets', '1.76.0', { + 'checksums': ['72da8e46958dfd1ae9d707656302111214e2c9e5bafdf971d624202848fdf027'], + }), + ('Mfuzz', '2.58.0', { + 'checksums': ['dfb9ca914110b92d919624b484954971cb8bce8b3f3d2194172a002d1d636d06'], + }), + ('venn', '1.11', { + 'checksums': ['33d915c7c90078f1e76e803fa3f02ab5b74dd04de7a9700477e51e0235f19314'], + }), + ('maSigPro', '1.70.0', { + 'checksums': ['a04310374247c39fdbe6dbd6a68a59b4412ecb3b8d686a6ad7214b078a151011'], + }), + ('SPIA', '2.50.0', { + 'checksums': ['ebd8998907f9f42085d9e00bd001b149486b74e79a6afbefdb17f213259532ff'], + }), + ('Gviz', '1.42.1', { + 'checksums': ['4ac722abc5ba97141d286a8b8324424b4179b9636ee1b16767881dd834301a07'], + }), + ('cummeRbund', '2.40.0', { + 'checksums': ['a955bc1b76c59d1fab97de09740d524c770f5954a58990a906ed93fda885f3bb'], + }), + ('GenomicFiles', '1.34.0', { + 'checksums': ['a11026ba7461816097b889aa1148f4c5d3227b041e1ed4384817215f5caac44c'], + }), + ('derfinderHelper', '1.32.0', { + 'checksums': ['0478def20d6861779e4c640283d71759bc3bbf56131cc9db67718fe271951985'], + }), + ('derfinder', '1.32.0', { + 'checksums': ['f920adcd310b352a070bbd6d03a2587fb7626add4a74071ac8e2cced3c1c306d'], + }), + ('polyester', '1.34.0', { + 'checksums': ['bac7b6a80979d604732e3ccc785ceca08fa37760312abf8332f3ce1ba9278a9b'], + }), + ('Rsubread', '2.12.3', { + 'checksums': ['ad498c5c386219989b689e5bd22eb16d7f741d666bbb0009598bc2e791da1552'], + }), + ('pcaMethods', '1.90.0', { + 'checksums': ['440fc4441798c50ecd39416188e82375f2484a9732e51197e9f3bbb5ae9b55b2'], + }), + ('marray', '1.76.0', { + 'checksums': ['fa4d8751414a3038e0c07dc61b90fc10f6ddcfedd520dbfb365088dd25234dad'], + }), + ('CGHbase', '1.58.0', { + 'checksums': ['77b7b07137f4f48208c063d8c1f4390d52f3c4938f2a2747f606125844f9c106'], + }), + ('Wrench', '1.16.0', { + 'checksums': ['3d0d9b3127e2622dde59ce78d3ff16fbeebc3e9e3391480c2f1cdd2693dcf558'], + }), + ('lpsymphony', '1.26.3', { + 'checksums': ['e57bb9a414cd9bf219072179c58d32715ca0ae4475968145a4a0f04bea340c47'], + }), + ('IHW', '1.26.0', { + 'checksums': ['3e7b896a87b2c21a9da91a4a4634bca4b70ea0671557126b71cde3bf04716b13'], + }), + ('metagenomeSeq', '1.40.0', { + 'checksums': ['5e26362985890a6bb22b17b755b9d5d3df1293220fb3617551daa3ca26e19207'], + }), + ('gdsfmt', '1.34.0', { + 'checksums': ['06cc0c5d087859a897c46bca4555b957df99453bb9d1cbe2dee64ab809c663b2'], + }), + ('SNPRelate', '1.32.2', { + 'checksums': ['9daadded411c04ac33b98c27d4d873f735cc757b4ef4874589cfa76091da60c5'], + }), + ('biomformat', '1.26.0', { + 'checksums': ['21dac4201474b56610d0aa8c6f4dc0d5514dec6a37897a695176af02e475481c'], + }), + ('phyloseq', '1.42.0', { + 'checksums': ['736a9bf5315e548293e41c0c6696c3147357c6abee308ec3a8997fb35301f11f'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('zCompositions', '1.4.0-1', { + 'checksums': ['33ee11f635cb87cc9c0617e1cfc91f1ac41c6cfe2b70fc441e226015939230e7'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.7', { + 'checksums': ['8f86159a4760a7124e1c91ae0b022c7e496f81590ea4e4af702bea44e8dedf8f'], + }), + ('ALDEx2', '1.30.0', { + 'checksums': ['6eba6fdd689fdd5d18fde3ffe4aa64ad4af5bfdc8977b8038d297fb46ed10515'], + }), + ('dada2', '1.26.0', { + 'checksums': ['6c9ee66abfa2e21096b8a3669346a445ee051308d9773f2d9e6e4ea230c1aeb1'], + }), + ('LEA', '3.10.2', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + {'LEA_3.10.2.tar.gz': '2ecf7f965bf0812619ecc73e5ac1536c9a4f97dce7e37aff098d696607d08807'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, + ], + }), + ('tximport', '1.26.1', { + 'checksums': ['d68f13fdd8f4eec668dd20147a18a03f3e02abb34f64cf3cb6a92fb12cc1c7e4'], + }), + ('SingleCellExperiment', '1.20.0', { + 'checksums': ['4fa8af4bb12c045628b6448d63a8fad302e700abfafe0120263c01301c4f2cf9'], + }), + ('beachmat', '2.14.0', { + 'checksums': ['d52485edb2919fe2b1a75999fd583c8eee7b9608fbe406bcf8d1c99312e44169'], + }), + ('RcppAnnoy', '0.0.20', { + 'checksums': ['dcc6c7e091154d0a5698472e0fc7ed77976941c7376d21e019c90c3efaeacf85'], + }), + ('RcppHNSW', '0.4.1', { + 'checksums': ['4f0082154f77dcb7756d41cdbfe0f58316431b9027081321a27942f319097c74'], + }), + ('BiocNeighbors', '1.16.0', { + 'checksums': ['37c993c476c179a12dfc1d75afe42c4fbe5128c19169e655ef94f3575c06c025'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.6.0', { + 'checksums': ['815ac82cc510995eaccfc521fdb65c153f25e8432d301b0da8fbe5f6d337b953'], + }), + ('BiocSingular', '1.14.0', { + 'checksums': ['738abd56358dd2bd56890380345b05d453be000005ba93d40571bbc8aaff3110'], + }), + ('scuttle', '1.8.4', { + 'checksums': ['6e94e7c96ef9ac584da2a28cd11133d10b50fc1370d8d06a39259794e83b4510'], + }), + ('RcppML', '0.3.7', { + 'checksums': ['325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('ggrastr', '1.0.1', { + 'checksums': ['82d6e90fa38dec85e829f71018532ed5b709a50a585455fc07cb3bae282f5d1f'], + }), + ('scater', '1.26.1', { + 'checksums': ['03336f494089d71920b30e285876b7256aba2946dcc3f4ce8976d340bc7056d6'], + }), + ('bluster', '1.8.0', { + 'checksums': ['7e9b2cab68ddf27b4167436b6a4e42bce32487bdc3a635cba025559b00dd29f6'], + }), + ('metapod', '1.6.0', { + 'checksums': ['6b25503595ba5c951f04504a9a3f8167ce827261a08a24ad3dd8adf471505419'], + }), + ('scran', '1.26.2', { + 'checksums': ['de010e0dd5ce69fcb2a2692211cfe8c0597ea12786caa060a20998a91b990065'], + }), + ('SC3', '1.26.2', { + 'checksums': ['6a3e53c3cc6368b1fd303570f8e7ebe3c8f877affcba78066a06575c4a2d4437'], + }), + ('ComplexHeatmap', '2.14.0', { + 'checksums': ['47a475eaddb85fdf67cb2d9d260a79eb359eac8c48eaa04793a7d430a480c0d5'], + }), + ('GENIE3', '1.20.0', { + 'checksums': ['31a0d9b1b06b19d6b36a5a6eca80c63a6f3f1ab5878eae9306a697634fcfcc24'], + }), + ('dupRadar', '1.28.0', { + 'checksums': ['99c1878dccebd5bc7446167222ef97c994b86237edd2ce0adc6c88d0921ff580'], + }), + ('DNAcopy', '1.72.3', { + 'checksums': ['dc1eac19ad9e414cbf69eedabf23a23a1c104bc87f1f21f14d0db714bccdbfcf'], + }), + ('sva', '3.46.0', { + 'checksums': ['6f08aab3ee29cbe6481797b6bb507f351be25e4f0fc9e72588c8fb9d093f2b30'], + }), + ('ballgown', '2.30.0', { + 'checksums': ['7cbb7ee5a145242d965eea49456f6de4ea7e08a32bb9debe23333c4ae426c247'], + }), + ('DropletUtils', '1.18.1', { + 'checksums': ['e738ed88fb2186dfd6957e46b5fece8c1908d84b13f248d5298ddbd4a7565067'], + }), + ('DeconRNASeq', '1.40.0', { + 'checksums': ['c4235fcd08426920dbefdb96945fce60ee5d6836a224c95c8ac85fed20c33c17'], + }), + ('GSVA', '1.46.0', { + 'checksums': ['c5f0451956b31312d22fe2e439bd64f28495107d2637e72eaeebdad424ebf6ee'], + }), + ('PureCN', '2.4.0', { + 'checksums': ['2b909b5d4736a5c6726e80c0fa0ec0a8b1d8144f12199d7c1dbd295736b2c974'], + }), + ('globaltest', '5.52.0', { + 'checksums': ['335d0bd6e5a90d0ecd769a4119ff89e60746edbf31ce3f34572a2caddad199e1'], + }), + ('GlobalAncova', '4.16.0', { + 'checksums': ['9b638ad642176b857df209ab830c56b4ddf055cb6b167abdd5909dd0d84c6c7c'], + }), + ('vsn', '3.66.0', { + 'checksums': ['1f5069ed5d8c2b3b9feabf1199eda5f0bbb496a610a7626fa8861827cbcbe7cc'], + }), + ('mzID', '1.36.0', { + 'checksums': ['ea273dc50ab2d7099d543bc9dde8737465e144ea45dd60aa7151c5bfa62fbc40'], + }), + ('mzR', '2.32.0', { + 'checksums': ['e1d49d3e6bb3af2a96a7918398f4abfdb7516531f9f24b4b8aba08a7f69ef55c'], + }), + ('MsCoreUtils', '1.10.0', { + 'checksums': ['98fda58cc3aa32f9425f54297452667fa3d8f3be58a632bba961eebac5da19ea'], + }), + ('MSnbase', '2.24.2', { + 'checksums': ['8727e255ae4f10e772935a720118f3b97d674e8d2f6f185d871e270b7320b849'], + }), + ('MassSpecWavelet', '1.64.1', { + 'checksums': ['0f6f1bd21b6b7977c4db1b26515e0f8fc963e7a87407bdfc2b6a233632690c5d'], + }), + ('MsFeatures', '1.6.0', { + 'checksums': ['41060ed64d31f71d9c9b5f027648f16458d0000f4c7bb4dd53aaf130381122e0'], + }), + ('xcms', '3.20.0', { + 'checksums': ['1d0bda1f634c592002726b402a3cf0bf95ed5efecdf66383e5d31b0652b340be'], + }), + ('CAMERA', '1.54.0', { + 'checksums': ['b59a76592046c5a024e1f137b954778518a70bd7a0765a1fe55dca0e408ecf9f'], + }), + ('fgsea', '1.24.0', { + 'checksums': ['138f343ead7b33c41044b4235f9b137ba35830c6e670da7af7f8e505592d34bb'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.64.0', { + 'checksums': ['f7c68e30ab169fe2a13928b7fb06f3714e859abdb1456f1e6901acbc86e6bca9'], + }), + ('GWASTools', '1.44.0', { + 'checksums': ['38e5f2e1e6f739b98129f2ad9bc388df4ec74955341004a71a949432f106d109'], + }), + ('SeqArray', '1.38.0', { + 'checksums': ['9699cd3b5b2cd523c78fc8c4c289a0deb4329f72d02c8a7b08e05a06b9b0048b'], + }), + ('SeqVarTools', '1.36.0', { + 'checksums': ['cda342b2c133bbf67e4a636a6fdce950321631dac093739837c4b495bf2bc833'], + }), + ('GENESIS', '2.28.0', { + 'checksums': ['ca95507d01d53cecc98358a78ff9f2e649e82f3c86d5489f7df172dbdb318a51'], + }), + ('MLInterfaces', '1.78.0', { + 'checksums': ['3df9895df290a287c14c850b6680e0cded83bd44e395fe5f00b3f9622a7cca76'], + }), + ('pRoloc', '1.38.2', { + 'checksums': ['51ff83200eb07d9effff745d8dd233ada759db54fb2fdd3c5589c044328695e0'], + }), + ('pRolocdata', '1.36.0', { + 'checksums': ['0a274be874e66b6b27c0d97e64bc21133f0ad37595dbf9d8e8be0baa2b892e60'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.5', { + 'checksums': ['9ac25e979db9242598bd0492ff862360009b51ce672184ec9f4eeb2232164979'], + }), + ('shinydashboardPlus', '2.0.3', { + 'checksums': ['49a88cfa396f880ff4faf558bb038763084287c932e27b0c9251f4d676584d83'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('anytime', '0.3.9', { + 'checksums': ['1096c15249ac70997a8a41c37eeb2a6d38530621abeae05d3dcd96a8acc7574a'], + }), + ('shinyWidgets', '0.7.6', { + 'checksums': ['5392d287828f32f7708e49d1a2030d27f05118cdb3865ca630deccf632ed8478'], + }), + ('pRolocGUI', '2.8.0', { + 'checksums': ['225788ccc3c03027138f08ac20809997b29281cbb32af4a208158f556af4d768'], + }), + ('EBImage', '4.40.0', { + 'checksums': ['1880d87e7be3a4c3152f5622141eb9497fa8011b790b0c7928242aca775ccfcc'], + }), + ('GenomicScores', '2.10.0', { + 'checksums': ['b04037578d3d2ced91c69a83350d51da1a58da15e030dbef4055c5c2787de0eb'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.30.0', { + 'checksums': ['89001c6f24ffd23a8badd7f09595cfb973dd1b0e1f2bfdc503b475053ee45605'], + }), + ('InteractionSet', '1.26.1', { + 'checksums': ['ad7cc6801d88858801fcf855a95788587834a513bef1d0a4bf39e6b5149468da'], + }), + ('ChIPpeakAnno', '3.32.0', { + 'checksums': ['c6ef5c446457d381934aeac90fbbafc495808ead8d67d6ac7b585dbceb805e8f'], + }), + ('seqLogo', '1.64.0', { + 'checksums': ['d7fe7ac53c7b64e78ac34619758df42d9442e635b284befe52f148ac62889df6'], + }), + ('rGADEM', '2.46.0', { + 'checksums': ['e30653add6e38db91ca92a2897421461eccaf6604ef02ec83cbc2c849b1c111c'], + }), + ('MotifDb', '1.40.0', { + 'checksums': ['f41d4a37328db893f8c0cd6afee1e0be8d588cc090a5c6440a6383b86a775188'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.34.0', { + 'checksums': ['dceb50eb3881436ed961e22e603b48e4dce3dc8c7e3e9cafb0b03912143bc297'], + }), + ('DirichletMultinomial', '1.40.0', { + 'checksums': ['8112a8443d76ea587106c6f8d6fde4eac4db4c4172507e60354f33fe07b53601'], + }), + ('TFMPvalue', '0.0.9', { + 'checksums': ['b9db56e75e2cee840d8b7861686dec07ee2c40cbc7d55361e5d04f1bf0c65de7'], + }), + ('TFBSTools', '1.36.0', { + 'checksums': ['099d17585a41d53d23a5c287e33247cbcea73d8b3f07d43aa899d5022b9f6f16'], + }), + ('motifStack', '1.42.0', { + 'checksums': ['153689805f2cd4ccf31ae8b909687aaf803532798f1d9586b7420f845be9eea1'], + }), + ('ATACseqQC', '1.22.0', { + 'checksums': ['62a5f0cd3ec7e6dfa5c591a026de52d907e3520273e7dbb3fc1e23f79b88ef89'], + }), + ('ResidualMatrix', '1.8.0', { + 'checksums': ['49e6f4f805836f9a02857e84fcd1f726b9c470c452814be5ccd069f84376117f'], + }), + ('batchelor', '1.14.1', { + 'checksums': ['d5312d436dcb6fa2163c8e0c4febfeb533b78f284614f4f08224f46bd42248fa'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.62.0', { + 'checksums': ['f93f6274e8bcfdfe419b784fdf68607cd311e0f118b9722a444832a18cbb3451'], + }), + ('R.devices', '2.17.1', { + 'checksums': ['3b7e57039311c034ff87ccebef4f16410d59985693c47949ecefa49a166c9c09'], + }), + ('R.filesets', '2.15.0', { + 'checksums': ['bad66f3d0f00eccc681b9e23aefc37343e6e414298eedba3a2db41e74c7fb691'], + }), + ('aroma.light', '3.28.0', { + 'checksums': ['c4463dec311c25ff2c54b2a92547eaa6453a125edecb70b64d76ba5ba7dbe905'], + }), + ('PSCBS', '0.66.0', { + 'checksums': ['58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93'], + }), + ('aroma.core', '3.3.0', { + 'checksums': ['7b6ab7cc6079f6783b0eaa2c10a29492e53cfb3f05b7a298588491b35a472188'], + }), + ('R.huge', '0.9.0', { + 'checksums': ['f12d113a965603cfdbbb46e1a57331d267916235555b22f2bbc06caa302ae58e'], + }), + ('aroma.apd', '0.6.1', { + 'checksums': ['d30f3bcfa756958107f3b3f1e11151278463dcc36da7bdc66819864ab4b6c82f'], + }), + ('aroma.affymetrix', '3.2.1', { + 'checksums': ['7aefbbddf94f6fc0ee2dec261f0caa6ca28d5f36aa7f7534ffb5f4e10ec4f5fb'], + }), + ('Repitools', '1.44.0', { + 'checksums': ['030048566a8549b9bdd9faf2552097df520ffd8efd89832d446c0172ed051591'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.5', { + 'checksums': ['b49277e4fd955be76571f187630993b02a459c7c5b69ef62a01a75dd5226e952'], + }), + ('MEDIPS', '1.50.0', { + 'checksums': ['c15bc4d0c5f750e853872e0e0e1f0a46faeeaa60cc2d707b59f96f6c1ae160fd'], + }), + ('RProtoBufLib', '2.10.0', { + 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], + 'checksums': [ + {'RProtoBufLib_2.10.0.tar.gz': '55e45aff285a370ce7909f03eb21e1c265a611241cf2a397f4105c86f2d4a51d'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, + ], + }), + ('cytolib', '2.10.1', { + 'checksums': ['25d6d625cd882bbba0997c818597ceda2f1fcef39630c40658e5d0a815a6f865'], + }), + ('flowCore', '2.10.0', { + 'checksums': ['52ab82e9fddc26990d1e201b9c226d5aa771a5a8ed151d894930b23dbef71948'], + }), + ('mutoss', '0.1-13', { + 'checksums': ['b60f6fcdce44dc60c7d34c6510047f756f1442366a3566661b22aae12f4ff141'], + }), + ('qqconf', '1.3.1', { + 'checksums': ['c531d4c074583418e7a6e23cea0b163ae825db83b338775dddf8628b683a7cef'], + }), + ('metap', '1.8', { + 'checksums': ['ee9501a8de8a4c47af1632e6053e42ef53fc4b8bdf0f2759edc4d3eefaf5552b'], + }), + ('scattermore', '0.8', { + 'checksums': ['dbdd73d8261cb063464bb29d5c17733b7e87bc50a19948bc80439e19f2a9f8e5'], + }), + ('SeuratObject', '4.1.3', { + 'checksums': ['585d2754f6165a367f0f458523f0a25d4d4160c929c931b27c5603cc6bd986d3'], + }), + ('Seurat', '4.3.0', { + 'checksums': ['7ebacb3b86f74279de60b597f9a6e728f0668719811b0dca3425d21762fff97c'], + }), + ('ALL', '1.40.0', { + 'checksums': ['1c6be8426c4a926de63ff2779d0e031308f6904b1f732d82370f54f208308ece'], + }), + ('ConsensusClusterPlus', '1.62.0', { + 'checksums': ['5845f024820b5a5514a8b839024f8e7f7be1754867f5627b717f0741d71a9f95'], + }), + ('flowViz', '1.62.0', { + 'checksums': ['e85f0a6282d5b0a663142943514f8825082a87ce7c2494f33eb1ec05e858e27b'], + }), + ('ncdfFlow', '2.44.0', { + 'checksums': ['f5473d14e8ebe59988a0dde0c1d8d2245dbae71d3bbdf6c9b729a10c5ace612a'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.10.1', { + 'checksums': ['e4e1fe6fe6284e649b3ff4b8a9295727c61da70189a40975151654372973ab4a'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.7', { + 'checksums': ['159dd90555eee237397f042d811f773aaee779f5036c4e0669a52c36e28d8db2'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '6.0.5', { + 'checksums': ['14445776fc65284cd6cae98e5b4dd14c2626d96db5f78c0fcc6aabce5419b8f1'], + }), + ('flowStats', '4.10.0', { + 'checksums': ['57d0c7601640544a2bc71c3d179422c42f5db937a69001bda86a436d5d06b883'], + }), + ('flowClust', '3.36.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['d803a12086b3dfefac0b6ba08a7e5e3fa455f17ea69aa1daf7cf806eea7334d0'], + }), + ('openCyto', '2.10.1', { + 'checksums': ['20438f78c21727634fee387658dd798284e796dddd411f75f80f7d0b5b529a9b'], + }), + ('ggcyto', '1.26.4', { + 'checksums': ['f2febbda6f07350778f96c841458389ba68fa786d7087483e57bb20d17d841de'], + }), + ('CytoML', '2.10.0', { + 'checksums': ['4a4b94b6a3e296139093d5034f755fcf2ee3a45866b1d3cfe476d2c7796dbb80'], + }), + ('colorRamps', '2.3.1', { + 'checksums': ['61f1290824380ae2fe4649f296649e0a155b73ced41479686150400f8a9c568a'], + }), + ('ggnewscale', '0.4.8', { + 'checksums': ['c7fefa6941ecbc789507e59be13fa96327fe2549681a938c43beb06ca22a9700'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.6.0', { + 'checksums': ['2cfcb3ca83f0c35eceb753b551eb5fc8b5022dfceeeefa017eb11406218dfde8'], + }), + ('HMMcopy', '1.40.0', { + 'checksums': ['bb4469b4050a0b86cbd8158efbec435931075495fdd639509fc9f3eda9b0325c'], + }), + ('diffcyt', '1.18.0', { + 'checksums': ['5a30682f27f04a73884712cf9f94a9fe7524f2aadc99e0290c95586bf5dcb083'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('remaCor', '0.0.11', { + 'checksums': ['750699c75e46dbc6a654ad29be736d886da0bc3c8a259882785d9b2ff30f1342'], + }), + ('variancePartition', '1.28.7', { + 'checksums': ['a985b6ce9a6183c91a2eb053fdbb6e9ce1411898b50ac3ac825d91076e616547'], + }), + ('muscat', '1.12.1', { + 'checksums': ['2a6c8cded6e4cd36f5ca0ccd63a5c2451d452c9eb1e66a58de24efe7877e2d18'], + }), + ('IlluminaHumanMethylation450kmanifest', '0.4.0', { + 'checksums': ['41b2e54bac3feafc7646fe40bce3aa2b92c10871b0a13657c5736517792fa763'], + }), + ('IlluminaHumanMethylationEPICmanifest', '0.3.0', { + 'checksums': ['e39a69d98486cec981e97c56f45bbe47d2ccb5bbb66a1b16fa0685575493902a'], + }), + ('IlluminaHumanMethylation450kanno.ilmn12.hg19', '0.6.1', { + 'checksums': ['3627d75a6303f4d307fa6daf0c5afd57649c60a268b3d4be7e8ac8edc4b1e288'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b2.hg19', '0.6.0', { + 'checksums': ['4decdbc78a6a8d02bf8aecb0d6e1d81134ae9dbc2375add52574f07829e8cd69'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b4.hg19', '0.6.0', { + 'checksums': ['2c8128126b63e7fa805a5f3b02449367dca9c3be3eb5f6300acc718826590719'], + }), + ('conumee', '1.32.0', { + 'checksums': ['e29b0e8bb803116056e5d19dfc649721ac55994f1654eedbb76bfdce96078f70'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.6.0', { + 'checksums': ['ba84b86f66a6eebeeb1427615d9dc98152feadaf4bc438cd7b02fdc87bfde1c8'], + }), + ('SingleR', '2.0.0', { + 'checksums': ['66711532e1b54835ba1ec8f398433703f41bb3fba5dc765a0b3559d200353c17'], + }), + ('FlowSorted.Blood.EPIC', '2.2.0', { + 'checksums': ['81bedf637192c6a3bd88979f1c2bfa43ec1dd61d788019cdc339da2e9391cbef'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.14.0', { + 'checksums': ['7a0c913d669589b527c1a7a74d84bc2b3cb6de460f554e5ac38138a84d994d18'], + }), + ('DRIMSeq', '1.26.0', { + 'checksums': ['9c98d07557a2ff00fdbb778cc9375f5fd3cbffbe2fa85c860303ba9496774332'], + }), + ('stageR', '1.20.0', { + 'checksums': ['1568cbb00db6186239aa0e914a14ac310bdb3933fccb9497e032fea9d2de5ed1'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.16.0', { + 'checksums': ['a00357b46734d10997dd9c1f5022c25a76ca68e63bdcce8d76c351727fbf1c0c'], + }), + ('org.Rn.eg.db', '3.16.0', { + 'checksums': ['d011779b8e208bd31ded100cc76490c8875d01d9600d63157e0b6c9b9c6876f3'], + }), + ('ROC', '1.74.0', { + 'checksums': ['bb6e514655f972a37feebeb0b8893953b989fd7a064fcd515ff97ed96b37fc02'], + }), + ('wateRmelon', '2.4.0', { + 'checksums': ['108825fd1dcc03a84536ac17237d230ab680e40d163fd546a84f9b2581ca1555'], + }), + ('GLAD', '2.62.0', { + 'checksums': ['46e293b3599afd7e7bd5349cfd24846bd6b5d9262754eb457dd39a5c5814653d'], + }), + ('missMethyl', '1.32.0', { + 'checksums': ['26b77733a8cfe24b116cf49a3f653bbe66a8ab315aad4a431230b459d5f62383'], + }), + ('MethylSeekR', '1.38.0', { + 'checksums': ['f229b8ca441ab164134f44d6dfc7b8fc0f970399f53745941d3d091469776435'], + }), + ('affxparser', '1.70.0', { + 'checksums': ['5ae2aebc04d48abcc58ad98a284f3d560283f6963e4e946582579904fdcd825c'], + }), + ('ccdata', '1.24.0', { + 'checksums': ['83a10af8db1e81ff92fa4198688dba35028ae06c57f137a98a522c4c02174fbd'], + }), + ('lsa', '0.73.3', { + 'checksums': ['f07f1159f215501495d7a077911e7ed2ac61e1705899f3be3a5cf9012778619a'], + }), + ('ccmap', '1.24.0', { + 'checksums': ['c7f1bddaf3d1975fd36b294a8fb2a2af956a144e4be6dd7068228fbec1f866b1'], + }), + ('oligo', '1.62.2', { + 'checksums': ['e97dc548b46715caa7f741034815370f37b7fb5f828fa428fb1f8aeddfb6c0a6'], + }), + ('SMVar', '1.3.4', { + 'checksums': ['aaea3ef7da6cee1bb86fef166df766229c8b7cac9fcf5bc28da7adff5e2c01d6'], + }), + ('metaMA', '3.1.3', { + 'checksums': ['3a0c0351b83419984095cb2c1d77d222d1cdb7158dd8c80fc384bf175ab9358e'], + }), + ('randomcoloR', '1.1.0.1', { + 'checksums': ['cbae51a47a92b2cc3d5ab48877818404429fb73fc795430ec622a8dff20f1067'], + }), + ('shinyBS', '0.61.1', { + 'checksums': ['0aed72473060531d0e782ba62092493002137df6b251af9e2294e2a40a32a140'], + }), + ('shinypanel', '0.1.5', { + 'checksums': ['3264a5a75a306881e6a1622413298d7f3cda3dc78f54446171925774bab97a00'], + }), + ('crossmeta', '1.24.0', { + 'checksums': ['c80aaa69451750c5b67442f39c0a5ec543f75ef60c8553d369c15a992421142d'], + }), + ('snpStats', '1.48.0', { + 'checksums': ['9de304806e6902d8bbfabbf75dabbcc58ca9c7f06d6a924241acf948b6ca3393'], + }), + ('mixsqp', '0.3-48', { + 'checksums': ['8874d7c2ce1a43ffe55d2de450bc7bd4e252d7e621c40ebc8f1fc752c7789209'], + }), + ('susieR', '0.12.35', { + 'checksums': ['ede62644fbbeb5e534e4d049638a990f8e2ffcf54f9c67054c9a5038e9600d3a'], + }), + ('coloc', '5.1.0.1', { + 'checksums': ['427bfa566a6ae6ef719401c9214188ff3cd84aad9752ccbf22dc9f61e30b6a47'], + }), + ('SCANVIS', '1.12.0', { + 'checksums': ['e6a4fbc0855a8caf7f72a7a489c02dada3a9ae7c81c56916fa4d72a769314043'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-5', { + 'checksums': ['83822535608b5307ca7d0067dbcf1ea3b7f2b1be17a52a55b72cc9f3c6bdec5d'], + }), + ('bookdown', '0.33', { + 'checksums': ['2288e1d0c383e6ab49202a18db6cc1a04c3adc1b25da646cc46167bc6c2892c3'], + }), + ('BiocStyle', '2.26.0', { + 'checksums': ['546f4f06289585d8772ed35e85aa4ce071dc0d151cb12d862ce5a80c7dbd5024'], + }), + ('estimability', '1.4.1', { + 'checksums': ['c65aaf1e452f3947013d3ce05ae674d48492081f615a942592dc91db780f1124'], + }), + ('emmeans', '1.8.5', { + 'checksums': ['5c88b415b5a42d8c1aa63af090c4987326530ea6d0e60bab9b5fb7e99a982415'], + }), + ('ggdendro', '0.1.23', { + 'checksums': ['3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8'], + }), + ('pmp', '1.10.0', { + 'checksums': ['3d1209041237315376b8db01499952696d16815dabc7c140a58fe555483a6080'], + }), + ('MultiDataSet', '1.26.0', { + 'checksums': ['8ff8fbbd81e3fd55dcc2a22bfadc137ed19f60b510121ad9c20872415a2f4ae2'], + }), + ('BiocBaseUtils', '1.0.0', { + 'checksums': ['c9cc62b5f96e51ea8f90cffe3123ffa28604e287c7306746c606a39e5b8cda5c'], + }), + ('MultiAssayExperiment', '1.24.0', { + 'checksums': ['0978c80129ecb3839c62c26bad2c8c32c6919a826fa54367a9747c4f14b69002'], + }), + ('ropls', '1.30.0', { + 'checksums': ['ab733764a94cbceefe07951005841870036744026086c80336650df441645c6e'], + }), + ('ontologyIndex', '2.10', { + 'checksums': ['c995d6d9df5ff9cfb81fb80f553fc0f392d2237ffa6dd8619fd8fbce745a3a42'], + }), + ('rols', '2.26.0', { + 'checksums': ['1cb85c1ba793228f467b7f8e396737246d31e0230e6d818d435422f3ad3af978'], + }), + ('struct', '1.10.0', { + 'checksums': ['eef24bd104f666017f24d2c791834c8265700559bfeea5ca448786dddf443f5e'], + }), + ('ggthemes', '4.2.4', { + 'checksums': ['7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567'], + }), + ('structToolbox', '1.10.1', { + 'checksums': ['51ccbcf1458b5429d77e2d6849f59e6560c3f55cdd178fc7c22b8c7179145194'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.1', { + 'checksums': ['c14f145a982597f32264b37a5f2645206a0bee30dd2584a25cb8e3dc2f9b068f'], + }), + ('sparsesvd', '0.2-2', { + 'checksums': ['bb40cc69ee3aec28ff1418fd16cd76d953701a7b0d6bdcb0424c71793d96d836'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.7', { + 'checksums': ['1ef5e0350cfbdb07fca761fc7251584d39d3da2958ea813498b467e4f7661347'], + }), + ('Signac', '1.9.0', { + 'checksums': ['b8ff36427e5919fd420daa1f50cf8c71935293ee7f88560041acb993b5e3afa8'], + }), + ('motifmatchr', '1.20.0', { + 'checksums': ['db596cab5ab1292eec380bf2ff6c9b8d7783fc32890935d6574c484bdcb36206'], + }), + ('extraDistr', '1.9.1', { + 'checksums': ['9990348c4dbc611684fcb58ab8db7e856dfde1c9c86ffb7705f4b3dff6b2d7bf'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.2-3', { + 'checksums': ['7dfb3cdcbcb79c07eb1db41e66e5e0c872f5f90c7e63eca94afc30bae9cf66b2'], + }), + ('qap', '0.1-2', { + 'checksums': ['47a4ada3ae7a3a5c9304174bd5291daad60d329d527c0c6bb5ec1ac257584da5'], + }), + ('ca', '0.71.1', { + 'checksums': ['040c2fc94c356075f116cc7cd880530b3c9e02206c0035182c03a525ee99b424'], + }), + ('seriation', '1.4.2', { + 'checksums': ['ad19ecbc375aa8121b8a60c6bbd0e7b3a5ab2779dab805c72124caa472ff5090'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.4.2', { + 'checksums': ['8a92b1ccee11371467f30833255c9ebef2259b6cbdf489181a0adac056c5ea7d'], + }), + ('OUTRIDER', '1.16.3', { + 'checksums': ['9684dd78d65e0bbe87e81b6d805824d488179cd96ae4cd351059b522610f6037'], + }), + ('FRASER', '1.10.2', { + 'checksums': ['b701286649c2c83fdf8f55ec66f0790d9258e20185464b456e9c79da966b499e'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.20.2', { + 'checksums': ['7a70f12a55a99cfaf1de614469801fffeae21ca0743c2a4dbff9fd5e1a1e61e1'], + }), + ('RcisTarget', '1.18.2', { + 'checksums': ['22be06fe8461b2d3f9a0ead86d2126a7c0061e365ad32deb6ec173f845159f0a'], + }), + ('NMF', '0.25', { + 'checksums': ['28b918765f6c579c46d9a0638408297df27b78e9c4392abcd1f59e4dbe3fb44d'], + }), + ('densEstBayes', '1.0-2.1', { + 'checksums': ['4b7066e18902ee2a0ea084513b237b5fb8e43fe3102354c2fb216d5a8c7df5df'], + }), + ('reldist', '1.7-2', { + 'checksums': ['d9086cbc14ed7c65d72da285b86a07e77cbfebc478ba7327b769bd08549229c9'], + }), + ('M3Drop', '1.24.0', { + 'checksums': ['66110f22c81144763e38c78c22703cf640924d2953501ec624afda06da111ec1'], + }), + ('bsseq', '1.34.0', { + 'checksums': ['4ed397d29efd18fd2de659b72a9e1a137a3c3a16beb82f3cdd334415328ca065'], + }), + ('DSS', '2.46.0', { + 'checksums': ['ee494438bf49f33f5cafab56f4b2393e07c0c36a4ab5b6f217d695440cbea0e2'], + }), + ('pathview', '1.38.0', { + 'checksums': ['fe12df8ffa7cb6cb0d76d2aa32029f41df37a00f3adf0400bf7f1834006eec5c'], + }), + ('chromVAR', '1.20.2', { + 'checksums': ['5f84ba3ea747f136a682c8c67c7119e2182f26abfe0b658344aa374d03b2910c'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.72-1', { + 'checksums': ['1dbf82761ef3e76464b18fc9f698ad0f971aafecabf66ca937b950930bd57fdc'], + }), + ('DNABarcodes', '1.28.0', { + 'checksums': ['2596c0eb02789418b4522cbbc5a99c191d5e238940530e6d13653e443fdf51a3'], + }), + ('CAGEr', '2.4.0', { + 'checksums': ['e026e29d8f86bf2ba934bb6bf22b290ea833365dd499ebc996d65e31a2928ad1'], + }), + ('SPOTlight', '1.2.0', { + 'checksums': ['6e3b6e011952cf37c10efaa1ef248c37c8735d492225f5e7b7fc9319325cfb0f'], + }), + ('CGHcall', '2.60.0', { + 'checksums': ['e289c5e932e86db0f98233c6de2893860cea0bea4dde0462c45818e3b6e0c020'], + }), + ('QDNAseq', '1.34.0', { + 'checksums': ['a968daf40745cc54b48bfe6c2a105d631f88deaeb09008f12d239f6858dd63e3'], + }), + ('HiCcompare', '1.20.0', { + 'checksums': ['ae4adc96ef85b0675d2089207ad756dd14152e9127db66cf5b034c07ee1a7b43'], + }), + ('ROntoTools', '2.26.0', { + 'checksums': ['1a60b08689b2878761188298cf1969e096741f560e96608612b6ed9145671174'], + }), + ('scDblFinder', '1.12.0', { + 'checksums': ['f1eb33ad022e4d1c007f9dae72efb05a3c183cd6eb576794b9a0339f9180543f'], + }), + ('treeio', '1.22.0', { + 'checksums': ['892283d09694dd4cc7111118647612d1f2fcd2b730bab1c7a5301de54f2288f6'], + }), + ('ggtree', '3.6.2', { + 'checksums': ['bdca865db5cfc5b4aa89f62e185b31d3f1de87658609a7bfe9e0769895c1f69c'], + }), + ('scistreer', '1.1.0', { + 'checksums': ['49936bcbb107423d96aee421334c4ac6a1048434d2621b84eab95cf7ac11b731'], + }), + ('numbat', '1.2.2', { + 'checksums': ['0c567b26f7ff9a6c2129f9c023ffe6eaccea441b73b91cc3f327d630513c181b'], + }), + ('HiCBricks', '1.16.0', { + 'checksums': ['d41a7600003b62ff04e3e3ddbc62e494c325207b3da720e5acefcc03ad06a80e'], + }), + ('dir.expiry', '1.6.0', { + 'checksums': ['c8157d9ea86ad244923b344fe39bd73931fe2399e46ba0ae08af8de8980ca3c7'], + }), + ('basilisk.utils', '1.10.0', { + 'checksums': ['dca17bf5ca9ae225258241744a9829c71fb07b5450f37cb9a20fbcac104f023e'], + }), + ('basilisk', '1.10.2', { + 'checksums': ['09b402dae2d9328f76d7ffb91311cde639e55c967462ed279345caa3e2a84f93'], + }), + ('zellkonverter', '1.8.0', { + 'checksums': ['bed7c72324df7882816e594ccd8d6b84f5575999491c89a4ab5739e8a9d9242c'], + }), + ('DO.db', '2.9', { + 'checksums': ['762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881'], + }), + ('GOSemSim', '2.24.0', { + 'checksums': ['5a78ea253c1c34ef0b2c479eaef295eb766c81658688021ab553df301f3e8c93'], + }), + ('HDO.db', '0.99.1', { + 'checksums': ['c17cf28d06621d91148a64d47fdeaa906d8621aba7a688715fb9571a55f7cf92'], + }), + ('DOSE', '3.24.2', { + 'checksums': ['6fec12b1d5f622f5606236d559c801072d185c6f64aaf60e749cc7b09e369769'], + }), + ('enrichplot', '1.18.3', { + 'checksums': ['f483d3a8e7210a772acec74b4728a3f14812be11ae67072c80e3a35287c8ec5b'], + }), + ('gson', '0.1.0', { + 'checksums': ['14ddbee5be66d0b1dc178e41175a50ab6ed9ffed04d4361ecf5eef3548d9a381'], + }), + ('clusterProfiler', '4.6.2', { + 'checksums': ['af014c40f46646db0a5b6ef883af6e04010b5c1c0c33b8ff5d30336e43c3fc04'], + }), + ('reactome.db', '1.82.0', { + 'checksums': ['82f013e2bf42580c039af74a7fddba17e445cdb4845f95ccd61cfd07bc3cd350'], + }), + ('graphite', '1.44.0', { + 'checksums': ['1ccca351d2f6e6c90e76b6a899b08b83a95241a67c1546f50e4f312bc252723e'], + }), + ('ReactomePA', '1.42.0', { + 'checksums': ['c2c55cf86b81841303952d9c4d4acac1ad964d31c1f8a5d17ff4679b26242919'], + }), + ('flowClean', '1.36.0', { + 'checksums': ['732848b879f4d7bb5b9b4cbef32a6980e93b28fd92913b08456736c01dc21cf3'], + }), + ('flowAI', '1.28.0', { + 'checksums': ['e9995350f3076a42f8e9fc65c8cafded12924947da17c361a72f26c4a5a5f9a3'], + }), + ('flowFP', '1.56.3', { + 'checksums': ['fe64504cdb419adbb4342686ef0c99906c0071cc626ac12bba9d3161ed3ec611'], + }), + ('simplifyEnrichment', '1.8.0', { + 'checksums': ['fe492daf93f39c34b47340182e008ac7140eeb14d02a4e9961f47d693c2c1d8c'], + }), + ('RPMG', '2.2-3', { + 'checksums': ['74d5bada6a51d280296cb36fae4938c16ba9ed2fa37f3bfb60cf7c541c5b22b6'], + }), + ('Rwave', '2.6-5', { + 'checksums': ['6c9ef75bb376f2e3f5c5dcd3b3fdca7d86797ce809da34f444632657189be2e4'], + }), + ('RSEIS', '4.1-4', { + 'checksums': ['76d5caf30cd3871fa80d27ea694023a4c303ffc099297aeeff03d22538dbff76'], + }), + ('splancs', '2.01-43', { + 'checksums': ['b351565e1f69f6c86a29d921d3a18d5896c4586e2ab8c73bb3df8e75630fc448'], + }), + ('MBA', '0.1-0', { + 'checksums': ['78039905c5b98be2bb79a5f292187a2aca21ef449daeefea58b0cac53a5283af'], + }), + ('GEOmap', '2.5-0', { + 'checksums': ['82e5608eda7330632bc67aa662b649e7b7b3ccdfda6a18a19d2e3379e0db1093'], + }), + ('RFOC', '3.4-6', { + 'checksums': ['0dfa237f4d04eb9a2718942b4d7ed9538fc5f89e3cbaa5a34a4fd1bc6fe54533'], + }), + ('flowDensity', '1.32.0', { + 'checksums': ['4977c5a2723a034a9fb9458bfba00f917fa87182af35198f82d24d75f4c1d4bd'], + }), + ('flowPeaks', '1.44.0', { + 'checksums': ['97ad0e513cfb954eef35445ee085d1d6268d0ab2a8ec4e73d6456ea6d25a7a58'], + }), + ('SamSPECTRAL', '1.52.0', { + 'checksums': ['b8f85ce42b62b42c6fe6fd7fac7501e4329a359ad9126190207da9607c88f0ea'], + }), + ('ddPCRclust', '1.18.0', { + 'checksums': ['c27706a922d11d49a0a4f269df9de6882d81140eecf8a726220cd52b6db8372c'], + }), + ('feature', '1.2.15', { + 'checksums': ['de38292b7e800068a20824e2a9e7d5d4d0b465b7925db0d165346aa5030ff67b'], + }), + ('flowMerge', '2.46.0', { + 'checksums': ['3634723fd87b1bae71e2cd9e646e98cecc891521b4f2e9ff3ff388362b8b21eb'], + }), + ('SpatialExperiment', '1.8.1', { + 'checksums': ['0fdfc5642dde227b73d81812b6641f2d10223de66892b9d61ac80664cd6cbacd'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..367d0c8c5f7a --- /dev/null +++ b/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'R-tesseract' +version = '5.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/package=tesseract' +description = "The R extension for using tesseract" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('pkgconf', '1.8.0')] + +dependencies = [ + ('R', '4.2.1'), + ('poppler', '22.12.0'), + ('tesseract', '5.3.0'), +] + +exts_defaultclass = 'RPackage' + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('qpdf', '1.3.2', { + 'checksums': ['d9c905a4879274d72de0c638f2e14737ec0a59895cbba9814e05c62b43e8e976'], + }), + ('pdftools', '3.3.3', { + 'checksums': ['ffc0dfa5205ac3c26ee22713289784cb6b9aada6c21417d79bfd4d7f5bd5909c'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('tesseract', version, { + 'preinstallopts': 'INCLUDE_DIR="$EBROOTTESSERACT/include/tesseract -I$EBROOTLEPTONICA/include/leptonica"' + + ' LIB_DIR=$EBROOTTESSERACT/lib', + 'checksums': ['6dae7cbc1d4cf6decabb2d1c56d95b5eb6a0a4a1cbc9f9a1c274ba558b31cdfa'], + }), +] + +sanity_check_paths = { + 'files': ['tesseract/libs/tesseract.%s' % SHLIB_EXT, 'tesseract/R/tesseract'], + 'dirs': ['askpass', 'qpdf', 'pdftools', 'rappdirs'], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/R-transport/R-transport-0.13-0-foss-2021b.eb b/easybuild/easyconfigs/r/R-transport/R-transport-0.13-0-foss-2021b.eb new file mode 100644 index 000000000000..a025135e5598 --- /dev/null +++ b/easybuild/easyconfigs/r/R-transport/R-transport-0.13-0-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'R-transport' +local_rpkg = 'transport' +version = '0.13-0' + +homepage = 'https://cran.r-project.org/package=transport' +description = "transport: Computation of Optimal Transport Plans and Wasserstein Distances" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://cran.r-project.org/src/contrib/'] +sources = ['%s_%%(version)s.tar.gz' % local_rpkg] +checksums = ['c55efbdd93e36e92ef39e4b9529ee64c3c7ecb965d77ec9c469a7c56c93f5f57'] + +dependencies = [ + ('R', '4.1.2'), +] + +options = {'modulename': local_rpkg} + +sanity_check_paths = { + 'files': ['transport/R/transport', 'transport/libs/transport.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' 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 d7eb4353a4d9..f42b0ee31a50 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 @@ -803,7 +803,8 @@ exts_list = [ }), ('spatial', '7.3-14', { 'checksums': [('52cc1982732f14544fae7dd9d028e2fc3b525ed695d211d6ed5055420e768a36', - '50e6daacbacff6c716485d20b15eb7fff7b8108dc5ea0ff508024beb4f0a8b9b')], + '50e6daacbacff6c716485d20b15eb7fff7b8108dc5ea0ff508024beb4f0a8b9b', + '0c42df479c1a202dfc678f223e924b1adde5822a9902a3d71fd5f2ff36c4b83b')], }), ('VGAM', '1.1-5', { 'checksums': ['30190b150f3e5478137d288a45f575b2654ad7c29254b0a1fe5c954ee010a1bb'], 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 97750491d424..e439e147d493 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 @@ -846,7 +846,8 @@ exts_list = [ }), ('spatial', '7.3-14', { 'checksums': [('52cc1982732f14544fae7dd9d028e2fc3b525ed695d211d6ed5055420e768a36', - '50e6daacbacff6c716485d20b15eb7fff7b8108dc5ea0ff508024beb4f0a8b9b')], + '50e6daacbacff6c716485d20b15eb7fff7b8108dc5ea0ff508024beb4f0a8b9b', + '0c42df479c1a202dfc678f223e924b1adde5822a9902a3d71fd5f2ff36c4b83b')], }), ('VGAM', '1.1-5', { 'checksums': ['30190b150f3e5478137d288a45f575b2654ad7c29254b0a1fe5c954ee010a1bb'], @@ -3246,22 +3247,22 @@ exts_list = [ 'checksums': ['e0598c220ae90d1334e47c9958ccccf7defbe6ac530159bc69424923894f724a'], }), ('apcluster', '1.4.9', { - 'checksums': ['3aac75e3e640eb89c1337d6f2e72a85d226b9c9483e43e0c76f9d424e758cb72'] + 'checksums': ['3aac75e3e640eb89c1337d6f2e72a85d226b9c9483e43e0c76f9d424e758cb72'], }), ('DataCombine', '0.2.21', { - 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'] + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], }), ('docstring', '1.0.0', { - 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'] + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], }), ('gdalUtils', '2.0.3.2', { - 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'] + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], }), ('openair', '2.8-6', { - 'checksums': ['37ffd9d6c5f5cebcd95720c6599f25f2e6c4fd3f6134f6aec026cb671ea373c0'] + 'checksums': ['37ffd9d6c5f5cebcd95720c6599f25f2e6c4fd3f6134f6aec026cb671ea373c0'], }), ('pdp', '0.7.0', { - 'checksums': ['28d69eb63b92bdf8e974b3222e1e9565000d7f15a3bd90854a8e0446b0fa9a71'] + 'checksums': ['28d69eb63b92bdf8e974b3222e1e9565000d7f15a3bd90854a8e0446b0fa9a71'], }), ('date', '1.2-39', { 'checksums': ['b5b1935638b73373809c009f94b77f993cd301744488d9bdf71ef79c82099757'], diff --git a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb index 6175f90d8341..7f0e053f59b0 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb @@ -3360,6 +3360,15 @@ exts_list = [ ('geeM', '0.10.1', { 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], }), + ('PMA', '1.2.1', { + 'checksums': ['3a155b89e380273dfd4ab301c422184a3f6d4679dc9e3d1bb65939392af511e6'], + }), + ('unikn', '0.8.0', { + 'checksums': ['77954418cf5475e57ccd5d28edefd97f82c49cd8e148b55b1b74f55b8c1c620f'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb index b97f484e225a..67f669fec01a 100644 --- a/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb +++ b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb @@ -3355,6 +3355,132 @@ exts_list = [ ('rtdists', '0.11-5', { 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], }), + ('AMAPVox', '0.12.0', { + 'checksums': ['b30fefef8661e27ffe3883665204b623eda2143dbcd3084a1d5810f8ea834c85'], + }), + ('LCFdata', '2.0', { + 'checksums': ['b58f4d93b9023dd1ba2db96a59ddfc058397085933d8de4cdb38ee064d5e7bf4'], + }), + ('LMERConvenienceFunctions', '3.0', { + 'checksums': ['eb430de9fbf836173f716960d60afc2de91de7f986471f406c3ca9027142e849'], + }), + ('HGNChelper', '0.8.1', { + 'checksums': ['aa3f0b3a8691ed93d63bec8f36d2954c6fcfd0b8b3efc705379248544c999363'], + }), + ('logger', '0.2.2', { + 'checksums': ['4f1be7d4381f2fc591f19fdbfb8f3cccbf26c9fdbae104612f6e6d5762a97e22'], + }), + ('parallelDist', '0.2.6', { + 'checksums': ['30c6b3b85cf78c04a7dcd17ea7ed64356971f6ce48d15794078a18c53b249e06'], + }), + ('roptim', '0.1.6', { + 'checksums': ['7ef0c2a2ddb3703efaabf337fa0026485875d5ffb35ba3ef5d60eb0c62c30686'], + }), + ('yulab.utils', '0.0.5', { + 'checksums': ['6ecd4dc5dae40e86b7a462fdac3ab8c0b276dcae5a284eb43390a05b01e3056b'], + }), + ('ggfun', '0.0.9', { + 'checksums': ['5c740e9d1e73b77658f41ed65e21492f4e71b12c7c9ff4b9e52ebf5f8f197612'], + }), + ('gridGraphics', '0.5-1', { + 'checksums': ['29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b'], + }), + ('ggplotify', '0.1.0', { + 'checksums': ['178f73d6d3dc391c3efb1a62c95fe38587044f9e3288dffb915d3687941bb38a'], + }), + ('aplot', '0.1.9', { + 'checksums': ['af0763620a757571caac769bad5398c22a4890af6cb5646ac5fa9039a114bb12'], + }), + ('tidytree', '0.4.1', { + 'checksums': ['fbc4364d17e1b1c26ed06af0cdf36c88a5bc562fdbd4731ab179e30bba4009eb'], + }), + ('ggvenn', '0.1.9', { + 'checksums': ['38779cfa4e01e07d4a42453cfb8b93d32d2acd6187676bae7d11b2168714a52e'], + }), + ('scatterpie', '0.1.8', { + 'checksums': ['a6ccc63a8be63fa113704cf5d4893c1ec1b75d3081ab971bd70e650e708872a0'], + }), + ('shadowtext', '0.1.2', { + 'checksums': ['253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d'], + }), + ('random', '0.2.6', { + 'checksums': ['2b59f9bce0c3ebf8215ab42dffaf9a1c7eea7468964063215a8d422af953b069'], + }), + ('R2WinBUGS', '2.1-21', { + 'checksums': ['fa86cb5140f5dfce29f9517b94d6d08c316ddcffa4aa3085945b84d34910134d'], + }), + ('aricode', '1.0.2', { + 'checksums': ['5f4e51f7063cfd4924a8925c902a3eb7517c743234a14560691cb84428b6b2f0'], + }), + ('DepthProc', '2.1.5', { + 'checksums': ['e6b0afd54bb20e25a6bf5402c771848db20e9c844f0fc990ecc3d1078b9eee44'], + }), + ('dbscan', '1.1-11', { + 'checksums': ['f0498e67e612629340a2758fbe747c4d9d4ca648f002230a03499cb73735e62f'], + }), + ('ggh4x', '0.2.2', { + 'checksums': ['2a0eda36b787bd3f49b5ae21e20b8104b615b21294b369f784d2bfe1579eba86'], + }), + ('ComplexUpset', '1.3.3', { + 'checksums': ['5b2f99b4a38648641c7d31fc57f201a93e5bc1b85442a0b9726f72c166d964ea'], + }), + ('proxyC', '0.3.3', { + 'checksums': ['3e25da94633da0b5c6cdac03f5b6d8205d078f60c5a09073e90a1b6f0930e302'], + }), + ('changepoint', '2.2.4', { + 'checksums': ['ac636fde7610137385dde1e3d8a22a2ff856a8d5c917c7ad1a5cc49f98b8649b'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('ggstance', '0.3.5', { + 'checksums': ['ed641857c49eb60f5baf2817fbd610caea62322a247f8b2c1aca3056eddee94b'], + }), + ('mosaicCore', '0.9.2.1', { + 'checksums': ['b7ce16f20fde1d8a5b1836110e5980fb274504ddae6b9c5c2f4198dc7d09dafa'], + }), + ('ggformula', '0.10.2', { + 'checksums': ['948b1c34a5c089cf86275d2b3e020e1a099278136e43175a50fb6063e54b6375'], + }), + ('kinship2', '1.9.6', { + 'checksums': ['0150bd5974c2a19885f6ff2e99f3c1f6361054a0910dcfc9dd26a8e0cd73bbf6'], + }), + ('MESS', '0.5.9', { + 'checksums': ['b57dff943a130830a24d87fe2e8f8b766cf18398c9c09e0a020d5dd183f9d72d'], + }), + ('smoof', '1.6.0.3', { + 'checksums': ['af8664b152876c545f6545528de6e05a289d0714103fac7afc52960a9a855fb1'], + }), + ('mlrMBO', '1.1.5.1', { + 'checksums': ['0cf26e5e9b180d15b932541cf081a552703a60edf762aafca9933c24ea91dc99'], + }), + ('emoa', '0.5-0.1', { + 'checksums': ['bff6c84274e9bdcbdb82d6edd90265844f7cd23f22abbf68d6b563ef48237966'], + }), + ('webutils', '1.1', { + 'checksums': ['33e2b408d2b9ca12e158e0007d4a55a3ace6838341ad944344de2ceb806e4699'], + }), + ('swagger', '3.33.1', { + 'checksums': ['528369b04c6142112e05ee8b950ca1c01b3e390a4515eacb0fa17db98bafafd1'], + }), + ('varhandle', '2.0.5', { + 'checksums': ['9b0ee653e0343e292547d2a7052e60a2e7d97d1d5528246862522e67346882d0'], + }), + ('dlm', '1.1-6', { + 'checksums': ['89dd4130ea3a5213244c66b313fed0a74cdcc96d3e70285b14cf3fe5f354ae57'], + }), + ('PMA', '1.2.1', { + 'checksums': ['3a155b89e380273dfd4ab301c422184a3f6d4679dc9e3d1bb65939392af511e6'], + }), + ('unikn', '0.8.0', { + 'checksums': ['77954418cf5475e57ccd5d28edefd97f82c49cd8e148b55b1b74f55b8c1c620f'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), + ('tvem', '1.3.1', { + 'checksums': ['931085e210891744df64288ce174dface7a68bdb6b21a5883a9d83bb66a132c3'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb new file mode 100644 index 000000000000..f89a16e5c6d7 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb @@ -0,0 +1,3554 @@ +name = 'R' +version = '4.2.2' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['0ff62b42ec51afa5713caee7c4fde7a0c45940ba39bef8c5c9487fef0c953df5'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Xvfb', '21.1.6'), + ('Autotools', '20220317'), +] +dependencies = [ + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('cairo', '1.17.4'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), + ('SQLite', '3.39.4'), + ('PCRE2', '10.40'), + ('libpng', '1.6.38'), # for plotting in R + ('libjpeg-turbo', '2.1.4'), # for plottting in R + ('LibTIFF', '4.4.0'), + ('Java', '11', '', SYSTEM), + ('Tk', '8.6.12'), # for tcltk + ('cURL', '7.86.0'), # for RCurl + ('libxml2', '2.10.3'), # for XML + ('GMP', '6.2.1'), # for igraph + ('NLopt', '2.7.1'), # for nloptr + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.2.0'), # for seewave + ('ICU', '72.1'), # for rJava & gdsfmt + ('HDF5', '1.14.0'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.0-53'), # for animation + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '18.12.1'), # for V8 (required by rstan) + ('GDAL', '3.6.2'), # for sf + ('MPFR', '4.2.0'), # for Rmpfr + ('libgit2', '1.5.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. +# Adding it to FLIBS makes sure it is present when needed. +preconfigopts = 'export FLIBS="$FLIBS -lm" && ' + +configopts = "--with-pic --enable-threads --enable-R-shlib" +# some recommended packages may fail in a parallel build (e.g. Matrix), and +# we're installing them anyway below +configopts += " --with-recommended-packages=no" + +# specify that at least EasyBuild v3.5.0 is required, +# since we rely on the updated easyblock for R to configure correctly w.r.t. BLAS/LAPACK +easybuild_version = '3.5.0' + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +# !! order of packages is important !! +# packages updated on 17th March 2023 +exts_list = [ + # include packages that are part of the base installation of R, + # both to make sure they are available (via sanity check), + # and to be able to pass the check for required dependencies when installing extensions in parallel + 'base', + 'compiler', + 'datasets', + 'graphics', + 'grDevices', + 'grid', + 'methods', + 'parallel', + 'splines', + 'stats', + 'stats4', + 'tcltk', + 'tools', + 'utils', + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.6-1', { + 'checksums': ['ca79ec7ae92b736cb128556c081abf547f49956c326e053a76579889cbcb7976'], + }), + ('Rcpp', '1.0.10', { + 'checksums': ['1e65e24a9981251ab5fc4f9fd65fe4eab4ba0255be3400a8c5abe20b62b5d546'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.18', { + 'checksums': ['751e1926fcd81b852b6c0d5ea7ecd9311ef6fbdbce9143b7872fea79590de712'], + }), + ('linprog', '0.9-4', { + 'checksums': ['81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4'], + }), + ('geometry', '0.4.7', { + 'checksums': ['96204205f51b4d63c2e7a7b00365def27d131f3c9ec66db56b510046e5d2013b'], + }), + ('bit', '4.0.5', { + 'checksums': ['f0f2536a8874b6a30b80baefbc68cb21f0ffbf51f3877bda8038c3f9f354bfbc'], + }), + ('digest', '0.6.31', { + 'checksums': ['5a284f490eaca6750f695f00a584cfca3f180ca1046ac1107202141149d431b9'], + }), + ('filehash', '2.4-5', { + 'checksums': ['3b1ee2794dd61e525ee44db16611c65957691d77bb26ae481eba988bb55da22c'], + }), + ('ff', '4.0.9', { + 'checksums': ['722053271987a0c9673c3ff9e7968bbab47979d529a2fe6bb1a3179408ee3c4f'], + }), + ('bnlearn', '4.8.1', { + 'checksums': ['623c1bf0b3a38ee2060908c3197b763339115246dd72fb063f9476c7a54cd3ac'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-42', { + 'checksums': ['a17f452a94fc3964c939c5b147ad6d4f326a0990493519d376d6700cf733a134'], + }), + ('fdrtool', '1.2.17', { + 'checksums': ['3452601adbead9be4820794e3af2666f710fdf9b801186df565b80b43629c5dd'], + }), + ('formatR', '1.14', { + 'checksums': ['4ebaab2c3f8527871655246b62abd060bc75dae1cec7f962ca4752b8080f474c'], + }), + ('gtools', '3.9.4', { + 'checksums': ['59cf8b194fe98b1cc05dbb4d686810a1068f59d8b402b731548a898ece85f111'], + }), + ('gdata', '2.18.0.1', { + 'checksums': ['5e2f3d5b9398d52a4c07a4d35f5f936450a44567c7db8d8f68b4cc6946e032d9'], + }), + ('GSA', '1.03.2', { + 'checksums': ['177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8'], + }), + ('xfun', '0.37', { + 'checksums': ['3b619ff0b2aea36a1d422d1f7ca2e5cef0102e1d127c94c87acf5e6e8358e1f9'], + }), + ('highr', '0.10', { + 'checksums': ['ec55bc1ff66390ed66806dc2a7b6c17dbfd089b3d73fe2e369017f8cb4bc347b'], + }), + ('infotheo', '1.2.0.1', { + 'checksums': ['c0fb8ec97ad3a49f231c4c993b5eee70c6a61c8c30dc4a46197867e4763a29d4'], + }), + ('lars', '1.3', { + 'checksums': ['c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d'], + }), + ('lazy', '1.2-18', { + 'checksums': ['99441bcae2dfbf450eee91f3ec969d416c225f671ac54459c50536916890f00a'], + }), + ('kernlab', '0.9-32', { + 'checksums': ['654ef34e343deb4d2c4c139a44e5397d6e38876088ce1c53c7deb087935d6fdc'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('commonmark', '1.8.1', { + 'checksums': ['96adcb093de3d2e48811af402da70e7222a313b97f1e979e0cbe84dd59bd5cbe'], + }), + ('markdown', '1.5', { + 'checksums': ['001503f95fa59b399c0fc9178b0a4f5ab745f38879d38985c6642e944c2e9816'], + }), + ('mlbench', '2.1-3', { + 'checksums': ['b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '6.0.0', { + 'checksums': ['de7c306ecba1ef0f4e4a56c748ce08149417496b711beefb032d561a4c28122a'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('MASS', '7.3-58.3', { + 'checksums': ['42e5599582dca0d32bc9c709216ddc71df1761af23f11cfa25d582212a5c79ae'], + }), + ('lattice', '0.20-45', { + 'checksums': ['22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad'], + }), + ('nlme', '3.1-162', { + 'checksums': ['ba6da2575554afa2614c4cba9971f8a9f8a07622d201284cb78899f3d6a2dc67'], + }), + ('segmented', '1.6-2', { + 'checksums': ['413c2c07e87ca72c8b3fba61a1a7c606480786025544d5530f7c4406e7643b52'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.7', { + 'checksums': ['6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3.1', { + 'checksums': ['8174afebaf239dfda979c8c7e1e219624576d577c983ae787fbd2785b4ccd15c'], + }), + ('pspline', '1.0-19', { + 'checksums': ['ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40'], + }), + ('timeDate', '4022.108', { + 'checksums': ['a5949b4fe2f6bdff751fc0793df8e3150cc25c078d48a28c066c10a6c4bfceef'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('pixmap', '0.4-12', { + 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], + }), + ('sp', '1.6-0', { + 'checksums': ['f5977fbe80e7dee8e95d41fe0ef9d87c2c984422bb529ea5211fd38a13f9fcda'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('rlang', '1.1.0', { + 'checksums': ['f89859d91c9edc05fd7ccf21163fe53ad58da907ee273a93d5ab004a8649335b'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('glue', '1.6.2', { + 'checksums': ['9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf'], + }), + ('cli', '3.6.0', { + 'checksums': ['b6078131803043d53d4e670aa3a0506f614e0b40fda8e0102afd48a6188ab896'], + }), + ('lifecycle', '1.0.3', { + 'checksums': ['6459fdc3211585c0cdf120427579c12149b02161efe273a64b825c05e9aa69c2'], + }), + ('vctrs', '0.6.0', { + 'checksums': ['be0b712c4e6aae353120a60ded6a4301eb9631c8d256927b79b9ad83b4299757'], + }), + ('hms', '1.1.2', { + 'checksums': ['1ee6a9847336aaf58d3fcee5b56c290c2204e1213b6628862818419b2302bded'], + }), + ('prettyunits', '1.1.1', { + 'checksums': ['9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('crayon', '1.5.2', { + 'checksums': ['70a9a505b5b3c0ee6682ad8b965e28b7e24d9f942160d0a2bad18eec22b45a7a'], + }), + ('progress', '1.2.2', { + 'checksums': ['b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35'], + }), + ('RcppArmadillo', '0.12.0.1.0', { + 'checksums': ['73c6153b79c0b71a896d76031424fe1c0a3ad44a9d09f922a084bb3fbfd3fbea'], + }), + ('ade4', '1.7-22', { + 'checksums': ['007df54e83a2a6cb8d6da8006f0aace011e7eaa7744dc5f8230ac2c002b393b4'], + }), + ('AlgDesign', '1.2.1', { + 'checksums': ['5989626c526bd7c3d9bdda326c962056879be03392065a0b7ddb9b8cf9309d05'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('BH', '1.81.0-1', { + 'checksums': ['f51c8badd6f181e06353314e1d15a6ec1495cc498ee74b6fa4ea8aba6e97ff64'], + }), + ('brew', '1.0-8', { + 'checksums': ['11652d5a7042d645cc5be5f9f97ff4d46083cea7d3ad2dd6ad1570b52c097826'], + }), + ('Matrix', '1.5-3', { + 'checksums': ['4e720f4edc97b1c09646a445851b1ce955caf6b1de8306a2283328b526fee00d'], + }), + ('Brobdingnag', '1.2-9', { + 'checksums': ['f9012d250bc2a0f47815d6a7c06df2d4ddf3d8bab2d3b75e8cdefd964d20e91e'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.13', { + 'checksums': ['57f04a0f387c1cc30d2feb945dc3ed35d2a304d94d21d3bc2cac8c92571fdc10'], + }), + ('backports', '1.4.1', { + 'checksums': ['845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474'], + }), + ('checkmate', '2.1.0', { + 'checksums': ['b784dd5163a0350d084ef34882d9781373839dedeaa9a8b8e6187d773d0d21c6'], + }), + ('cubature', '2.0.4.6', { + 'checksums': ['330c9dc2be9bf6815473fd40efa8c2de47c1ed286cb097d0ff846b56c9e9f95a'], + }), + ('DEoptimR', '1.0-11', { + 'checksums': ['1874b30f4b75f9bfa891986598f1ebe1fce27fdced14f8f417d3535cac08165b'], + }), + ('fastmatch', '1.1-3', { + 'checksums': ['1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861'], + }), + ('iterators', '1.0.14', { + 'checksums': ['cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b'], + }), + ('maps', '3.4.1', { + 'checksums': ['e693a5218ed8122e92d73a98a475d9016f2293c7852c8048677daa7649086400'], + }), + ('nnls', '1.4', { + 'checksums': ['0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f'], + }), + ('sendmailR', '1.4-0', { + 'checksums': ['5b8b91fc13f6b07b9fc5a2cf7591cf760fad47c5ea17d87a2891898c506454ad'], + }), + ('dotCall64', '1.0-2', { + 'checksums': ['e0c7728aebbea5ebf06dfeefae4fc0a240e6dde7c2bf13f2ed041b91d337a4ac'], + }), + ('spam', '2.9-1', { + 'checksums': ['c32e219279988b1bfc258aaf64f5a46efa558202848a9ae64946ffbe8b497ddb'], + }), + ('subplex', '1.8', { + 'checksums': ['3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5'], + }), + ('stringi', '1.7.12', { + 'checksums': ['efe8ac2900001f986a75db5641fbb24587a6d23de274a6a85c39dfa58921e009'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('stringr', '1.5.0', { + 'checksums': ['52b159d7700a139111b4caf939e7c9c6ab3e01185181400d70a74c552826633a'], + }), + ('evaluate', '0.20', { + 'checksums': ['35f5d9e85603600b58960923d591c5ca1115153febba7c612867d8b5598afff0'], + }), + ('logspline', '2.1.19', { + 'checksums': ['37219e6edfdee59d8edee96ca1cb97902905ae049a7a921fbab2e162ad654794'], + }), + ('ncbit', '2013.03.29.1', { + 'checksums': ['847f570c035d849e775c1cb922d2775e6c535971eb4429cf62904319fd126504'], + }), + ('permute', '0.9-7', { + 'checksums': ['eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0'], + }), + ('plotrix', '3.8-2', { + 'checksums': ['bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f'], + }), + ('randomForest', '4.7-1.1', { + 'checksums': ['f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6'], + }), + ('scatterplot3d', '0.3-43', { + 'checksums': ['90d7bfb535b76008768306ea9209adfb48e0e07f36eabbb59ab6ddb6522f16a5'], + }), + ('SparseM', '1.81', { + 'checksums': ['bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.5', { + 'checksums': ['d9928644a5a7e94838558d73afaaee8a914fd26fe68f691ad103331632060bf4'], + }), + ('rJava', '1.0-6', { + 'checksums': ['e290d0493317a5d6c452793e92baa914e37ef03faef19b2e436329b4ec8658c6'], + }), + ('RColorBrewer', '1.1-3', { + 'checksums': ['4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0'], + }), + ('png', '0.1-8', { + 'checksums': ['5a36fabb6d62ba2533d3fc4cececd07891942cfb76fe689ec0d550d08762f61c'], + }), + ('jpeg', '0.1-10', { + 'checksums': ['c8d9f609c3088f91ec4853d6cc0e66511038a465811dea79ca6a0c09519178ca'], + }), + ('deldir', '1.0-6', { + 'checksums': ['6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5'], + }), + ('RcppEigen', '0.3.3.9.3', { + 'checksums': ['5873a47fd6587d916f86119ab140c6736abf80ac45d06ff1c9d198708e7d1c76'], + }), + ('interp', '1.1-3', { + 'checksums': ['b74e606b38cfb02985c1f9e3e45093620f76c0307b1b0b4058761e871eb5fa3f'], + }), + ('latticeExtra', '0.6-30', { + 'checksums': ['c550a76913624818482bf237d48883c58e368ba356ced8ed5e76146672279eed'], + }), + ('plyr', '1.8.8', { + 'checksums': ['a73211b4bbe13e4e5e764966a8dd90172c1cc311938dd464d142e1c7a701070c'], + }), + ('gtable', '0.3.1', { + 'checksums': ['8bd62c5722d5188914d667cabab12991c555f657f4f5ce7b547571ae3aec7cb5'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0.1', { + 'checksums': ['a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081'], + }), + ('colorspace', '2.1-0', { + 'checksums': ['04078abb6b54119c90dc7085d62916bf292ccb163e213f9ea70567d1be82614c'], + }), + ('munsell', '0.5.0', { + 'checksums': ['d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199'], + }), + ('labeling', '0.4.2', { + 'checksums': ['e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165'], + }), + ('viridisLite', '0.4.1', { + 'checksums': ['a896db1ccae5fc1a8b3764d02f24cef74ef7a8341cf9f3401c4efe799870ea97'], + }), + ('farver', '2.1.1', { + 'checksums': ['0dcfda6ca743f465372790bcff1bcbc6a7145fdac1c682b021f654e8c6c996ce'], + }), + ('scales', '1.2.1', { + 'checksums': ['59453e6dbdafee93dfb101e4d86048a62a12898134259d3ef02d65aeec57ed08'], + }), + ('utf8', '1.2.3', { + 'checksums': ['c0a88686591f4ad43b52917d0964e9df4c62d8858fe25135a1bf357dfcbd6347'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('fansi', '1.0.4', { + 'checksums': ['3163214e6c40922bbb495229259ed8ce1bebd98b77098a6936d234e43da9c49f'], + }), + ('pillar', '1.8.1', { + 'checksums': ['2f06a7cc9e5638390c9b98a6ec9a9ec1beec0f2b9dbdfa42e39a5ab2456d87ec'], + }), + ('tibble', '3.2.0', { + 'checksums': ['8f2ff14bca39e342f36d026776351f21b7627fe0f20f009b7a9e0a69a166298a'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('withr', '2.5.0', { + 'checksums': ['37317b3ed790a08407072993a05ab255f6305f95a12a16e0e28aa6aa80fc8bc0'], + }), + ('mgcv', '1.8-42', { + 'checksums': ['087fc38b64ad06f2149eafc54f2679dd8840cf6fc488e66cf131e3c1de2db6c7'], + }), + ('rprojroot', '2.0.3', { + 'checksums': ['50604247470e910cecfe9b76df754bf96a0d701f81b732f7aa9c90a20d30f897'], + }), + ('desc', '1.4.2', { + 'checksums': ['758acf14be478c09ba7e84ade3a7ce512becf35d44e5e6a997b932065f2a227c'], + }), + ('ps', '1.7.2', { + 'checksums': ['9225ebdedb5c1b245bb38b01ce88084c0fc7eafcff6c4fda2e299003ace6b21a'], + }), + ('processx', '3.8.0', { + 'checksums': ['9270d9d26c4314151062801a5c1fc57556b4fcb41dbf3558cb5bd230b18ffb0b'], + }), + ('callr', '3.7.3', { + 'checksums': ['567bfedf073a1d4c5785f0553341608a214938110567b9a6495ff20ebb2fd04e'], + }), + ('pkgbuild', '1.4.0', { + 'checksums': ['357f3c40c99650eaa8a715991ff1355a553acb165f217ed204712f698ba55ed6'], + }), + ('rstudioapi', '0.14', { + 'checksums': ['469d0987b1ad728a96c363a422fba712a5cebc8b11a5f7e953b4a671044dafc4'], + }), + ('fs', '1.6.1', { + 'checksums': ['faf1e421a2c270c60c0a30c74e1a48faad45b339163716102d77d64d23d76732'], + }), + ('pkgload', '1.3.2', { + 'checksums': ['35d19a032bfeeefcab92d76a768b4a420c2ede0920badaf48cca878592b46b2f'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.3', { + 'checksums': ['eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6'], + }), + ('jsonlite', '1.8.4', { + 'checksums': ['79eaabe042226b0918aa828cc63d54fee8be67ae7c67f5e0d3010f468efb1278'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.4.0', { + 'checksums': ['57ee89eec9bcbba58cf8fa29c8e097f038768c30833eaf812682826333127eaa'], + }), + ('testthat', '3.1.7', { + 'checksums': ['1ad86b1739481c6c46359a6634ecc706bf513f34b26d7a62cbc719bbd4658eab'], + }), + ('isoband', '0.2.7', { + 'checksums': ['7693223343b45b86de2b5b638ff148f0dafa6d7b1237e822c5272902f79cdf61'], + }), + ('ggplot2', '3.4.1', { + 'checksums': ['041bc333f90d6026702c8bd5140a1c8ddd270b15742badf8ca5c53f0e02c6d84'], + }), + ('pROC', '1.18.0', { + 'checksums': ['d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('data.table', '1.14.8', { + 'checksums': ['14b2ce5367df9c9bb58f373555066f5dcb629c156149b5565de36d69557139fd'], + }), + ('BBmisc', '1.13', { + 'checksums': ['1145dcf9fed15e7beeaa4a5c7075d8a8badd17c8246838cd63e40cd9551e4405'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-5', { + 'checksums': ['4723434ff7624d4f404a6854ffa0673fc43daa46f58f064dbeeaa17da28ab626'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-43', { + 'checksums': ['9b0a996d013cce4f457abdbdc54bd2f8f4dbe4ef0b33e0a53925509c509d5287'], + }), + ('pls', '2.8-1', { + 'checksums': ['e22e7febeef1a6800b97ee7f6eb03dc1d6681aba7f9298449c9e6375fa78f28c'], + }), + ('class', '7.3-21', { + 'checksums': ['0c19404aa4d2da61a62495e788b07c8e429c4c5ee64486ea5e6dd347bcaecddf'], + }), + ('proxy', '0.4-27', { + 'checksums': ['249991a4c4d70ad139e93f3a24e17f161ad1ec854951813ea192daf79478563f'], + }), + ('e1071', '1.7-13', { + 'checksums': ['da94e191af6e69aa0f9e3250d4b823674cc869339d914f761ebf2824177b6b2f'], + }), + ('nnet', '7.3-18', { + 'checksums': ['d29aebfb5cb00071eecf754d55db5d474a6fda88860df5c9d31ba89aa8d9e3d0'], + }), + ('minqa', '1.2.5', { + 'checksums': ['9b83562390990d04b2c61b63ac9a7c9ecab0d35c460d232596e3c73bdc89f4be'], + }), + ('MatrixModels', '0.5-1', { + 'checksums': ['3fc55bdfa5ab40c75bf395e90983d14c9715078c33c727c1658e4e1f36e43ea9'], + }), + ('matrixStats', '0.63.0', { + 'checksums': ['c000b60421742eb035ff4ceedd3e588a79e4b28985484f0c81361e5a6c351f5f'], + }), + ('codetools', '0.2-19', { + 'checksums': ['c4b7e567c87f33dad85de92f79641e5e5b5deede6d19a9dfa47133d191782dab'], + }), + ('foreach', '1.5.2', { + 'checksums': ['56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.3', { + 'checksums': ['75046163bfa8b8a4f4214c1b689e796207f6447182f2e5062cf570302387d053'], + }), + ('purrr', '1.0.1', { + 'checksums': ['0a7911be3539355a4c40d136f2602befcaaad5a3f7222078500bfb969a6f2ba2'], + }), + ('tidyselect', '1.2.0', { + 'checksums': ['538d26b727e37d618e2efd3b00836048f103112a03e6994bf07a02392e269e3b'], + }), + ('dplyr', '1.1.0', { + 'checksums': ['8cb0535e49dd40b3054046735738f1e48507ac9a56b015d16ebcb54593b84ed7'], + }), + ('gower', '1.0.1', { + 'checksums': ['296a9d8e5efa8c3a8cc6b92cf38880915753afdef30281629af9dc8eae8315fc'], + }), + ('rpart', '4.1.19', { + 'checksums': ['fe723ed0b5583fae8b40e6fecc29b357229cb11f2339b02a4e4f812926249565'], + }), + ('survival', '3.5-5', { + 'checksums': ['1375a509554b0258e04e27baca2e073e179406e2a9a71e6d3e0c777072568476'], + }), + ('KernSmooth', '2.23-20', { + 'checksums': ['20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39'], + }), + ('globals', '0.16.2', { + 'checksums': ['682c26a95fa6c4e76a3a875be1a3192fc5b88e036c80dfa3b256add0336d770a'], + }), + ('listenv', '0.9.0', { + 'checksums': ['352841e04f0725d361b78cfdc75e00511f740d97237dd651ea86aa5484674887'], + }), + ('parallelly', '1.34.0', { + 'checksums': ['11639d7039e4a2450dabac1f82cb7ead0bbc68bdb0e113054b7104840098aff4'], + }), + ('future', '1.32.0', { + 'checksums': ['d5bb74512d069745184dd580a36449dc0b50d95b1cbbbc1605db82de596f2f76'], + }), + ('future.apply', '1.10.0', { + 'checksums': ['dee92dd84812fe8c55064c0f0e6d806c0c29848b5a5fc4a7725d6a4b623e94aa'], + }), + ('progressr', '0.13.0', { + 'checksums': ['0ffb3dcadde0cc191bad0ff9e05d000aa65e2fc339cfc94ebbb263088df5a4e1'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.7.2.1', { + 'checksums': ['d42b1f5c7e4e76718e4f014c44608295f82b5de0eb25ce8e9b35c40c7839ef2e'], + }), + ('prodlim', '2019.11.13', { + 'checksums': ['6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f'], + }), + ('ipred', '0.9-14', { + 'checksums': ['81c83dc847d09c3db52ef15e36cd4dac38c50eead1008ddd458b9e89d7528f35'], + }), + ('cpp11', '0.4.3', { + 'checksums': ['f1a60e4971a86dbbcf6a16bbd739b59bb66d9c45d93cfd8dedc2a87e302598f1'], + }), + ('timechange', '0.2.0', { + 'checksums': ['3d602008052123daef94a5c3f5154c5461b4ec0432ab70c37273d7ddd252f7f1'], + }), + ('lubridate', '1.9.2', { + 'checksums': ['8976431a4affe989261cbaa5e09cd44bb42a3b16eed59a42c1698da34c6544a7'], + }), + ('tidyr', '1.3.0', { + 'checksums': ['8d532b9366fdd3ec9827b51830e559a49d073425007c766025f0e603964e0a9d'], + }), + ('hardhat', '1.2.0', { + 'checksums': ['f9320eccb1b5f624a46fa074e3ccc202c383b77098ecd08b193aeb47daedad78'], + }), + ('tzdb', '0.3.0', { + 'checksums': ['6099f0ec1fba692b51b4360aa776902a39f10dae815933c31994b8e4d4277038'], + }), + ('clock', '0.6.1', { + 'checksums': ['f80c385fd8229538968ffb71d7de53ddc82bfcec6641f8e76f299546c43c1702'], + }), + ('recipes', '1.0.5', { + 'checksums': ['fd8b0d4282f490b5bd3853543c9a0518783caa9fa9280534aaab40f9bdd3cfb2'], + }), + ('caret', '6.0-93', { + 'checksums': ['4c156b88879d390436a54779ea19ffbae3f476533d83caaf30400d76130c4a07'], + }), + ('conquer', '1.3.3', { + 'checksums': ['a2c6155ed74af0e2a279145843ec5229ae2f3707aa25169ae030c520aa97deba'], + }), + ('quantreg', '5.94', { + 'checksums': ['52d585ccb972ed7726b7d083f5635d3e42915847398e00fd6e0f69a5fe1b17c1'], + }), + ('robustbase', '0.95-0', { + 'checksums': ['5cfaea1c46df6d45086614fea5f152c8da8ebfcadf33bb8df5b82e742eef9724'], + }), + ('zoo', '1.8-11', { + 'checksums': ['848e50f875afe06f13422e32160082b0725159a8be98234ef358480e57029ca5'], + }), + ('lmtest', '0.9-40', { + 'checksums': ['64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997'], + }), + ('vcd', '1.4-11', { + 'checksums': ['7a54e855689e1429d46e0d4d7a956f96b0ad2fd0c7084fa023902c55849e0932'], + }), + ('snowfall', '1.84-6.2', { + 'checksums': ['9b467ab2b992455c6e1aeabe375c5694761fa1cf8aaf4f003ca47102b656353b'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.2', { + 'checksums': ['48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.1.1', { + 'checksums': ['95fca70378af0afd5a388982ba5528f5b27e02157eeb9940a0a9762d11511308'], + }), + ('foreign', '0.8-84', { + 'checksums': ['17edf302c7568a122dc496a61a4a886ef7c02224a235d945b473611c79c98549'], + }), + ('psych', '2.2.9', { + 'checksums': ['4cd518bff387fef95067696b0a0b323310e6f4a063c3d242f2a50bcb17675571'], + }), + ('broom', '1.0.4', { + 'checksums': ['1d5f11b509786a8a45ffdd137243e24d6445f2944947cbd62a0734a06add0ad6'], + }), + ('nloptr', '2.0.3', { + 'checksums': ['7b26ac1246fd1bd890817b0c3a145456c11aec98458b8518de863650b99616d7'], + }), + ('boot', '1.3-28.1', { + 'checksums': ['d4cde76fcc8ccc7ffa329de69147b66a6a93a10188e89342fd18207b1d02ff53'], + }), + ('statmod', '1.5.0', { + 'checksums': ['d61c3ef9b09d55b42e038f8d767fa483ebbdec2a9c7172b1b0ccda0ae0016ec9'], + }), + ('lme4', '1.1-32', { + 'checksums': ['5e46cba4384d95c6ec70db7f56f3e4c17dc6dccb7e873cb3e5b47f448dc50348'], + }), + ('ucminf', '1.1-4.1', { + 'checksums': ['01a5b6f373ad267d22e2c29b8f7b6e31a1a148e48f4413e6a38e51aa049976b2'], + }), + ('ordinal', '2022.11-16', { + 'checksums': ['5488ad1dfa531a09d017d68d7393d376c8bc49cceeaa6a3e5f7d57b99168d493'], + }), + ('jomo', '2.7-4', { + 'checksums': ['2d25bc248dc1b931e6c19636197cd6f58fb00f5e1102ed3c04084c71d03d93fd'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.6.1', { + 'checksums': ['eb0e33d53212f9c7e8b38d632c98bd5015365cc13f55dadb15ff0d404b31807c'], + }), + ('readr', '2.1.4', { + 'checksums': ['98144fa48c4fa61ef8c73ede8f87a2d2c5c44e9502b7875b266eb79984fbeb0d'], + }), + ('forcats', '1.0.0', { + 'checksums': ['c5bb157909d92e1e1a427c0dc5cb358ea00a43a14918a9088fa4f6630962254e'], + }), + ('haven', '2.5.2', { + 'checksums': ['2131fb0377ae1beffae54bf4beb8b3a876e9b6b9841a5acc39a2a2615023561d'], + }), + ('pan', '1.6', { + 'checksums': ['adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6'], + }), + ('mitml', '0.4-5', { + 'checksums': ['056aec823187cc3793640d8a5e74d74093bae74260a975ceb098a83a52e2eeeb'], + }), + ('mice', '3.15.0', { + 'checksums': ['3d64dd260e3dce9c4c2f7be8c99f3063769df9ccfd3a0fc827c2de0ac842e87b'], + }), + ('urca', '1.3-3', { + 'checksums': ['43baa8b6735f8325a69e6a43686f4fecd77a0eb7f60da25b4fc5c51b9271e9f1'], + }), + ('fracdiff', '1.5-2', { + 'checksums': ['ac5f881330287f5bc68b5cdce4fb74156a95356ffb875ee171538bc44200f437'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.24.1', { + 'checksums': ['e7e0d9054cf7f3221ba363afa0fdf1c8bb65b8841700ec0010fa4886be26a661'], + }), + ('akima', '0.6-3.4', { + 'checksums': ['95657592a81d2e3628cb054b60127827ae64e65c58b77d059aa510bc6781ad3e'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('curl', '5.0.0', { + 'checksums': ['d7f3cac9b513914ffa8f6f64e6fa5dd96c8273378ace6b0c16b71bc6ba59c9b2'], + }), + ('sys', '3.4.1', { + 'checksums': ['324e6d8fde58264e62bc04867b719c5fd16296de1542689801b8cb13621ecf52'], + }), + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('openssl', '2.0.6', { + 'checksums': ['77f3032a16270f0d1734f269b8d348eedc75b277812854386091143082c1b3f3'], + }), + ('httr', '1.4.5', { + 'checksums': ['f93bac7f882b0df099abca47dd5aae3686fb3cd2d3e9926fcd639bcddff76f6c'], + }), + ('fastmap', '1.1.1', { + 'checksums': ['3623809dd016ae8abd235200ba7834effc4b916915a059deb76044137c5c7173'], + }), + ('htmltools', '0.5.4', { + 'checksums': ['008228a8690d39d8ae2716bc614e76337fdbe2bac4e96258c10245fdf24f327e'], + }), + ('yaml', '2.3.7', { + 'checksums': ['d20cb219e0f9c48aba02f132f81cfa9ecda5e22c925e36726840218ed56680ab'], + }), + ('knitr', '1.42', { + 'checksums': ['9344f1a0089e4da101def54aee38d7cfe3b2022d75c560141d8cc22ac65130f3'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('sass', '0.4.5', { + 'checksums': ['eba161d982d2db108c8c0b61ec6b41a20d3adec430c7cc39537ab388c1007a90'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('cachem', '1.0.7', { + 'checksums': ['234fad2a947d1e1fb87d3fa92abf9197877772e31bc81ae5991ae69689b6320a'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('bslib', '0.4.2', { + 'checksums': ['9a40b7a1bbe409af273e1e940d921ab198ea576548f06f055f552f70ff822f19'], + }), + ('tinytex', '0.44', { + 'checksums': ['afa14c1274593f0f980b12c4a27b5d0f6cad0c28ed9b4062d59e42562a33620e'], + }), + ('rmarkdown', '2.20', { + 'checksums': ['d7f7059bfcb43e4b92432d69ba0e0c74ad10a20f153689262a3e848adb60159d'], + }), + ('htmlwidgets', '1.6.1', { + 'checksums': ['42533cbcbefcfe5978c66d7f10f28d294c344e606aa75323c797d5a1dd960e43'], + }), + ('crosstalk', '1.2.0', { + 'checksums': ['4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0'], + }), + ('later', '1.3.0', { + 'checksums': ['08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829'], + }), + ('promises', '1.2.0.1', { + 'checksums': ['8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7'], + }), + ('plotly', '4.10.1', { + 'checksums': ['ac0921a1cba24e17a0f3a0a28b7a40ac930e17fe5caa9c3973c9a8d1e20c367a'], + }), + ('mixtools', '2.0.0', { + 'checksums': ['854e7482230b9a5dde61bab191b78e06aa8f9b0cdfe3c03e046afa133b317e0d'], + }), + ('cluster', '2.1.4', { + 'checksums': ['c6f10ceca29a176ba833f24ebf71fd451629052c2338398ba286df5689d6f5b6'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4', { + 'checksums': ['422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f'], + }), + ('doMC', '1.3.8', { + 'checksums': ['b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3'], + }), + ('DBI', '1.1.3', { + 'checksums': ['38bb33753da5bddb78893a5228a5d269dae3bf16f21dc5d9853ac9c24d31428d'], + }), + ('gam', '1.22-1', { + 'checksums': ['fba1dc23ceadb2452aaf2e1c6c7cbd05273575bdba610d93d573f1a33b9d04c1'], + }), + ('gamlss.data', '6.0-2', { + 'checksums': ['dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e'], + }), + ('gamlss.dist', '6.0-5', { + 'checksums': ['0f88afdfb148de79d3ece66bf4631ea0dc3ecf1188680802abffd6bc7139a20e'], + }), + ('gamlss', '5.4-12', { + 'checksums': ['9f791039f7e5c3cf3f6a2da955994a8c41c43044a2d77d99b289e4f82118a6f0'], + }), + ('gamlss.tr', '5.1-7', { + 'checksums': ['8f9975bceaf8000b1d39317daf490e59c8385b5291326ed6a2630be11dae3137'], + }), + ('hwriter', '1.3.2.1', { + 'checksums': ['ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3'], + }), + ('xts', '0.13.0', { + 'checksums': ['188e4d1d8c3ec56a544dfb9da002e8aac80b9303d0a5a1f62ff0e960aeef9674'], + }), + ('TTR', '0.24.3', { + 'checksums': ['4d9aef32647664be5cf965b05f21ed62cde9425fa87c21530852e05ef7aaba87'], + }), + ('quantmod', '0.4.20', { + 'checksums': ['f757df41595d885f7927e18f4835bc233d78d2d3ae48fd11c8874d4338c48e94'], + }), + ('mvtnorm', '1.1-3', { + 'checksums': ['ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448'], + }), + ('pcaPP', '2.0-3', { + 'checksums': ['1aac554f039753bf9d026090e47d66b82bf3f1f75479ed0adefa3f7bbb55d603'], + }), + ('pscl', '1.5.5', { + 'checksums': ['054c9b88a991abdec3338688f58e81b6ba55f91edb988621864b24fd152fee6f'], + }), + ('blob', '1.2.4', { + 'checksums': ['d08922ebc4147d930fe4762b1b289935217308c6d3fcaa5ae028ce3f5cf2728f'], + }), + ('RSQLite', '2.3.0', { + 'checksums': ['442e19a1d08ed072e795e2c968cd7e9e2cf9e1a7412bf6b30d21d34ffe175d33'], + }), + ('BatchJobs', '1.9', { + 'checksums': ['5da9c381df461320ed4033523bad1ee97f88a4670d2714fec32be92964115c77'], + }), + ('sandwich', '3.0-2', { + 'checksums': ['6e30b6b554eb19430a60c45a8132fb7918ddb0013577bf6a62caeb163bdfe2b4'], + }), + ('sfsmisc', '1.1-14', { + 'checksums': ['bca942d8c2d738c6e4a8fdee832ae29e39dc3010d18cdf74613f379b6ffcb3ef'], + }), + ('spatial', '7.3-16', { + 'checksums': ['e46565a64c5ec148a77789867e5103746462a41de294539b230bad2a0e16e406'], + }), + ('VGAM', '1.1-8', { + 'checksums': ['d4c0f1d4e356d88ab6f39c05076ff97ebef6d20b7fbf1b0fa31d40c73d0ad1cc'], + }), + ('waveslim', '1.8.4', { + 'checksums': ['408eeea72a218ef3458f0934ff556733cacf1a63ddaa52491abcc1fce6ed2094'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.35', { + 'checksums': ['96f17f497713754f84ff56c3538c6d05b9f5229f9a2a32aafec7d7cdc721d488'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-53', { + 'checksums': ['ec388ee6d022752bbebbecbf22d793d31f3734982e3f2e3ffd8dde14bffcca56'], + }), + ('fastICA', '1.2-3', { + 'checksums': ['e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950'], + }), + ('R.methodsS3', '1.8.2', { + 'checksums': ['822d5e61dad4c91e8883be2b38d7b89f87492046d0fe345704eb5d2658927c2e'], + }), + ('R.oo', '1.25.0', { + 'checksums': ['b8b19061774918ee7d9d4330c16c0ea505f7cd02d01343df1e8b2e4fb847beef'], + }), + ('cgdsr', '1.2.10', { + 'checksums': ['43bc02fb33c371464f9407d5e5e6419527e9360e3e394343862cca0aebe1d0f7'], + }), + ('R.utils', '2.12.2', { + 'checksums': ['fe3cf1aa8641540634e96990294d0202d4d94ec79ce73aaf78e4eda30fcb8836'], + }), + ('R.matlab', '3.7.0', { + 'checksums': ['d713522268a1206555610938350137ea022e07e27fa9cdd73c02fae8d1a43dda'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.8.1', { + 'checksums': ['8d2456124552658ee9500707c4e9992cf42cb88705008c32ea258efb4f2be80b'], + }), + ('Formula', '1.2-5', { + 'checksums': ['86254674600d64e18b65d52f42d7ebfc217c8e1945cb63ac06da22cbf04d355c'], + }), + ('acepack', '1.4.1', { + 'checksums': ['82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-60', { + 'checksums': ['0e0675cec55b6cea87fc5776846215e0445442554684120079e66013067491ee'], + }), + ('viridis', '0.6.2', { + 'checksums': ['69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311'], + }), + ('htmlTable', '2.4.1', { + 'checksums': ['3a7f3e75d886dc398fd1d3cae907b536fff6af3a3d2c18349ef12ec06d310f93'], + }), + ('Hmisc', '5.0-1', { + 'checksums': ['db390f8f8a150cb5cffb812e9609a8e8632ceae0dc198528f190fd670ba8fa59'], + }), + ('fastcluster', '1.2.3', { + 'checksums': ['1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.5.1', { + 'checksums': ['f3c1a0a4e666c4addd73ff13ce8ce073d73d10ebca36d333328ade8a0b493ed1'], + }), + ('pkgmaker', '0.32.8', { + 'checksums': ['0ff3578d2c051b544c3f105cfe4801575aac1564add048f9e952c53a8ccd1745'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.17', { + 'checksums': ['b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.5.1', { + 'checksums': ['2cfe6384fef91c223a9920895ce89496f990d1450d731e44309fdbec2bb5c5cf'], + }), + ('igraph', '1.4.1', { + 'checksums': ['08a258f46ae87bcbe7f7cf47d46d2bbedb0663407921a30fc89892674b505df1'], + }), + ('GeneNet', '1.2.16', { + 'checksums': ['c1e98073ccdaa18f4952630bfe4fc0617106eeaf7ed94d347cb2773bd48333e4'], + }), + ('ape', '5.7-1', { + 'checksums': ['8b09c71218d8aa629e43bc807b433a4e30a61847d91b2810e31c366f0fe5057a'], + }), + ('RJSONIO', '1.3-1.8', { + 'checksums': ['f6f0576d3c7852b16295dfc897feebca064fe5dd29cdce7592f94c56823553f5'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.3', { + 'checksums': ['9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('httpuv', '1.6.9', { + 'checksums': ['8d77f25b22fa7473b45007c2048e9a38d3792d59b2716e1fcdf9e99bd585d95d'], + }), + ('rjson', '0.2.21', { + 'checksums': ['982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2'], + }), + ('sourcetools', '0.1.7-1', { + 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], + }), + ('xml2', '1.3.3', { + 'checksums': ['cb4e9c0d31618ed67d2bfa4c7b5e52680e11612ed356a8164b541d44163c1c8d'], + }), + ('fontawesome', '0.5.0', { + 'checksums': ['4117b417a33e82d626881d7059eb54e7534cba202e75dae7e27021cb3796e90b'], + }), + ('shiny', '1.7.4', { + 'checksums': ['bbfcdd7375013b8f59248b3f3f4e752acd445feb25179f3f7f65cd69614da4b5'], + }), + ('seqinr', '4.2-23', { + 'checksums': ['af2174178972f71821062daec3e3ce98edfec19dd133f6bbbf39f5dcd821fb93'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('gmodels', '2.18.1.1', { + 'checksums': ['da7d48021b7cd2fd8a7cd8d0bb9658b12342a32698a13877b25ca94aa03f1e95'], + }), + ('expm', '0.999-7', { + 'checksums': ['28f249b914b8dd33eee16663fc793e57afd0e301e16067bf9f27fa8e591ba0f1'], + }), + ('terra', '1.7-18', { + 'checksums': ['d6815927ceccc217aa0f19b2231b3a160f643c5046cdb51b42f77b7082dcea46'], + }), + ('raster', '3.6-20', { + 'checksums': ['7e5be49f4e37a2c14a3b87661b252956643b959146cbdb08e983660c1d59a813'], + }), + ('spData', '2.2.2', { + 'checksums': ['878a58e98b6cf259432149ecb4e5d66ada59466e1b5b0dafa60ec839e90104ed'], + }), + ('units', '0.8-1', { + 'checksums': ['d3e1ba246b4c97205bc3da3cf45d6b5bd5c196b8d421b84b4e94b2090985cd9a'], + }), + ('classInt', '0.4-9', { + 'checksums': ['5b11af7d08f8793c7b47ee7c68b8e371cb23027165d30abddbd8b2abcc20e1c3'], + }), + ('vegan', '2.6-4', { + 'checksums': ['5d8ad4bebe79ae2bbd840a34100cf54c62f089c66ea484a542a201afcba21d06'], + }), + ('rncl', '0.8.7', { + 'checksums': ['1d876e4f5f2b8a24cc3ea1002c29eedbc0ca96011b0fa15b085e5b75cfc7993a'], + }), + ('XML', '3.99-0.13', { + 'checksums': ['85c568a6e2f0c43a8026d10861ddd8984907b03665ed88fca1a3776c25e8f73a'], + }), + ('reshape', '0.8.9', { + 'checksums': ['791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048'], + }), + ('triebeard', '0.4.1', { + 'checksums': ['192f2fef6341e43bd56ef4f9841e813e07be990f4ffcf38c5606259630efe0f7'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.3', { + 'checksums': ['8058617d8b3724acb5b89d0e6e63f381df5c56565128b250a65eceb2b8081e2d'], + }), + ('bold', '1.2.0', { + 'checksums': ['8f1597f04acbe6b090232929325734c802049d82649ae102b438e1fa3af5a464'], + }), + ('rredlist', '0.7.1', { + 'checksums': ['92a10c37a211dc19b41b93f9ceb13d7ce1c3d3a7290cbba4c1688d944353ae85'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.0.14', { + 'checksums': ['982ae7012c0e6c56115d5355c6269c507965c3b0b7f251daf1ca49eb80ad5fcf'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.2', { + 'checksums': ['1ab228ea762a431a5e3a565b589b804fcb2865ceaa2b1459bd2ab3ebe8f5ebbe'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.5.0', { + 'checksums': ['f8d0e6f04fb65f7ad9c1c068852a6a8b699ffe8d39edf1f3fa07d32d087e8ff0'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.1', { + 'checksums': ['af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.7-0', { + 'checksums': ['64b8e931e0a09031c20b66173ce80a646043b8f135d329bc86226a11c6b706c0'], + }), + ('WikidataR', '2.3.3', { + 'checksums': ['3da74b0584b8141a1b61b4d8f58e53c0e46524d811b1642bcc01fb7fd6180888'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.11.1', { + 'checksums': ['10096ecae03e118aa4dbc60d9866175fad4849c948e004cf10c3868e3feed420'], + }), + ('uuid', '1.1-0', { + 'checksums': ['e75b50ee7dc8c4c8e7083023e954ffd1c6a004431bf5e9094463e46aa760f42f'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.100', { + 'checksums': ['e2e578fc45eb5d1306332892c67535fa4bc32d63129532df2c6cde393993cd29'], + }), + ('RNeXML', '2.4.11', { + 'checksums': ['246913cbb0e816401bb8e37dda20646202547f5cc8379c9dadf832f61d6cfd46'], + }), + ('phylobase', '0.8.10', { + 'checksums': ['5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b'], + }), + ('magick', '2.7.4', { + 'checksums': ['e28d67737590f8c19e4cf00a9c74e59d0e45f9ece363ed105b5f40e821e8f02f'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.6', { + 'checksums': ['3bfa6ac966ce0ea93283f5856a853d0ee5ff85aedd7a7d1ca8a93d0aa642860c'], + }), + ('bigmemory', '4.6.1', { + 'checksums': ['b56e157c87ed6c4fc69d4cb9c697ae9a2001726e776e41aa7c48b35327b65141'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.7', { + 'checksums': ['534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c'], + }), + ('dismo', '1.3-9', { + 'checksums': ['3924521db67716b004a4c870985c65d037edfe926b14222740fd6c2b2093beee'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.12', { + 'checksums': ['0b4b7a303990369a6944de817b6bd220b400942fcabf42c04fb5b56f1b40a583'], + }), + ('extrafont', '0.19', { + 'checksums': ['4e8f90152df13fc5dee573222a26b4d66553493fdf6af1c7777e59521ccdab8d'], + }), + ('fields', '14.1', { + 'checksums': ['57c4c5592443d2ee869014b3199989b5edd1aff52e24f1cd313b8f9b34a95434'], + }), + ('shapefiles', '0.7.2', { + 'checksums': ['4bfa4094c1052c1b1918b1670798f8b4e53f771cfdf9cb8c04bd00a856674d0f'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('optimParallel', '1.0-2', { + 'checksums': ['0f9bc62c23d9005130f2892bf5eaecf308fa48a727bdd5e19b7dcd1d95f30a9d'], + }), + ('phytools', '1.5-1', { + 'checksums': ['f8be59abbff1f5032be4523c361da53b0d5b71677fedebba6d7cbae2dca7e101'], + }), + ('geiger', '2.0.10', { + 'checksums': ['2895cfb73fb91764be2ec3f931e4f3b2e75ae00a1431af4b40dc90e7c0693be0'], + }), + ('shape', '1.4.6', { + 'checksums': ['b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b'], + }), + ('glmnet', '4.1-6', { + 'checksums': ['bec4c6cea284d0dc24bbdac3e623f0772cea1d74ef77e718651e3830c74b7e30'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('webshot', '0.5.4', { + 'checksums': ['3dc2b9baef7855e1deea060276b9ccc6375eee36b7100987cbb1f8e5cd7a8f24'], + }), + ('shinyjs', '2.1.0', { + 'checksums': ['7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '1.0.1', { + 'checksums': ['89a300faca7dc34a2c2a1f174a02754b2ceb5fcfffb746487af02b23c30a2fc8'], + }), + ('Rtsne', '0.16', { + 'checksums': ['52a05adc826c28212e97d11c54eba3fec45d14eb52039c0f47f62a8e338ffbd5'], + }), + ('labdsv', '2.0-1', { + 'checksums': ['5a4d55e9be18222dc47e725008b450996448ab117d83e7caaa191c0f13fd3925'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-3', { + 'checksums': ['cac6b4028f68cc8d39202377161d0f7f72ea229b552a5c35769053ab89f90f86'], + }), + ('TH.data', '1.1-1', { + 'checksums': ['edf3ab16b142f4c52d21fc64e41409ed138e5b3e142f2fae964b00f02d53dd7a'], + }), + ('multcomp', '1.4-23', { + 'checksums': ['425154a58bd8f2dbaff5d16e97b03473cbc0d571b1c2e4dd66a13c6d20a8cde1'], + }), + ('libcoin', '1.0-9', { + 'checksums': ['2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb'], + }), + ('coin', '1.4-2', { + 'checksums': ['7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2'], + }), + ('party', '1.3-13', { + 'checksums': ['def05e7f0c59f1b1ecf0ab3929cff75ae8c2691aaf52292cad4371281b897e7b'], + }), + ('inum', '1.0-5', { + 'checksums': ['e696b7e0b31b3bbf405112e60691b6a72fedcaa02e08ee517c59f6bf9cd36bbd'], + }), + ('partykit', '1.2-18', { + 'checksums': ['2c3f8ba0eaa38268565d006954d6f45a172e29e81b8e2ad86a0ec4b5d41464fb'], + }), + ('mboost', '2.9-7', { + 'checksums': ['0242cb91656280c4bd705643b65674900a1475305d9f80cfc12ef4b5fa069606'], + }), + ('msm', '1.7', { + 'checksums': ['7f89f8e47966919e49ef8dfe1f9c82ac6553b2f404bb03840da5f42e73dd0db0'], + }), + ('nor1mix', '1.3-0', { + 'checksums': ['9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0'], + }), + ('np', '0.60-17', { + 'checksums': ['d97957cb234ec2e570fc2d02d305eadff3d71939484b3d1054ed8b67a3427f36'], + }), + ('polynom', '1.4-1', { + 'checksums': ['bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278'], + }), + ('polspline', '1.1.22', { + 'checksums': ['b2f2198f020d7d492a87bad2b58a6cc9ae91d95b7330dd12b9b1145c72d7457b'], + }), + ('rms', '6.5-0', { + 'checksums': ['fd6f819d91d673dc40ce45126ed769d47173cda590147192fd98c2f5e45db185'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-46', { + 'checksums': ['660555781703c19b994c9dcfc9e7d8312c30b02539f38cd3948bfc33d9f94b67'], + }), + ('slam', '0.1-50', { + 'checksums': ['7899bf3266c204ecccefc1878f96940b117d4503af128f4fbc50fc409163f8bd'], + }), + ('tm', '0.7-11', { + 'checksums': ['9aab8b8493df4c62cff8adbba53be72295673ba8c546cdb129cdc52aabeae742'], + }), + ('leaps', '3.1', { + 'checksums': ['3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6'], + }), + ('cNORM', '3.0.2', { + 'checksums': ['31231a0612915ee5171676b28273f82acdc8914bd6385fc9e7b17f930e66c91a'], + }), + ('weights', '1.0.4', { + 'checksums': ['efbe65e8a9d05824a86095d45ed62ce24d82101d4ca3b94828d443e08e83ccba'], + }), + ('TraMineR', '2.2-6', { + 'checksums': ['e7f65b5692bf925b3fc94c47083b65917fe3bfdc77b769b4743644a0ad8313e7'], + }), + ('chemometrics', '1.4.2', { + 'checksums': ['b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a'], + }), + ('FNN', '1.1.3.1', { + 'checksums': ['52b0e20611481a95bced40be4126f44b002fd3a9c4c9674bb34db4e1e3b5be5a'], + }), + ('miscTools', '0.6-26', { + 'checksums': ['be3c5a63ca12ce7ce4d43767a1815cd3dcf32664728ade251cfb03ea6f77fc9a'], + }), + ('maxLik', '1.5-2', { + 'checksums': ['7cee05be0624b6a76911fa7b0d66f3e1b78460e0c55ed8bc904ce1e8af7bb15d'], + }), + ('gbRd', '0.4-11', { + 'checksums': ['0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b'], + }), + ('rbibutils', '2.2.13', { + 'checksums': ['ac235c60bf191ad1830b93045af1b2fe50a6978f6f63cecc4c514a8ba339efc2'], + }), + ('Rdpack', '2.4', { + 'checksums': ['7652add12b30fcba1f3a12493a089a4166079e78c47b95802a98595a3ff53581'], + }), + ('dfidx', '0.0-5', { + 'checksums': ['37521940b35d62773a4d127c94148aadf207f400a686f2212a22d96e53086a0a'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.3', { + 'checksums': ['531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f'], + }), + ('gsalib', '2.2.1', { + 'checksums': ['3da3a4b959142a0d694a843e39143bfce82a6de197c6cc92650a28ac05f3bf90'], + }), + ('optparse', '1.7.3', { + 'checksums': ['6287e1af051d4a65037900ce7b30bd962039450dd4eab63b6f2491eace6a07ed'], + }), + ('labelled', '2.10.0', { + 'checksums': ['5e93e29dcbbf0f6273b502b744695426e238ffe106f1db2bb5daeb1f17c9c40a'], + }), + ('R.cache', '0.16.0', { + 'checksums': ['7853409161571a790e0383f64f99e4eae43201a0ed7146d2baf157741a509291'], + }), + ('styler', '1.9.1', { + 'checksums': ['c80fa3c062f007645ec820b5b087d4d5784e7797cc88d030ab59fb5823ded0bb'], + }), + ('questionr', '0.7.8', { + 'checksums': ['af72e59fe652c6063282a7e5b0f487993b9361cc9ed052a632d64a5a6db76ba9'], + }), + ('klaR', '1.7-1', { + 'checksums': ['0354bafb1a202bc439660ecfcfe78359bc2881a69d15ff64afa049e4eb171d25'], + }), + ('neuRosim', '0.2-13', { + 'checksums': ['b6f45e005ab0305b797b4f30a73e43d42630a54cafb61728abace27c569eb74b'], + }), + ('locfit', '1.5-9.7', { + 'checksums': ['48e5fcd089fbc609d8e4c62c390425fba1dd167ad95ae0bddc175cbbe1517aff'], + }), + ('GGally', '2.1.2', { + 'checksums': ['30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5'], + }), + ('beanplot', '1.3.1', { + 'checksums': ['49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.4.3', { + 'checksums': ['02ef2b11c3462a8b800332e522183f4c7c40c7d2d66c5174d5f3f6d8cc68a946'], + }), + ('pbkrtest', '0.5.2', { + 'checksums': ['8e79adf035a0fcf3c82145ad55847497379e009f7be880ba3007ebeb2e69b6e3'], + }), + ('carData', '3.0-5', { + 'checksums': ['02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a'], + }), + ('maptools', '1.1-6', { + 'checksums': ['d6a5df52db03b2231f21921b693c67f85df3c3b376181aa13ef4f21710f69308'], + }), + ('zip', '2.2.2', { + 'checksums': ['e16cde23bb283efbe9b6bce19575c716c371d09033b42514471ccb444c0a8ea4'], + }), + ('openxlsx', '4.2.5.2', { + 'checksums': ['ee7089e7e5832ef22ee0d0eebf7cca5096ce23afb2bcdb58700be62526fc9b67'], + }), + ('rematch', '1.0.1', { + 'checksums': ['a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.4.2', { + 'checksums': ['387304e2c5be0dca4861ec0232f0d92cc1882b660ca917f8f2a8a4ae858aba11'], + }), + ('rio', '0.5.29', { + 'checksums': ['9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412'], + }), + ('car', '3.1-1', { + 'checksums': ['8fc55815eed7e46a32b54da9e0bfa4b74a8d082d73d896e3372f2a413b6bd2bc'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.3', { + 'checksums': ['b9eba0e2edee84db0276b49e4834b65f5369edc4bc56f4cacc13e0d1c39a005c'], + }), + ('DT', '0.27', { + 'checksums': ['e32fdccd2be430933cff88a9ce79045bfdbe3e08e0cd8d15037445808613289a'], + }), + ('estimability', '1.4.1', { + 'checksums': ['c65aaf1e452f3947013d3ce05ae674d48492081f615a942592dc91db780f1124'], + }), + ('emmeans', '1.8.5', { + 'checksums': ['5c88b415b5a42d8c1aa63af090c4987326530ea6d0e60bab9b5fb7e99a982415'], + }), + ('multcompView', '0.1-8', { + 'checksums': ['123d539172ad6fc63d83d1fc7f356a5ed7b691e7803827480118bebc374fd8e5'], + }), + ('FactoMineR', '2.7', { + 'checksums': ['27b83ecc64cf445a42d0af3812492fd58624839fa5d458ec0ca6666ed914250d'], + }), + ('flexclust', '1.4-1', { + 'checksums': ['d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d'], + }), + ('flexmix', '2.3-19', { + 'checksums': ['adf5a40cbb6d45e3652c1666cb3ccdb9654e501fd685c091cad0686e62bc12e9'], + }), + ('prabclus', '2.3-2', { + 'checksums': ['f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441'], + }), + ('diptest', '0.76-0', { + 'checksums': ['508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-10', { + 'checksums': ['99b4548f2eca1a092a31bc2fa4e4bd1d6b50fdfacf3218588c879ceec99147d2'], + }), + ('BiasedUrn', '2.0.9', { + 'checksums': ['bac62bbbc3e2417772f8784996a6c2d0857adb42e86e46b1a9703b187a406b09'], + }), + ('TeachingDemos', '2.12', { + 'checksums': ['3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644'], + }), + ('kohonen', '3.0.11', { + 'checksums': ['018d820acdb7dfa716275ba24c4d671cb0202cb1fee584b673d0118e2c9063ae'], + }), + ('base64', '2.0.1', { + 'checksums': ['4d22687c0195c2049e0af2c613b1ebcb908037010ad6e550bf47d69e842535f1'], + }), + ('doRNG', '1.8.6', { + 'checksums': ['5032ade083f1f9841ac2e8d4426faa07f189c25c0c338fa155c5dadbe5507de2'], + }), + ('nleqslv', '3.3.4', { + 'checksums': ['2783e7525bcd155dd8cedf5a41b7db65cd1fa0e095cd937371448316f3930fcf'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '2.1.2', { + 'checksums': ['20f341fca8f616c556699790814debdf2ac7aa4dd9ace2071100c66af1549d7d'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.2', { + 'checksums': ['5bbdc3baff2d22a8922685af02b2af07541a1bcf1914abd9c166850b4c550afc'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.3', { + 'checksums': ['e7c2475f7613241787e6c85bd03315e4fd88413ccbbb735959756a8c2eeb8c46'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-2', { + 'checksums': ['bd7fd9e35928d09d0e8fae9e4359a2b2bca6e6865b278436319e2f91db0e4b37'], + }), + ('forecast', '8.21', { + 'checksums': ['fdd131795a9d3fb399d76a9aa66a0c276637caaa9ec0c75fbe386189d005c6c2'], + }), + ('fma', '2.5', { + 'checksums': ['400dea4d2b6e73ed686d901fbab1b4f930dfcdd67fbd0bb3abc34a707656cf78'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-4', { + 'checksums': ['84d2c9778771d3759b49d7d16fb54c8ddc5397da3b1d21074bc4aa42c02e6f56'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '3.0-2', { + 'checksums': ['be60cd2cf21a6b3f71ba60553c045fd87884a4e57744f60e6eb0a2d096314615'], + }), + ('spatstat.data', '3.0-1', { + 'checksums': ['8eeb4b1de356e9cef42f58b5e0fc7ced2a476a1306e09395ba97253b22dd5300'], + }), + ('spatstat.geom', '3.1-0', { + 'checksums': ['184a96679babcbff4897c5a471e034eb1bb7127c6cf668e8cc2c2c74bdea47fe'], + }), + ('spatstat.sparse', '3.0-1', { + 'checksums': ['2c1cf0ddad366aa4230bd03241a1ef87ed635f53a6943fc4a6c2d371626d0d1c'], + }), + ('spatstat.random', '3.1-4', { + 'checksums': ['a6cd75e187a992fd8dae535f6745e12801635a344ca51bd2fe048debea3df7d3'], + }), + ('spatstat.core', '2.4-4', { + 'checksums': ['e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b'], + }), + ('spatstat.explore', '3.1-0', { + 'checksums': ['87ef4882652db3b834214bfc776dd7d23d931a9227de12f19722aeb1029d086e'], + }), + ('spatstat.model', '3.2-1', { + 'checksums': ['7ae5c0da47dcf786ae09bd12eecd41dc44e9390adfd36a559f8e58480f81596f'], + }), + ('spatstat.linnet', '3.0-6', { + 'checksums': ['1609d4c3b3bf168b6218827749e0c887c09727dc144403a2cf7778e8c8fb606a'], + }), + ('spatstat', '3.0-3', { + 'checksums': ['1daf773656da834790ea4a9013d1e1858575888e55007a3a5849b7290771502a'], + }), + ('pracma', '2.4.2', { + 'checksums': ['1d50337fdfd9a8d704a64f01dae5d52b9a2bd6d872fdaa4a6685b8d3bde89c16'], + }), + ('RCurl', '1.98-1.10', { + 'checksums': ['5a622bcf8b6fb77f4b01e9473d3685f64f51401240630bb25b0266a61306f1d4'], + }), + ('bio3d', '2.4-4', { + 'checksums': ['5654eac10d33e4235ef89292e3b99006d8812b6bfaaa3d6fb540312160fd9de9'], + }), + ('AUC', '0.3.2', { + 'checksums': ['836b25b654a82f6ab69b86be95acc22a214da0ad06d71eab787ae1ebe721ae1f'], + }), + ('interpretR', '0.2.4', { + 'checksums': ['4c08a6dffd6fd5764f27812f3a085c53e6a21d59ae82d903c9c0da93fd1dd059'], + }), + ('cvAUC', '1.1.4', { + 'checksums': ['48b4a3c34e9beb63239e9c7372dd125fe87648262ad5490e0bee2a1f14285ed4'], + }), + ('SuperLearner', '2.0-28', { + 'checksums': ['5f42233abd48f1740c33aae1ec4ad8e9952fddb5df1ee49ff2d43d5d89f05601'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-3', { + 'checksums': ['efa296230395f323c2a398a7b386e3a88e75a5b9b645307459d0b7c14d03f32d'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.6', { + 'checksums': ['9a7eb14781f01a12e26e7b26a91c8edaca7d824b9c1ffe74c81837098d9bf417'], + }), + ('ddalpha', '1.3.13', { + 'checksums': ['e4a60a4e0950a3587db2a2d5958ab4fbe07b2548f7c3d4795912fe45c77a4eae'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('adabag', '4.2', { + 'checksums': ['47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14.1', { + 'checksums': ['0450ff8489b0d4d0842130f6a9713ede97da936d7909c43d43587bf2d5a01a21'], + }), + ('ggvis', '0.4.8', { + 'checksums': ['3d5480a0b97a57c26b595785f826b13d7695dab1f1dd8fcf5d7964fa8546a26a'], + }), + ('mlr', '2.19.1', { + 'checksums': ['9d52afd54d9d5746e798134d5675818cee65caa53d7eaf317d46ba88d5865202'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-15', { + 'checksums': ['4a4286444f50b28fb6294b8b49250fa6c43c8fddf2ee0550a3ae59a4212ec1b3'], + }), + ('abc.data', '1.0', { + 'checksums': ['b242f43c3d05de2e8962d25181c6b1bb6ca1852d4838868ae6241ca890b161af'], + }), + ('abc', '2.2.1', { + 'checksums': ['db52a397a204a0040ec1368ae217cf7b0d8e99e2567927dbe3ae89f93d1de598'], + }), + ('lhs', '1.1.6', { + 'checksums': ['e37fce44efe6a371677ba2f72f9e1e48270a0fdc60872d05def89270586cd23f'], + }), + ('tensorA', '0.36.2', { + 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], + }), + ('EasyABC', '1.5.2', { + 'checksums': ['326c92e003866728729dc61473f168c3663106b1229e8513abd7ce520c18689c'], + }), + ('whisker', '0.4.1', { + 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], + }), + ('roxygen2', '7.2.3', { + 'checksums': ['d844fab977d2575ab942fa1309ac7ff67f35f099a75d8b41c79efe6ea10416da'], + }), + ('git2r', '0.31.0', { + 'checksums': ['f1db9278fa4604600a64beaedcf86dda595d7c8a10cdb1f7300a6635e73cd66d'], + }), + ('rversions', '2.1.2', { + 'checksums': ['de5818233e8271132fe8ea70145618950b35786e0d2f270e39bf3338f3b8b160'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('sessioninfo', '1.2.2', { + 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.2', { + 'checksums': ['f2ef875f24a485bf4f55a8c830f87cdd5db868f9a8cdb624dc452d0bf66ba516'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.2', { + 'checksums': ['41c6abcca5635062b123ffb5af2794770eca5ebd97b05c5a64b24fa1c803c75d'], + }), + ('httr2', '0.2.2', { + 'checksums': ['5d1ab62541f7817112519f0f9d00d6a2555bab5b2da7f5c6d579b0c307d7f2bf'], + }), + ('gh', '1.4.0', { + 'checksums': ['68c69fcd18429b378e639a09652465a4e92b7b5b5704804d0c5b1ca2b9b58b71'], + }), + ('credentials', '1.3.2', { + 'checksums': ['2ffa7c11bedbfa034adf553d0a2f2e4f6a496b858af753a09a89219cff9028b8'], + }), + ('gert', '1.9.2', { + 'checksums': ['42ca1b4bcafb1fdbbc7f54df0ee4476ecd19e9e7d563b53fe7064e0086ab665e'], + }), + ('usethis', '2.1.6', { + 'checksums': ['31dc6707577065ac1d4acb7d4cbf135942727c5cc2699092198c544be86f6818'], + }), + ('covr', '3.6.1', { + 'checksums': ['ffbe15438c1a4f274c14cacfb944480e284f1ab60808d5e840c015cc57c51157'], + }), + ('downlit', '0.4.2', { + 'checksums': ['33dff66909104d1a5ba8e57b1288986e82b61fd5e91dce0cd358d53724b37e3c'], + }), + ('systemfonts', '1.0.4', { + 'checksums': ['ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0'], + }), + ('textshaping', '0.3.6', { + 'checksums': ['80e2c087962f55ce2811fbc798b09f5638c06c6b28c10cd3cb3827005b902ada'], + }), + ('ragg', '1.2.5', { + 'checksums': ['936f4d75e0e01cdeefb9f57d121cdd7812d0de5a9e1a3a8315f92ce1c84da8f9'], + }), + ('pkgdown', '2.0.7', { + 'checksums': ['f33872869dfa8319182d87e90eab3245ff69293b3b791471bf9538afb81b356a'], + }), + ('profvis', '0.3.7', { + 'checksums': ['43974863cb793f81dbea4b94096343c321f7739c9038980405c9b16b04a906b9'], + }), + ('urlchecker', '1.0.1', { + 'checksums': ['62165ddbe1b748b58c71a50c8f07fdde6f3d19a7b39787b9fa2b4f9216250318'], + }), + ('devtools', '2.4.5', { + 'checksums': ['38160ebd839acdec7ebf0699a085b4ab1ebd5500d3c57a9fa7ae484f1909904b'], + }), + ('Rook', '1.2', { + 'checksums': ['c79ae4b5164daffd4e7cf74bd23c1b08a3948bf343dfe9570d57f39cbf8e5f62'], + }), + ('Cairo', '1.6-0', { + 'checksums': ['c762ac1d8daa4af527342360c256ed742de4e3031d997e9e59c9a369fcafb7d3'], + }), + ('RMTstat', '0.3.1', { + 'checksums': ['bb4827d76106f5377044cd2b230208881eb714cae65f512f4b95988d9b162ae4'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-3', { + 'checksums': ['e1ccf0dd542502eb9775682ff64ed358fce4aec271b98cd746e58fbfcf093c40'], + }), + ('tkrplot', '0.0-27', { + 'checksums': ['c99211919414400b0f579e1354407f2e154cfe85533d324bcf9c68172c2772a5'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '0.1-12', { + 'checksums': ['487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36'], + }), + ('plot3D', '1.4', { + 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], + }), + ('plot3Drgl', '1.0.4', { + 'checksums': ['6d87a9a32aba3aa64f751268cabd14dbd3e0eca2bd5f0a4b11366cd1e2f51bdd'], + }), + ('OceanView', '1.0.6', { + 'checksums': ['2c5165975d6c49fdc83a892cb0406584928dd44000c9774fffc00fbd2fec86f3'], + }), + ('ks', '1.14.0', { + 'checksums': ['2db9c56b7b0217b324bbf1e0f66bb94d3f7067a75c5823cbc7d369d63bbb4391'], + }), + ('logcondens', '2.1.7', { + 'checksums': ['1ad887571afe2d3f66676c59b32ed8fb2fa13fada14f0a1834fbbcfe983acbf8'], + }), + ('Iso', '0.0-18.1', { + 'checksums': ['2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f'], + }), + ('penalized', '0.9-52', { + 'checksums': ['d8e38e6c4e993c74998ca8f986b4e11e09c0b9971103e1d5c7ebdee75f6d6a21'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.0.0', { + 'checksums': ['40674c90a5bd00f5185db9adbd221c6f1114043e69095249f5fa8b3044af3f5e'], + }), + ('influenceR', '0.1.0.1', { + 'checksums': ['63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766'], + }), + ('visNetwork', '2.1.2', { + 'checksums': ['47c99d42fc89e6ae929257b2648d998c5ffed60dff97ad7e47613f5a0c1ddc84'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.9', { + 'checksums': ['64a426fe27110dddd8b0c1223ae4c397a2e553ae5e81ddd4ff67c026cfc40abf'], + }), + ('randomForestSRC', '3.2.1', { + 'checksums': ['8548102482a724d2ecb1c249e1fbda18f9a9be3ad071c0e559412aac96537f2c'], + }), + ('sm', '2.2-5.7.1', { + 'checksums': ['ea0cc32eb14f6c18beba0bede66ed37bc5341bd3f76c1a7ae56d7254693e1457'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-15', { + 'checksums': ['9a43f3e999f9b3003a8c46a615902e01d6701d28a871d657751dd2ff3928ed9b'], + }), + ('matrixcalc', '1.0-6', { + 'checksums': ['0bc7d2f11f62d8b1969474defe27c924a243ccba0c856d585f317f6caa07f326'], + }), + ('arm', '1.13-1', { + 'checksums': ['c02da290c1b9699b958431865fcedce94f00ccc80da5c0aa50ed1c3fb56de937'], + }), + ('mi', '1.1', { + 'checksums': ['4d7a9790dbdc675605d70755af9aa80c21a279be5a5d712b22d77465772cc785'], + }), + ('servr', '0.25', { + 'checksums': ['e6ae0d4c09e9037268b1c291c36c93ba0a74c31fe2fcb1f0652b2ae9fca5e73c'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-15', { + 'checksums': ['ad023b00e6e8eb20d107039caf1008c4b05104c7c69709e59c66fbddbf381316'], + }), + ('statnet.common', '4.8.0', { + 'checksums': ['def999130673fbcb315fecf3620a2559864f51961a828625aa5cd5fded7946f0'], + }), + ('network', '1.18.1', { + 'checksums': ['c80d70352967d8480cfa801f2a31bfe130e2ad4dbf2c07b0046e57f3013cd243'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.7-1', { + 'checksums': ['60daf217c15b6fa335804600dc1e6eb73594b6e794faa4f82a2275c4d8570ae3'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.72', { + 'checksums': ['7cf9cc1bccf2a56b518c88030e00e88217f571afcb250aa95c3bd2771a8b83cd'], + }), + ('graphlayouts', '0.8.4', { + 'checksums': ['778d8f7e190b05d0dbbaa7e6dbdfc0b8fef3c83b71333a6fa89926e6c04690fd'], + }), + ('tweenr', '2.0.2', { + 'checksums': ['64bbfded418d4880e3636f434571c20303d2f66be6950d64583a864fbb661ff3'], + }), + ('ggforce', '0.4.1', { + 'checksums': ['b44219fb63c45fa003c64bca323452f16dcace635204bc0127d3244c0f451873'], + }), + ('tidygraph', '1.2.3', { + 'checksums': ['b09c06b12583ae57edd1ec01e61a0e1b7a4b82358361fb28a6046dbece475687'], + }), + ('ggraph', '2.1.0', { + 'checksums': ['686fdb22dc4f613273fb755ec42399a208b4d10348eecd1a217afd4612245c1f'], + }), + ('qgraph', '1.9.3', { + 'checksums': ['46ae6ab1d2b64667bc5ad7c9e81d44cbdd67d4e865eb35f5a25c80b569975f91'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + {'HWxtest_1.1.9.tar.gz': 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6'}, + {'HWxtest-1.1.9_add-fcommon.patch': '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451'}, + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.20', { + 'checksums': ['917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8'], + }), + ('geepack', '1.3.9', { + 'checksums': ['a106fdf99a7070243c412f0117f0f4e3954b2bae81266fba272e9c85040dcde7'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-3', { + 'checksums': ['bfa702679f023b2c9a54b23172deb6e26cfa27addce4d2d6bd5e7d89e14feef0'], + }), + ('rootSolve', '1.8.2.3', { + 'checksums': ['b5b3d1641642a3fd1279dbd1245f968d2331ac9588d77f872b113f7dc4594ba0'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('FME', '1.3.6.2', { + 'checksums': ['65a200f8171e27f0a3d7ffce3e49b01561f219a11f3cb515ff613a45927ff618'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-11', { + 'checksums': ['b8c3ea15114d972f8140541c7b01f5ce2e5322af1f63c1a083aaf766fd3eec75'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '0.42.18', { + 'checksums': ['c11536d7b6fc08300b78d3688204a87aeae42c7858adc69b6d4dea90f4665352'], + }), + ('signal', '0.7-7', { + 'checksums': ['67a015c46d67de7548c3adb83a1b22524de75501a861d91668c3c2ea761a4e61'], + }), + ('tuneR', '1.4.3', { + 'checksums': ['a9fec8a3c2afeb078bdf7bc5af82cd2a9b177d6637b3721bd0d3b3a1040f399b'], + }), + ('pastecs', '1.3.21', { + 'checksums': ['8c1ef2affe88627f0b23295aa5edb758b8fd6089ef09f60f37c46445128b8d7c'], + }), + ('audio', '0.1-10', { + 'checksums': ['82c731a88c741a6b4efe5069ce7dc2f765932d769323ac8d3fbb84ac30afc4dd'], + }), + ('fftw', '1.0-7', { + 'checksums': ['f69f63467b84e107f3e0b18d1f034a37140545e6f50e6be3b887df2b4eec3a1e'], + }), + ('seewave', '2.2.0', { + 'checksums': ['943b1864fe50359b253a4511522c00b0a7dbc1ce5b4033516086a0410fa1212e'], + }), + ('gsw', '1.1-1', { + 'checksums': ['d2a21dbcc3b285163d9cf1bc649a3de1bb1e713c64e4cb6cbc3e613c43f4dd82'], + }), + ('wk', '0.7.1', { + 'checksums': ['e5a5772c982da9c43593cecab9b4f2edbab7b290bb6efc1409eabda4c4dbd384'], + }), + ('s2', '1.1.2', { + 'checksums': ['8fb237531c6f4aa5b78fbe36d4fd15bfe852c1308fed58b04b3dae2bb73c0b57'], + }), + ('sf', '1.0-11', { + 'checksums': ['2e7848706b8e251199d6e5bac07c10cb9d2efe12bb8757e7b2db4b9c9e8e2117'], + }), + ('oce', '1.7-10', { + 'checksums': ['b899eeb7ae73f6520f65f0f052dd2f6f2d102190527eace94d057357ed9568ff'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-3', { + 'checksums': ['906fdff665e2aed0e98ee3181233a5c62bd521abfce6ab1cb215c71c95d12620'], + }), + ('pinfsc50', '1.2.0', { + 'checksums': ['ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794'], + }), + ('vcfR', '1.14.0', { + 'checksums': ['8576dbd2e5a707dabc20acbbea3fe18b6a783910e622423ac203609a386204cb'], + }), + ('glmmML', '1.1.4', { + 'checksums': ['bdb7d83505103514e5cfe23a0766e5bc9d508ccc74514da1be62f84284dd4677'], + }), + ('cowplot', '1.1.1', { + 'checksums': ['c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48'], + }), + ('tsne', '0.1-3.1', { + 'checksums': ['14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888'], + }), + ('sn', '2.1.0', { + 'checksums': ['495f9baed26e2e70357eda996fdb327ccc22673486e375686c32daec727a448b'], + }), + ('tclust', '1.5-2', { + 'checksums': ['492674b30a465e5f4a22ba0ce5556ed4d8e57b29090f9b5b94ad655d064e6f8b'], + }), + ('ranger', '0.14.1', { + 'checksums': ['5d99401d555da1cfb11c70e59d1bb545ce48720073a06a2a32eb396f622dee1b'], + }), + ('hexbin', '1.28.2', { + 'checksums': ['6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d'], + }), + ('lobstr', '1.1.2', { + 'checksums': ['9bc533ed7e8f816097a03acfbca33308c9940ba26d02674f4ba06311cf3a1718'], + }), + ('pryr', '0.1.6', { + 'checksums': ['68c1a30a42808eb01a64d31e521d21f2fd5a88dd2c14d05b4b7986d27a177704'], + }), + ('moments', '0.14.1', { + 'checksums': ['2ed2b84802da132ae0cf826a65de5bfa85042b82e086be844002fe1ce270d864'], + }), + ('laeken', '0.5.2', { + 'checksums': ['22790f7157f23eb0b7b0b89e2ea53478fb3c0d15b5be8ad11525d3e6d5626cdc'], + }), + ('VIM', '6.2.2', { + 'checksums': ['afa7492c54508c46eff39ac66fa4b05627e0044253ebe4a61b2a78d459f715e4'], + }), + ('smoother', '1.1', { + 'checksums': ['91b55b82f805cfa1deedacc0a4e844a2132aa59df593f3b05676954cf70a195b'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.5', { + 'checksums': ['7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84'], + }), + ('ggbeeswarm', '0.7.1', { + 'checksums': ['f41550335149bc2122fed0dd280d980cecd02ace79e042d5e03c1f102200ac92'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.7-2', { + 'checksums': ['0f01ed07cbc9e55dfcba27040a3f72237fb2fb86eda899472c2f96500220ecae'], + }), + ('WriteXLS', '6.4.0', { + 'checksums': ['644b90a82683c668b6e05bb4f940111a42cd634f63a5b559351e8cd4274a19b7'], + }), + ('bst', '0.3-24', { + 'checksums': ['64d96e13551d35ec32aabaa733bec86dbe8c9ca3f976a34ebbf1f49bb63e49f4'], + }), + ('pamr', '1.56.1', { + 'checksums': ['d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779'], + }), + ('WeightSVM', '1.7-11', { + 'checksums': ['498f2d1d8329b7309b373c18afcdad8ed9d3d54169f310de3264a65364406e69'], + }), + ('mpath', '0.4-2.23', { + 'checksums': ['1608215dd7826dde0cb7c8890375568d286270024d52f01cb12c9402c817ed99'], + }), + ('timereg', '2.0.5', { + 'checksums': ['a0d1ddeaf6962c7f48e213430ec838cf8e880a6c41571e4c2e864d070f84f7ef'], + }), + ('peperr', '1.4', { + 'checksums': ['0a44f40cfeb298cbe990dba0d9c979070d7a8659581dea09dd3238526fb59f39'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.15', { + 'checksums': ['d602d55313fe7c675109153d6ed3b99bdba5292e1deefed71d5a21e0db595cc7'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.16.0', { + 'checksums': ['ec2fd09c31a2a93292d87a9bd5bfc261840de941dfded79d6c2fe87116708466'], + }), + ('RInside', '0.2.18', { + 'checksums': ['805014f0f0a364633e0e3c59100665a089bc455dec80b24f04aaec96466cb736'], + }), + ('limSolve', '1.5.6', { + 'checksums': ['b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0'], + }), + ('dbplyr', '2.3.1', { + 'checksums': ['e192059e923abcb39fcebc52a18cb3ba532cb50d2963c6d25435a0ec00b4ac28'], + }), + ('modelr', '0.1.10', { + 'checksums': ['9345a6e86363181e369c5e9de190fcab62d05e284fc65f1c4d30acfbce6a0f63'], + }), + ('debugme', '1.1.0', { + 'checksums': ['4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1'], + }), + ('reprex', '2.0.2', { + 'checksums': ['a85b16e26112364a65c886efea050df08c17aadf1411fd14ec27d9ef13e87092'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.3', { + 'checksums': ['a465ef7391afaa3c26eebe8c61db02314ac04c4d8de5aa53f090716763d21c1e'], + }), + ('dtplyr', '1.3.0', { + 'checksums': ['1bbcdda7e1708c2ca1e592e487affc54143ca24f86e28ae5e98b07de5cf680f8'], + }), + ('gargle', '1.3.0', { + 'checksums': ['428ffc49e39907b366d5c79b0065042522efcbced761d980a641c38b2ad48d0a'], + }), + ('googledrive', '2.0.0', { + 'checksums': ['605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.0.1', { + 'checksums': ['284ecbce98944093cb065c1b0b32074eae7b45fd74b87d7815c7ca6deca76591'], + }), + ('conflicted', '1.2.0', { + 'checksums': ['c99b86bb52da3e7d1f4d96d70c77304d0434db5bd906edd8d743e89ac9223088'], + }), + ('tidyverse', '2.0.0', { + 'checksums': ['3d3c2d135056333247d309d1c2cc98cc0d87e2c781f4c6fbceab28d28c0728e5'], + }), + ('R.rsp', '0.45.0', { + 'checksums': ['a58046d448b2fca15fb1bf5b5eec4da37b29175270c07e46d740066537435da4'], + }), + ('gdistance', '1.6', { + 'checksums': ['3ddb02c5ca0477b9c9d96988451381d2d64b06869adb4e7f20da616819d55fde'], + }), + ('vioplot', '0.4.0', { + 'checksums': ['5729b483e3a4f7c81d2cc22c8bc5211b64e289734e9da5b5696c4974067867b5'], + }), + ('emulator', '1.2-21', { + 'checksums': ['9b50b2c1e673dbc5e846a4fa72e8bd03434add9f659bde6d7b0c4f1bbd713346'], + }), + ('gmm', '1.7', { + 'checksums': ['194075a3e644ca449a60f4e00c37cce457f4d08ed7229aa62b479f7f8c148f8a'], + }), + ('tmvtnorm', '1.5', { + 'checksums': ['1c7a606bdce4319a6fdb4180fef499c293df3412d8583e296869521ece5460fe'], + }), + ('IDPmisc', '1.1.20', { + 'checksums': ['bcb9cd7b8097e5089d1936286ef310ac2030ea7791350df706382ba470afc67f'], + }), + ('gap.datasets', '0.0.5', { + 'checksums': ['2299b52efee322ce0eaf66c66ae440f46618b647701cd741568c08bdc3111c9c'], + }), + ('gap', '1.5-1', { + 'checksums': ['0d4d37045f5712ebd010cad0617f8e88a021b15fd25d899e4ec222af74e313dc'], + }), + ('qrnn', '2.0.5', { + 'checksums': ['3bd83ee8bd83941f9defdab1b5573d0ceca02bf06759a67665e5b9358ff92f52'], + }), + ('TMB', '1.9.2', { + 'checksums': ['041426e94bf33c6b5130f9da9e05de130aa6951cce19dc99171fb36efc50e54f'], + }), + ('glmmTMB', '1.1.5', { + 'checksums': ['334b4755c0b93ade9a0b4419cc41c7d30ee76090124e34112015223a28c008fa'], + }), + ('gmp', '0.7-1', { + 'checksums': ['a6873dc65218905cb7615cb8e2522258f3740e29c0632473d58a1cb409835db6'], + }), + ('ROI', '1.0-0', { + 'checksums': ['b0d87fb4ed2137d982734f3c5cdc0305aabe6e80f95de29655d02a9e82a0a341'], + }), + ('Rglpk', '0.6-4', { + 'checksums': ['a28dbc3130b9618d6ed2ef718d2c55df8ed8c44a47161097c53fe15fa3bfbfa6'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '4.2.1', { + 'checksums': ['4b12060be94ecd3b6fc7d0c5e2b5b332d14971caac67edeec9651200af066879'], + }), + ('qgam', '1.3.4', { + 'checksums': ['7633120a48a85ab73f7e1bc8b02c98319285c2abd05f9d13d25339d7aaaacacb'], + }), + ('DHARMa', '0.4.6', { + 'checksums': ['32fd3d5cd354ff6b5457599d7fb870b94c7d86401a47c7c553bca26f782a4b73'], + }), + ('mvnfast', '0.2.8', { + 'checksums': ['8871e0ce54b87afc556fd94ca77c3db72dcbb8c245558287e0fe342e30eec9a0'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.8', { + 'checksums': ['f543bdd6b61ec7fd31a7e4040bd7835341d9079243fa4eb0cd5e684e5e39bdd1'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.2', { + 'checksums': ['9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5.3', { + 'checksums': ['14cea5447aaee391b363efc50750b80856262c02407999f428c2513705f9b3e6'], + }), + ('Rssa', '1.0.5', { + 'checksums': ['475819636afb330a4467722b0a664fa54d6114d782b681f681ccb123f3be522d'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.32', { + 'checksums': ['23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1'], + }), + ('DistributionUtils', '0.6-0', { + 'checksums': ['7443d6cd154760d55b6954142908eae30385672c4f3f838dd49876ec2f297823'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-25', { + 'checksums': ['e140881e2febe793a24086a2d179062b9995db901257d678f85d220441400e89'], + }), + ('Matching', '4.10-8', { + 'checksums': ['54412e2ddd1f5eeb189ffc653e4d3ead3e2f9c5c4fe516cfb1966abf69ada49a'], + }), + ('MatchIt', '4.5.1', { + 'checksums': ['961e6debea443179fb196581e0783ce05215faa4115e3f5e1cff89eb82b0c7e0'], + }), + ('RItools', '0.3-3', { + 'checksums': ['2a08e2d2ea3abf5fad89c65fdba1d78dd5f4bd12f980436964fe535554d331d5'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.1-1', { + 'checksums': ['05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52'], + }), + ('rlemon', '0.2.1', { + 'checksums': ['4a18fa034f197c68daf48daf25c0e41f1b8acbe71d030c6bc1f55e3062a10375'], + }), + ('optmatch', '0.10.6', { + 'checksums': ['2b7661567fdfbdb39dae3779b4b7dea2b9eb759d3117311b3a7936b10cce1d35'], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('RSpectra', '0.16-1', { + 'checksums': ['cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a'], + }), + ('SKAT', '2.2.5', { + 'checksums': ['1441fa46b6a78a060007442fb8cb8c87753bdc2b1ea2dc24ff951ac3fef651f4'], + }), + ('GillespieSSA', '0.6.2', { + 'checksums': ['f4233b4a44c7d4b9e3459b1efa9a8087a602ef93806b4d70eadbb537b67567c2'], + }), + ('startupmsg', '0.9.6', { + 'checksums': ['1d60ff13bb260630f797bde66a377a5d4cd65d78ae81a3936dc4374572ec786e'], + }), + ('distr', '2.9.1', { + 'checksums': ['82b790a90bd40025c7ff8ccc7da784fa967015fc015874f6b209088d0bd01a5f'], + }), + ('distrEx', '2.9.0', { + 'checksums': ['087d1847ad400141b5e0fd0858ef3e5c698b3018d7e2d33087be601a5740fb35'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('RcppTOML', '0.2.2', { + 'checksums': ['371391f9ca82221e76a424082ea9ebc5ea2c50f14e8408469b09d7dc3e6f63aa'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('reticulate', '1.28', { + 'checksums': ['58a299ed18faaa3ff14936752fcc2b86e64ae18fc9f36befdfd492ccb251516f'], + }), + ('umap', '0.2.10.0', { + 'checksums': ['8d4786929345e8980bb8be8bb4b6300a679bba03a5984eed59e5e00c626b6ea9'], + }), + ('KODAMA', '2.4', { + 'checksums': ['78f2ea3596f3697fc06a080947e82a54c5270ed90f86916b91902e5db6ec85e7'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-3', { + 'checksums': ['474d3530b16b76a1bf1a1114d24092678ea7215fa57c6fdcee6333f1e768b865'], + }), + ('dtw', '1.23-1', { + 'checksums': ['6ed6a3b52be673ce2617b8d48723c7c488c95aab88fe2912d7e00507838e826d'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.4', { + 'checksums': ['2bf71c2034804cec637e6748dc51d8cadad01d3ea4d14ace754327f082e8d851'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-8', { + 'checksums': ['f3c72310f40773b3839a9506c3cb781d044e09b94f2f38d332bb24e5f9960f5a'], + }), + ('hdf5r', '1.3.8', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['b53281e2cf57447965849748e972de2f7fe8df0cee3538ef5813c33c7ed2302b'], + }), + ('DTRreg', '1.7', { + 'checksums': ['f0fad2244d960cec8fc33d9a1078df359ceb0aadff980ce6149aa9f01c62223b'], + }), + ('pulsar', '0.3.10', { + 'checksums': ['d464979af605cc16ff629f7b85e09a5dc005c60fd30f098588fd834b6acfd407'], + }), + ('bayesm', '3.1-5', { + 'checksums': ['f223074ca41ede293b48350eac77a565e034f0f8cf3dd72d0e1d126cc58047a2'], + }), + ('gsl', '2.1-8', { + 'checksums': ['f33609bf485abd190e65ff5d0fdab438b759294c47b921d983d89d6f053a2d95'], + }), + ('energy', '1.7-11', { + 'checksums': ['c29f8fb000c979d2504f6f6d3a99c773004f77d58793e7e2a5766155272b6511'], + }), + ('compositions', '2.0-5', { + 'checksums': ['a1b84b23f3fa5d7793318a6b6ad44f50b9653efccfb753a5952ccb11d1662c5a'], + }), + ('clustree', '0.5.0', { + 'checksums': ['a87f65dc0489af77807ed27de67e905699f21f50bcfba6a84353b9a846a84ac1'], + }), + ('tweedie', '2.3.5', { + 'checksums': ['983c745fee5a780d46e8dd04c2eb1c10cb2e222d3679654f0d6934d3db7b1c3e'], + }), + ('RcppGSL', '0.3.13', { + 'checksums': ['fe5e73bc119c6424e1a40b6fea17417a7bba93e81dbe9b7cf86dde9b8e8d93e7'], + }), + ('mvabund', '4.2.1', { + 'checksums': ['ed6946c95609443584081100cd38624d2309f7f5d210fd4b8ec12ad25bd27a06'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('alabama', '2022.4-1', { + 'checksums': ['a8c62859b39a8340ecf7bbf411fac303c059e4237d28ff7bba9ba3daaca1d36c'], + }), + ('gllvm', '1.4.1', { + 'checksums': ['36f50697e3f38e008f0db8c2980db6fc6a736985573952cc23769d55fbb321d1'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.9', { + 'checksums': ['7b52ecf3f1174f771fe24e62502be6d31acc3e48a12473e35ad0a89fc2517811'], + }), + ('ergm', '4.4.0', { + 'checksums': ['2db152cc7fdd71d6f0065603405f30bf5e206591da39b8f542178ec6d6126173'], + }), + ('networkLite', '1.0.5', { + 'checksums': ['aaab55d4f8f0b330fe7c1ecbab3c44746c52c2fda99c53c6b46042bb8775718b'], + }), + ('networkDynamic', '0.11.3', { + 'checksums': ['2c664fd0d85c0cdc099480d67a18e6afbb0cc1036963b6664a8a756874648e5b'], + }), + ('tergm', '4.1.1', { + 'checksums': ['51cd845ab0dacaba34fcb4b1f04e540eb7a6d0e7be001809625c0a5b1ca45d25'], + }), + ('ergm.count', '4.1.1', { + 'checksums': ['446893614ad8b41aa39c37c2bf45a167f575536bb6778b8ad1fbcddb7b934932'], + }), + ('tsna', '0.3.5', { + 'checksums': ['4ee2f773d573f0f4bd93131156fdccf01d7f1a3f725eff3e885021098c6bff65'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-7', { + 'checksums': ['b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260'], + }), + ('MCMCpack', '1.6-3', { + 'checksums': ['cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.2', { + 'checksums': ['7210c97fc864e78ea8502067359d642bbd95bf2df30d33da193fc5c004e45baf'], + }), + ('asnipe', '1.1.16', { + 'checksums': ['be50f9fdef0f4bf9676b9c3c2906d0431afc678af55cf48b1119f9fc0adac44f'], + }), + ('liquidSVM', '1.2.4', { + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + {'liquidSVM_1.2.4.tar.gz': '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba'}, + {'liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch': + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8'}, + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.40.0.1', { + 'checksums': ['15b69544c90e482c3c1064886742ca1c0df102db64a698a7ed4976993d83c1e0'], + }), + ('mlegp', '3.1.9', { + 'checksums': ['63296d17a162fdce0958b10f45cb7d5dab4b3ee29340528d33cedcae08a040b3'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.5', { + 'checksums': ['417055a03b02ad8359cf1bdc8f89d49531a3a8ee2c98edf90c8a01432f44838d'], + }), + ('bartMachineJARs', '1.2.1', { + 'checksums': ['9f7a20acf4aec249e16f83d81f5ec796aa718deb1b8bc24393fc0421eb8ce1c0'], + }), + ('bartMachine', '1.3.3.1', { + 'checksums': ['c4b27af602b019b7d0d933a8efd30b45db11f423a54cc8e178e0285aee72c65f'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.11', { + 'checksums': ['c63a6453783865b7c69c580a09a769e99390dd8b2e0f63e48fbfc86da3bee4b7'], + }), + ('GUTS', '1.2.3', { + 'checksums': ['40061ec1677def40b410b5ef90d01e0bcb0095abed1545513a33a01d4444adc2'], + }), + ('GenSA', '1.1.8', { + 'checksums': ['375e87541eb6b098584afccab361dc28ff09d03cf1d062ff970208e294eca216'], + }), + ('parsedate', '1.3.1', { + 'checksums': ['1fc31ab9813b61680abf4f4c2705b8f484d56d1d3ef256df84b342b628b6d1b1'], + }), + ('circular', '0.4-95', { + 'checksums': ['483d3e31e9c7afe59e6bcb98ad17c4f6333d19b6c70f948b168c9ee16e90bce2'], + }), + ('cobs', '1.3-5', { + 'checksums': ['7fae7da8f940975d544120c836e2d3b874f9b0cbab9631851ce986709f51c611'], + }), + ('resample', '0.6', { + 'checksums': ['1b958009b18c92a47971847c782af76952ea4e85d5f1e3e1e70fa35c67b95265'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-7', { + 'checksums': ['d28107a4bbbb0ace1d571f0aa6884ee4c50d7731c04bceba207fd55a39b83b9c'], + }), + ('Rserve', '1.8-11', { + 'checksums': ['9dfb1d68493f8cee5d2e12a1bfa604404834e11809f4c908d65b9100a9af1b85'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '8.0.0', { + 'checksums': ['38e75b1ebc8b2d1c54b3373a42529b819c7b4773fd4932f57bc9701d1e3e3dc7'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '1.5.0.2', { + 'checksums': ['4772c352e8d3d9b5a0b7480c0e0962de4f5060fb7bf3fcb8ee4fa1cb10f93fd4'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.17', { + 'checksums': ['6d8c514fa179f8a48c2105b551a8a08e28ea4375d06150a4b8ab4ccda577daf5'], + }), + ('BCEE', '1.3.1', { + 'checksums': ['dfd896250cc6b8cc83fafaeea57da5bc9dc49ce7475da2ba54484c2efb7a477b'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-64', { + 'checksums': ['f45cb7a84c87ddca2b9f7c2ea9505016d002e6fda23322e6d57466c7a4de28af'], + }), + ('bdsmatrix', '1.3-6', { + 'checksums': ['f9c871d54378408902931792b3dbf8bda863d6aa67af6a0472a6ec1c420760bc'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.22', { + 'checksums': ['7b01a2e05f3bcccc426d8175b289255a8c2976ea8ab0e20eec18d442d2c9d015'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.2-1', { + 'checksums': ['37038a9131c9133519f5e64fa1a86dbe28b21f519cf6528503234648a139ae9a'], + }), + ('sampling', '2.9', { + 'checksums': ['7f5ba5978f6cdbbbdb6f51958197b28b6fc63e7eeee59e6845ea09fb37d1b187'], + }), + ('lda', '1.4.2', { + 'checksums': ['5606a1e1bc24706988853528023f7a004c725791ae1a7309f1aea2fc6681240f'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.1', { + 'checksums': ['ba087565e9e0a8ea30a6095919141895fd76b7f3c05a03e60e9e24e602732bce'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.3', { + 'checksums': ['f755808fcb618582acb862729b20e267d9c2214f22e6e7a0c8d29073d8faa7b8'], + }), + ('bbmle', '1.0.25', { + 'checksums': ['86a8c69902fbf6caf337f9bc532afe89dc2a59dd24287a2423d781797010b255'], + }), + ('emdbook', '1.3.12', { + 'checksums': ['0646caf9e15aaa61ff917a4b5fdf82c06ac17ef221a61dec3fbb554e7bff4353'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.5', { + 'checksums': ['3a9ffe38f7835bf9008cb3f2fbe01208f17130f4b1ca9ba19f97dc240ccf7aa1'], + }), + ('tictoc', '1.1', { + 'checksums': ['120f868ba276bda70c8edef5d6c092586cf73db0fa02eb5459d8f55350fb474d'], + }), + ('ISOcodes', '2022.09.29', { + 'checksums': ['4bae4fdf661a1c29694f9702240b84c933518ef70e66312cbaddaf35562d4fe5'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '1.0.0', { + 'checksums': ['b4c32ee1395ee4a8efe714c535c0fe578b0dbf5f3bb85b41fa5cc87569b8e8aa'], + }), + ('SnowballC', '0.7.0', { + 'checksums': ['b10fee9d322f567a22c580b49b5d4ba1c86eae40a71794ca92552c726b3895f3'], + }), + ('tokenizers', '0.3.0', { + 'checksums': ['24571e4642a1a2d9f4f4c7a363b514eece74788d59c09012a5190ee718a91c29'], + }), + ('hunspell', '3.0.2', { + 'checksums': ['5ea25955f76cc275e56424c8ac0700d1cb1f5c21c7f8d61c25fa740d731a324e'], + }), + ('topicmodels', '0.2-13', { + 'checksums': ['7d6106a68482b65aed821d558c782f4a10664e98b46b1606622d96ca0f05bc9a'], + }), + ('tidytext', '0.4.1', { + 'checksums': ['526750a2cc8ac7b65be1093f4c9186aa27f0a22f00023a6d6b3b878e1310c815'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.2-0', { + 'checksums': ['a102a2d877e42cd4e4e346e5510a77b2f3e57b43ae3c6d5c272fdceb506b00a7'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.3', { + 'checksums': ['6b3910dc48495439cd01828f8999823864a6712f73560ee3e6c903065c67d1e4'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.3', { + 'checksums': ['38760abd8c8e8f69ad85ca7992803060acc44ce68358de1763bd2415fdf83c9f'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('loo', '2.5.1', { + 'checksums': ['866a2f54a4e8726cc3062e27daa8a073e6ac4aeb6719af7845284f7a668745f1'], + }), + ('RcppParallel', '5.1.7', { + 'checksums': ['f9c30eb9ce1abffc590825d513d6d28dcbe970e36032dd7521febf04e905b29c'], + }), + ('StanHeaders', '2.21.0-7', { + 'checksums': ['27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b'], + }), + ('V8', version, { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['50653527198637a37c010052f394839f50a3c643975aac1d04e42d36f8e5313b'], + }), + ('rstan', '2.21.8', { + 'checksums': ['b2d4edc315419037970c9fa2e8740b934966d88d40548152811f3d4a28475075'], + }), + ('Rborist', '0.3-2', { + 'checksums': ['46ce30cda4d0554e61405ea211cefa06a72762e8078662e369df9f18bdb7a98b'], + }), + ('VSURF', '1.2.0', { + 'checksums': ['c027b1e19762f1eaf4a559c2592f3530210fefd21ee3d7c787c73b776c683393'], + }), + ('mRMRe', '2.1.2', { + 'checksums': ['a59a3cb3cca89f51d9ee6702cd479fd7db8bc2e25b72f45cb6712da983777ca0'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '3.0.0', { + 'checksums': ['8901316516d78f82a2a8685d93ba479424bcfd8cb5e28a28adbd50e68964e129'], + }), + ('ggsignif', '0.6.4', { + 'checksums': ['112051af425a0c0f2998ce187dacad066bc16f55af01e3e7b76d62ff6954b20a'], + }), + ('corrplot', '0.92', { + 'checksums': ['e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd'], + }), + ('rstatix', '0.7.2', { + 'checksums': ['e0c6f5ab1d9c5d84713defabc5d149aad3d55944cffdb903cc128b694e5221a1'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.6.0', { + 'checksums': ['2e6ec5d8151991d17ef8832259cf545fa0d1a50b326ba8c1c4657700171df774'], + }), + ('yaImpute', '1.0-33', { + 'checksums': ['58595262eb1bc9ffeeadca78664c418ea24b4e894744890c00252c5ebd02512c'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('patchwork', '1.1.2', { + 'checksums': ['dab9d5d2d704d591717eaa6efeacf09cb6cd7bee2ca2c46d18414e8503ac8977'], + }), + ('leiden', '0.4.3', { + 'checksums': ['6a464b4b860e621749b3b701bb7ceb07e23c1a36be241c3e13b18105eb980938'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('packrat', '0.9.1', { + 'checksums': ['414013c6044d2985e69bbc8494c152716b6f81ca15b329c731cfe8f965fd3344'], + }), + ('colourpicker', '1.2.0', { + 'checksums': ['bc2c80eee046219038baef9f8f213c9824d7fec7f893f6a1b881dd44b4a8638a'], + }), + ('ggExtra', '0.10.0', { + 'checksums': ['dc6855bbb7e81ffa58d6b65b594d22718fa36b7f50b2284386f70fa8ccc6a3e5'], + }), + ('findpython', '1.0.8', { + 'checksums': ['0f8a90cbafd4949c0333a86808383a358fb7ec3268953d8a4887d5d22264cdb7'], + }), + ('argparse', '2.2.2', { + 'checksums': ['b62c9bf5e6ca35fb7a2e614a916815c04cbf6c6db3f89f99b4df76470a4a856d'], + }), + ('intergraph', '2.0-2', { + 'checksums': ['6cbe77f1e87fa1c110db2d46010f2f3ae72bfdb708ce2ca84c1cdc2cd6eb47a1'], + }), + ('ggnetwork', '0.5.12', { + 'checksums': ['74368662c1a225cdefc8addf606b398f14dafeff03faac56c15aa5e14819e9cd'], + }), + ('qqman', '0.1.8', { + 'checksums': ['58da8317df8d726d1fde4805919da5d64f880894a423ee20937cafb479b9d8a8'], + }), + ('rstantools', '2.3.0', { + 'checksums': ['937e2de6ac80214dccd90c09b26ebcf366c4b55adc84837a6fbb137ebb13822d'], + }), + ('distributional', '0.3.1', { + 'checksums': ['727e56cbcf0c8a8adacca8030214ddbd14f68ee28d0aad716467bd68b027235f'], + }), + ('posterior', '1.4.1', { + 'checksums': ['2b8953fa8d6890a105521023c431ddea725465eb95cf9454a88852e43ebb58d3'], + }), + ('bayesplot', '1.10.0', { + 'checksums': ['bb4cb92b1ae4cf8ae5f4b5cb092aba34af3d820d137e1f2265cca8f3e85113ff'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('rsconnect', '0.8.29', { + 'checksums': ['852899d2aaf90bcedf4d191a9e00c770e8ee4233235169fc97e6aa636de01c43'], + }), + ('shinystan', '2.6.0', { + 'checksums': ['a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529'], + }), + ('optimx', '2022-4.30', { + 'checksums': ['ebe9887a22296cf4b2db07981aaa1f898bf7c17fb61a4b398c228d4077d0b410'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('memisc', '0.99.31.6', { + 'checksums': ['52336b4ffc6e60c3ed10ccc7417231582b0d2e4c5c3b2184396a7d3ca9c1d96e'], + }), + ('mclogit', '0.9.6', { + 'checksums': ['9adc5f6d8649960abe009c30d9b4c448ff7d174c455a594cbf104a33d5a36f69'], + }), + ('projpred', '2.4.0', { + 'checksums': ['6f01bb7f1ddbda92ea0fc44e5596f3885f1ac326f4e88abb0f0cd7fcb71edeb2'], + }), + ('brms', '2.19.0', { + 'checksums': ['0e146842c7acfcc6b8273df536eabb5279fb3bf2ae27ce1696f7d838d94fe5c1'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.7.0', { + 'checksums': ['36e086a10be6b1d348052cca0bc2d4ba5335635386f79b2b3b025a128316bfb8'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.2.5', { + 'checksums': ['a54f49f42d30a7a69eb6c3db00d3cd2e1f8e549aec28fa5487fcdd27a37f87fe'], + }), + ('maxlike', '0.1-9', { + 'checksums': ['632fb15dd21a75bb95c7473ba4fe2ed58bc1b2f1401da65c6df348599b2f655f'], + }), + ('coxme', '2.2-18.1', { + 'checksums': ['aef691d74ee75095c43d7b6ab27e01641382cfb349a8eefad972c745ac0531f5'], + }), + ('AICcmodavg', '2.3-1', { + 'checksums': ['d0517da15a38e9b1df20fa73f5342b586624e65792d266e7dff278ad7fc458b0'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.4.0', { + 'checksums': ['f540de066de5538e303cd535cbd2e771b40474bc2c6e8d08a4894a868543ee33'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.7.5', { + 'checksums': ['a97aa8d42fc7d094542b6835d7fe818eef64f5ffac3604be1eda3d0d9422d1de'], + }), + ('rgdal', '1.6-5', { + 'checksums': ['0c7aa3a52003ef53d6a6a3e72ea55b9ed21453ca9bf754cd12763dd85d2c1d64'], + }), + ('rgeos', '0.6-2', { + 'checksums': ['2ee2bb8b0c20d7908ac55d4d1cf8292c624ab836e02599ce1871a249a59fe0af'], + }), + ('mapproj', '1.2.11', { + 'checksums': ['db2d201cc939de26717566066bf44225a967ccde6fc34731af845f03c086347d'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.2', { + 'checksums': ['2de9a3ec33a213c7592b49cca1d510a25aef0625369376d9b1b4e5d0da519226'], + }), + ('ridigbio', '0.3.6', { + 'checksums': ['c019dd266aa1334c41430db95361a7b1b911a6793d692b35cd2dc1894232f560'], + }), + ('spocc', '1.2.1', { + 'checksums': ['208f2897d6118012780d083a02ec7f30c0bb580e9535c2ed79f5b7e736790277'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('rangeModelMetadata', '0.1.4', { + 'checksums': ['529d529ca90437db3d1e45118443e27a920422806383c7edaa2102beb43f5f80'], + }), + ('ENMeval', '2.0.4', { + 'checksums': ['6d9f3c460fa7ab3131cede904fcb9280cf69f4fdd43f67115a3abcb8ed5b64d1'], + }), + ('plotmo', '3.6.2', { + 'checksums': ['cde33a8ec558b12d8e11d7d0531e73f6678a25ee589b79897d2fc425a3fd353c'], + }), + ('earth', '5.3.2', { + 'checksums': ['c844d75edf9a2706a911bb05ed4287aad9acf6f3fed357e037763a300eac0bea'], + }), + ('mda', '0.5-3', { + 'checksums': ['bda6409c17f385fae97da458cc742334e7b47aab8217a975b7551e2e18d38463'], + }), + ('biomod2', '4.2-2', { + 'checksums': ['9be863811589ba4ac50f57a6879c9efe4dd52d52f533265b5d2e829d4705231a'], + }), + ('poLCA', '1.6.0.1', { + 'checksums': ['ed8c60a42bff0402c9ba2f9ce1422dd171e711c1a64498c4d96010ddb29f6b16'], + }), + ('PermAlgo', '1.2', { + 'checksums': ['aa2c774d6c6dcfeec882c1936e8723ef49bd36030fb10c17ca60bb9d4a519443'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('fasterize', '1.0.4', { + 'checksums': ['44efbde363345c7fc494599392ff538eaef8ffcc8cae48d78350b5eea3887db2'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-3', { + 'checksums': ['56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-1', { + 'checksums': ['e8abadc5614f132edc3fb9cb1c82ce4dacc1315b727fbd49db7399aee24115ba'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.16', { + 'checksums': ['fab573abdc0dd44e8c8bc7242a1428df20b3ec64c4c194e5f1f907393f902d01'], + }), + ('dbarts', '0.9-23', { + 'checksums': ['e1ac65fd89c321895d4f0e77d9cd8dcda5f1103485008afd4e19e6c9137557a3'], + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.2.0', { + 'checksums': ['26fcfbc79810f23a28389a5ce5519e6ddc2470c5e924ba8cf4dd19a1b0fd9f83'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-8', { + 'checksums': ['28b10c91d693b938ebca610933889095ca160b22e6ca750c46103dfd2b009447'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('readODS', '1.8.0', { + 'checksums': ['11d4fc5c1b8685cae594b5a0d70ea782a93befa134514786254f8f6a77baafc9'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.7.0', { + 'checksums': ['09a6f0d5b60856c7298371e4a8a085a1db7abf0e71ccb9a2dc9ca24248fb5d81'], + }), + ('outliers', '0.15', { + 'checksums': ['cc31d7f2faefd2c3a27f8ce78c7e67d3b321dcd6690292fad2468125e5e635fb'], + }), + ('elementR', '1.3.7', { + 'checksums': ['4275f88f372a2efe96ccd0afc20f4f12be92f28c7db35c68b80bb0ffb2c2ab07'], + }), + ('gWidgets2', '1.0-9', { + 'checksums': ['d4d9ef7b2788efeb8209aa8dd610af4cd86286392fbdf9ea70bcfeafda95d4c5'], + }), + ('gWidgets2tcltk', '1.0-8', { + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + 'checksums': ['10399cc636eeeb5484c3379970c37c56df10d979bf866a35b66d0c75b7222c0a'], + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.9.0', { + 'checksums': ['7de6e8ddf05d3a8d105ddfa69732e94a1045180f8c86cbb0659c67e7e1a45c31'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-5', { + 'checksums': ['b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-3', { + 'checksums': ['ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.2', { + 'checksums': ['53b4e20cbb57615970c572fc4e7a780a510bde8b5deadec3880095f6e17a6328'], + }), + ('lmom', '2.9', { + 'checksums': ['363e62751a73e0870fd0206206f1743a884a23aeac9b31b9afc71c0a1b51bb90'], + }), + ('gld', '2.6.6', { + 'checksums': ['ea23e9781207b5d47ed04e4d5758d9652cab5d1eedcf9fbc9c2ee4d3babffdc4'], + }), + ('DescTools', '0.99.48', { + 'checksums': ['dbe058c0ae9ad15ed07cab4baf690f315ec73e5274ddcc6dae9f33b49f4eb62b'], + }), + ('orthopolynom', '1.0-6.1', { + 'checksums': ['ec4a6ed266532f2f6d37a4ca6bd1b74c1df28a8c2caeab60e5d6af15bdbfe2c5'], + }), + ('gaussquad', '1.0-3', { + 'checksums': ['a3337ce52bc53435cb4565a38bf48b72b384be397d2e86bb66f62973004dc810'], + }), + ('nlsem', '0.8', { + 'checksums': ['495a5d07aa5f59efdcd43acf429ae842453abd6c0720a80e2102d663fa997c60'], + }), + ('tableone', '0.13.2', { + 'checksums': ['b1cf15579abd4240e24435d2d9aad255c839d2a0293e28cb2eef0c808c4727af'], + }), + ('jstable', '1.0.7', { + 'checksums': ['a8f66172973dc75d1d751d7015e0f028c441263f6649909bd25fa944be0042c3'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.3', { + 'checksums': ['208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-5', { + 'checksums': ['027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5'], + }), + ('blavaan', '0.4-7', { + 'checksums': ['43577264a1faff3cf98fce2c03b729816b40a82d36846458b8026b62da3008c3'], + }), + ('mathjaxr', '1.6-0', { + 'checksums': ['ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179'], + }), + ('metadat', '1.2-0', { + 'checksums': ['f0cce5e30c3d256eaf5a41e4f52ffc7108e195016a4b99409e0ab4c2ef58f5b8'], + }), + ('metafor', '3.8-1', { + 'checksums': ['d694577f954144d8a5eeab6521fe1c87e68ddf9ecfd7ccc915d01533371b0514'], + }), + ('RNifti', '1.4.5', { + 'checksums': ['a277a849cdfeba3a104fd4ac2764c655d5cf8a71d8e64fa212d359fe60934628'], + }), + ('oro.nifti', '0.11.4', { + 'checksums': ['efe4f5d2c2e37ff6c3e9250f54ef775e4d452c1334f781f22f219ed53148b606'], + }), + ('fmri', '1.9.11', { + 'checksums': ['e5eb14829fd2750eff65641caab7e8229b4d98650a61b48cedd436ab2411931e'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.6', { + 'checksums': ['4f28ae62748654cb6f90e1ffa17b05bb8b89eb6a20262d9c5d39cb862f71dc91'], + }), + ('DEoptim', '2.2-8', { + 'checksums': ['631eabdcf26ec25a759651f699db1971beca3ae193c7fbd1c63a78248fdbf54c'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2022.4-1', { + 'checksums': ['61c06e6bd6b43c295472c6990266fe87ca41e57db04d3460e756a35ef24e0824'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2022-4.30', { + 'checksums': ['2684b8e7fb970da2afbc00e482031cf4447416249d04c4c1740400ad112fb911'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '2.0.2', { + 'checksums': ['430cbc18f17db11a7941e6a8274a0eefbb8a6b0bdac8800970530d60d5881fde'], + }), + ('miceadds', '3.16-18', { + 'checksums': ['dbc56cd2b20aaaaa69ea28c15cfd61d48d072fe9c0dc8e392c81a569e280cf75'], + }), + ('visdat', '0.6.0', { + 'checksums': ['104acdbb9d41167b861ab24de0e1e1e14f61c1b476bac112fcbc6e47c157e598'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-10.0', { + 'checksums': ['4384791af74c1008238f036abe0dda4b4048b9700cc4acd7b45025598fd20cc7'], + }), + ('naniar', '1.0.0', { + 'checksums': ['c2eda97de603e2daf4c1c5d12f9c9a65635910833a3c669e08e344e90d9394f4'], + }), + ('stringdist', '0.9.10', { + 'checksums': ['6fd42e0b7ff25843ca7f45acf9a183facfe14a6cde2dc7a97ef7126ab0f06ce8'], + }), + ('image.binarization', '0.1.3', { + 'checksums': ['ecc844bdd9bf15b88ce1e1afc8321c177bdc8ec32618c22102b1e8b02b36e00e'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.11', { + 'checksums': ['373cfb1e79174b568dac254fab02d99bf79b830218bf18f0cc592af6fef853d6'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.9.3', { + 'checksums': ['5c8f37264b62ee3cbe61801e65d32dc143ea5365ce260f6b57b6145a5bfdf16e'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('admisc', '0.31', { + 'checksums': ['db385081c93f9d21adf4b8a8710ae0125a8dd01a87530b5051a3299997e0f4ea'], + }), + ('polycor', '0.8-1', { + 'checksums': ['f05f53e0b5c992de0e5b4c6b2e998148cf83310358821e1bba180d81face0509'], + }), + ('multipol', '1.0-7', { + 'checksums': ['0abe3c894c0d8e928a920e73708a397133386a0d73a1e7952c4075afe67879e6'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('rngWELL', '0.10-9', { + 'checksums': ['9969cc10be6d18155d2b2de93381c52e7f720c2b1b3f2554fa8bfa84ceb7cacb'], + }), + ('randtoolbox', '2.0.4', { + 'checksums': ['94da14953e4ffc7981d7a9398622082c4eda3bd9d912d1437b527d949da39e4b'], + }), + ('TruncatedNormal', '2.2.2', { + 'checksums': ['aef567e8962a64d1afbdfd98ab8f385f32966c3c42acb54ee20f02dceab18e15'], + }), + ('cSEM', '0.5.0', { + 'checksums': ['25ae115520aab7d916da9ded1f87b8519c4e15101c4adef2284c51eb03d81728'], + }), + ('cubelyr', '1.0.2', { + 'checksums': ['18b10f1fe561305a1e115a438460264b88b301b3e8c086b931500a798be39b94'], + }), + ('furrr', '0.3.1', { + 'checksums': ['0d91735e2e9be759b1ab148d115c2c7429b79740514778828e5dab631dc0e48b'], + }), + ('broom.mixed', '0.2.9.4', { + 'checksums': ['7631cd29316a32050b9e72057754e053d7f9064a75900bb7e69b29ebca6c60b2'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.2.1', { + 'checksums': ['49e3fb600b6f5f4469457a051749932fb401be39c0f6a87fa97350e5ac871f2d'], + }), + ('xgboost', '1.7.3.1', { + 'checksums': ['3ced2ca30efaa86a9e93bc28e5cd3cc6df93bd68a550751ecf3a9f488ea438a5'], + }), + ('twang', '2.5', { + 'checksums': ['fc355527c57e4f6e0f60d26d7c690c4475fcd5fb165d125fea7cc6b9fafc4ce5'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.3', { + 'checksums': ['5dc9d8bb4c0020b5e51a53a4fa71afa9adc6b907ea618b231f5cfc2877a49779'], + }), + ('origami', '1.0.7', { + 'checksums': ['b44034541ac358e0686682684c40e9a1de8d78c7913e56e4d3dbe41a2a55c62c'], + }), + ('hal9001', '0.4.3', { + 'checksums': ['f2489e7a0a16db6dc65da8ce13bfb7f0854e6f303c9ec05f6158d46c66b6588c'], + }), + ('cobalt', '4.4.1', { + 'checksums': ['4ea30c5a0e7d2940a6d7eaf927933b2d341a2e10dbb0f5fcd38eec34cb369fc0'], + }), + ('CBPS', '0.23', { + 'checksums': ['ed8fe09b642db459a516bdeb03a49e718a7d5ad915cbf82400029508efe9b32d'], + }), + ('SBdecomp', '1.2', { + 'checksums': ['0be4e1c9e8bed87fd1712e62346a97148a1a295ff56981e832921cc390006e5c'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-11', { + 'checksums': ['7fd73cf58981f9566d946bf63ed6575ea0c70634abeaf4e60ef9615040d63419'], + }), + ('finalfit', '1.0.6', { + 'checksums': ['c12be933408b0a8ec4962ebe5e9b404ef99a0b1eafccf7f646627458f4af4b9a'], + }), + ('broom.helpers', '1.12.0', { + 'checksums': ['bfb5d960367af1c4d04180345b65af4e3604345d4d6267af9445da72188c2a2c'], + }), + ('bigD', '0.2.0', { + 'checksums': ['bca9eb0c9a231b159b97650884b1a7a490bc3bf4edef11cc12db06fb15c6ff5f'], + }), + ('juicyjuice', '0.1.0', { + 'checksums': ['64f5418b2a4794b47f0525baaf101beb4f1374ea22f38d7d604f5118bdb6e12a'], + }), + ('gt', '0.8.0', { + 'checksums': ['5eb74e134101cc74b8764252b8f4693a19e58f670b2f286b35cdb4d0ad0de9f9'], + }), + ('gtsummary', '1.7.0', { + 'checksums': ['73ed05c4b7c62f3e5e7bb86c940d4a03d6b39f420a3582039a725b367a6336d0'], + }), + ('ncdf4', '1.21', { + 'checksums': ['2f5ae7def382c595c66b6ed0ea0529f8337108eb73de39939f9762f3fb21b30d'], + }), + ('geex', '1.1.1', { + 'checksums': ['a1aebb9f73ba8dfe26ee3dc7b0725ccb814b3db5358ba17e417bdfc7eb3e4143'], + }), + ('momentfit', '0.3', { + 'checksums': ['67cbee1edf4c3b8193e693e6511a0b9574af2bb6314aef92b24f8fbfee37da6c'], + }), + ('StatMatch', '1.4.1', { + 'checksums': ['0c5479c444cb831d21b6305fc4cdcdf2653723ff08a31427dc2b236ca4f25bc5'], + }), + ('stars', '0.6-0', { + 'checksums': ['49fde4f78d1a5e09e6746e700c2e323a5102d7be05f02675c10cc6852ed68b7f'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.2', { + 'checksums': ['3745e962592f021a3deaed8b2f6b99c4f7181f28e095300a96d1c2b08af4af2f'], + }), + ('geometries', '0.2.2', { + 'checksums': ['32d3063de0f8a751382788f85ebaee5f39d68e486253c159d553bb3d72d69141'], + }), + ('sfheaders', '0.4.2', { + 'checksums': ['ed9fb934c537fb6f126886f8e5997727de856e32fc3d38911b61a3a83faa7b2c'], + }), + ('geojsonsf', '2.0.3', { + 'checksums': ['275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1'], + }), + ('leaflet.providers', '1.9.0', { + 'checksums': ['9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b'], + }), + ('leaflet', '2.1.2', { + 'checksums': ['26d8671e8c99d85a4c257d8fb8c07ba899a2b95f801652598578f5cc5c724039'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.2.0', { + 'checksums': ['97eb78b3eaf6012940f2c4f73effd8ff2d39aa46fef5f2ddf0005990b07dba8d'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-3', { + 'checksums': ['60e58eef0f8c723db855d59117ca9f9b5e3663ba34b5ca783dc889bf20285e04'], + }), + ('collapse', '1.9.3', { + 'checksums': ['59425d108e7fdafd5fbca7099fe2fdc5c29d7390606c78bb7ef8ea8eb64d2056'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.4.5', { + 'checksums': ['06b9f67d14d525cbf04c991cedbd2e4f58bbb1f24ec10947aeed1efef91c33cd'], + }), + ('Rmpfr', '0.9-1', { + 'checksums': ['dbaf1db46b06211852befe4aecfe75ea2f0a91fe63d92a2039a36edf6c259d54'], + }), + ('scam', '1.2-13', { + 'checksums': ['33fd80394583ee9c909c5059fee1184ee3ca9325bd3cf40beaa12cfe8978e562'], + }), + ('copula', '1.1-2', { + 'checksums': ['88f9454d25e4dcdf53d8ca5156daf48e664769f5e13b1e835ed64f37251587d3'], + }), + ('evd', '2.3-6.1', { + 'checksums': ['662c592d3f5c5693dbf1c673d1137c4a60a347e330b71be1f3933f201d2c8971'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-6.1', { + 'checksums': ['cbcba080ab368e32d41511292b78b351b4f0e71daaa47bee76e7d249955c5c0d'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('kde1d', '1.0.5', { + 'checksums': ['b5fab76a394a7819deee10afdff39ac64fccdb844735adfe51c92043016f2468'], + }), + ('RcppThread', '2.1.3', { + 'checksums': ['127e3d333dd412334d89d633e92f40135f65d68c91b7945fa63ce0e35abcf946'], + }), + ('wdm', '0.2.3', { + 'checksums': ['5f0184f6f0f9e9b8c47fb571e4d34dff309644a50afe5f18e42b9c37f52c593b'], + }), + ('rvinecopulib', '0.6.3.1.1', { + 'checksums': ['df95d007552e7fa30aefad90a86acf5e14f6fe1e363ed4c71a74d501a08cbf32'], + }), + ('PearsonDS', '1.2.3', { + 'checksums': ['ca9a87799469d2522e22b0c1702861ee6f07fa48c1ca77427d3876cba82bfd0e'], + }), + ('covsim', '1.0.0', { + 'checksums': ['3788e91ee7f7fd44b290feb22185637493e8301a64f9511ca80e1ed361c3f44f'], + }), + ('semTools', '0.5-6', { + 'checksums': ['f522ce3c02ac580ad49af7a7278141dae39fdfaeccc7d1379faf1266ce9fcaf2'], + }), + ('GPArotation', '2022.10-2', { + 'checksums': ['04f72d8f3a9c204df5df904be563ec272a8437a707daee8823b2a690dde21917'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.38.1', { + 'checksums': ['b256e333cbc2e4763bb79bbcd739c04fbcef535125bb80a90e20b120a7b38f88'], + }), + ('rpf', '1.0.11', { + 'checksums': ['e1fd670ae7c3e947db08ce50d6b16ce1b3b8f63a9016b03baba760aee78921fb'], + }), + ('OpenMx', '2.21.1', { + 'checksums': ['631b5c896baf083827338e115db8665d2f86df203ebc5eb314182c8a0f3b6a8e'], + }), + ('matlab', '1.0.4', { + 'checksums': ['1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea'], + }), + ('FactorCopula', '0.9.3', { + 'checksums': ['df1675bb96431417cdbb9000ab80e15e12d82c8ed9809eeb3d7fe7b4855178d3'], + }), + ('rpact', '3.3.4', { + 'checksums': ['3de77ca528c3ae206f634e1ca7f6fed4f34363c7dc906410021aefab63ca1520'], + }), + ('ldbounds', '2.0.0', { + 'checksums': ['d4279d5f9952643f9051cf37eeb8441fff7ac050a49ef6363a9f5cbc8287a26a'], + }), + ('catlearn', '0.9.1', { + 'checksums': ['c6c492f5cc6a9ec6fdbd3721dd64a4bb2e146152d64eeeab4db3d0575bd2f650'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', '4.1.3', { + 'checksums': ['52a8d4df8ddc80eddf7c2f6684ed6f0fd71f3bd1bfc096ed07cfe875a367e446'], + }), + ('dagitty', '0.3-1', { + 'checksums': ['7d44b5d259ec3fef776a7e3fcb21d1c379f930d6ae9ae5fbfff54494ad78e8a8'], + }), + ('ggdag', '0.2.7', { + 'checksums': ['e078ebb8c63cde531f601feb71a20753fd45269061074cc742cf89fa0d4061dc'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.2', { + 'checksums': ['75a3a64014d2a99f08d12594d14fdade136f278abcf6252119cc20558ed14c9f'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('harmony', '0.1.1', { + 'checksums': ['754f8dd82ba1a6c0539628fd1861cba37061f2c4a6599680e6fccdfb84779b5d'], + }), + ('apcluster', '1.4.10', { + 'checksums': ['a214f72fa2f84563f3ca1aabb5322ef3e266007a6273ee8434bc2e2a7b9040a0'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.16-0', { + 'checksums': ['7356203fab0a96a64996b1875ab973eb72d92a7ae0c4e58b6dc4d2383c47682d'], + }), + ('pdp', '0.8.1', { + 'checksums': ['e23db66e5d575337d5c8fd664ccd0548cc85da2aca6613d90ce187be1dca376c'], + }), + ('date', '1.2-42', { + 'checksums': ['5a913f960a0071cf9db05df4de03055a21a1c243b3bdbf846375537a664bcb74'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.3.2', { + 'checksums': ['1a8bd1678c92650c0637b69b807bfb43df4210806518d56c650967c72f3e21d8'], + }), + ('Publish', '2023.01.17', { + 'checksums': ['436cc2bf5cdca1b3fdf892c9d35227f01740f1a4b335ff7b42a37e12c0115953'], + }), + ('riskRegression', '2022.11.28', { + 'checksums': ['601dd4e94cb32402413bf72b34b8f222671691b874333ed822cc44f4f1cd48e2'], + }), + ('pec', '2022.05.04', { + 'checksums': ['47a1079b5d4aa5df8aaa716324ee48c55660025c4cf10c93b5ee1d7250761468'], + }), + ('pammtools', '0.5.8', { + 'checksums': ['37197edd0984f8bf0e0a39a4ac1cfce897050dbb7f610553c349118fceb3ca93'], + }), + ('relsurv', '2.2-9', { + 'checksums': ['e966435c16c0978d1314867c3b9fbd7170ae7450d60e676d06cc7f8ca3d74d78'], + }), + ('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'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-13', { + 'checksums': ['cbef4706aa09e93030243cee3ae4e62b02160d96981020f5a385751eade4f88d'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('RhpcBLASctl', '0.23-42', { + 'checksums': ['5c889d5b69e264060b9f1f0383c447f594855b8afc15b7d76d39e4d62b946615'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.1', { + 'checksums': ['777f1b76b16837387b830e2b65304ede234b9299d17efd09c7fd403356122118'], + }), + ('renv', '0.17.1', { + 'checksums': ['94f8b62846ce44e9c90884ce64a8faa0ff76b009c7a23ed0fb4343cd11836af4'], + }), + ('elliptic', '1.4-0', { + 'checksums': ['b65729b1a1c7a84a5b1a59bfc893a2d35106853eaadcae31cda5c9ee3c500bb6'], + }), + ('contfrac', '1.1-12', { + 'checksums': ['95bfc5e970513416c080486a1cd8dfd9f8d59fb691b02ef6ccbe0ce1ed61056b'], + }), + ('hypergeo', '1.2-13', { + 'checksums': ['6d5b78353aad1d13091ccbeb340867dad7b9eb00d0e2185286dc7e13848f4d8e'], + }), + ('rtdists', '0.11-5', { + 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], + }), + ('AMAPVox', '1.0.0', { + 'checksums': ['e4804d38b58c296f9efd088b58730421ef4ccfe331aec0f24f5a3fea5cd3ac5d'], + }), + ('LCFdata', '2.0', { + 'checksums': ['b58f4d93b9023dd1ba2db96a59ddfc058397085933d8de4cdb38ee064d5e7bf4'], + }), + ('LMERConvenienceFunctions', '3.0', { + 'checksums': ['eb430de9fbf836173f716960d60afc2de91de7f986471f406c3ca9027142e849'], + }), + ('HGNChelper', '0.8.1', { + 'checksums': ['aa3f0b3a8691ed93d63bec8f36d2954c6fcfd0b8b3efc705379248544c999363'], + }), + ('logger', '0.2.2', { + 'checksums': ['4f1be7d4381f2fc591f19fdbfb8f3cccbf26c9fdbae104612f6e6d5762a97e22'], + }), + ('parallelDist', '0.2.6', { + 'checksums': ['30c6b3b85cf78c04a7dcd17ea7ed64356971f6ce48d15794078a18c53b249e06'], + }), + ('roptim', '0.1.6', { + 'checksums': ['7ef0c2a2ddb3703efaabf337fa0026485875d5ffb35ba3ef5d60eb0c62c30686'], + }), + ('yulab.utils', '0.0.6', { + 'checksums': ['973a51b8d1284060aec34e94849eea6783439dbcbf85083dd4f1a5df4f927b25'], + }), + ('ggfun', '0.0.9', { + 'checksums': ['5c740e9d1e73b77658f41ed65e21492f4e71b12c7c9ff4b9e52ebf5f8f197612'], + }), + ('gridGraphics', '0.5-1', { + 'checksums': ['29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b'], + }), + ('ggplotify', '0.1.0', { + 'checksums': ['178f73d6d3dc391c3efb1a62c95fe38587044f9e3288dffb915d3687941bb38a'], + }), + ('aplot', '0.1.10', { + 'checksums': ['d937768241f887628b88bb3b49dd6cbe9b7dae39ae7054e7380a9836721a67d1'], + }), + ('tidytree', '0.4.2', { + 'checksums': ['cb831a66d8afa5e21f5072e4fbebcbd2228881090d0040f87605f5aeefda155e'], + }), + ('ggvenn', '0.1.9', { + 'checksums': ['38779cfa4e01e07d4a42453cfb8b93d32d2acd6187676bae7d11b2168714a52e'], + }), + ('scatterpie', '0.1.8', { + 'checksums': ['a6ccc63a8be63fa113704cf5d4893c1ec1b75d3081ab971bd70e650e708872a0'], + }), + ('shadowtext', '0.1.2', { + 'checksums': ['253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d'], + }), + ('random', '0.2.6', { + 'checksums': ['2b59f9bce0c3ebf8215ab42dffaf9a1c7eea7468964063215a8d422af953b069'], + }), + ('R2WinBUGS', '2.1-21', { + 'checksums': ['fa86cb5140f5dfce29f9517b94d6d08c316ddcffa4aa3085945b84d34910134d'], + }), + ('aricode', '1.0.2', { + 'checksums': ['5f4e51f7063cfd4924a8925c902a3eb7517c743234a14560691cb84428b6b2f0'], + }), + ('DepthProc', '2.1.5', { + 'checksums': ['e6b0afd54bb20e25a6bf5402c771848db20e9c844f0fc990ecc3d1078b9eee44'], + }), + ('dbscan', '1.1-11', { + 'checksums': ['f0498e67e612629340a2758fbe747c4d9d4ca648f002230a03499cb73735e62f'], + }), + ('ggh4x', '0.2.3', { + 'checksums': ['8af0e855bf221ce53b3162ae9d25a8d04525aabbda2f63c4843d86ee3eca4535'], + }), + ('ComplexUpset', '1.3.3', { + 'checksums': ['5b2f99b4a38648641c7d31fc57f201a93e5bc1b85442a0b9726f72c166d964ea'], + }), + ('proxyC', '0.3.3', { + 'checksums': ['3e25da94633da0b5c6cdac03f5b6d8205d078f60c5a09073e90a1b6f0930e302'], + }), + ('changepoint', '2.2.4', { + 'checksums': ['ac636fde7610137385dde1e3d8a22a2ff856a8d5c917c7ad1a5cc49f98b8649b'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('ggstance', '0.3.6', { + 'checksums': ['cd9ad4fb83c583009ee45371c7d02d32b33d06238d3f0162b3ba9851e27a6372'], + }), + ('mosaicCore', '0.9.2.1', { + 'checksums': ['b7ce16f20fde1d8a5b1836110e5980fb274504ddae6b9c5c2f4198dc7d09dafa'], + }), + ('ggformula', '0.10.2', { + 'checksums': ['948b1c34a5c089cf86275d2b3e020e1a099278136e43175a50fb6063e54b6375'], + }), + ('kinship2', '1.9.6', { + 'checksums': ['0150bd5974c2a19885f6ff2e99f3c1f6361054a0910dcfc9dd26a8e0cd73bbf6'], + }), + ('MESS', '0.5.9', { + 'checksums': ['b57dff943a130830a24d87fe2e8f8b766cf18398c9c09e0a020d5dd183f9d72d'], + }), + ('smoof', '1.6.0.3', { + 'checksums': ['af8664b152876c545f6545528de6e05a289d0714103fac7afc52960a9a855fb1'], + }), + ('mlrMBO', '1.1.5.1', { + 'checksums': ['0cf26e5e9b180d15b932541cf081a552703a60edf762aafca9933c24ea91dc99'], + }), + ('emoa', '0.5-0.1', { + 'checksums': ['bff6c84274e9bdcbdb82d6edd90265844f7cd23f22abbf68d6b563ef48237966'], + }), + ('webutils', '1.1', { + 'checksums': ['33e2b408d2b9ca12e158e0007d4a55a3ace6838341ad944344de2ceb806e4699'], + }), + ('swagger', '3.33.1', { + 'checksums': ['528369b04c6142112e05ee8b950ca1c01b3e390a4515eacb0fa17db98bafafd1'], + }), + ('varhandle', '2.0.5', { + 'checksums': ['9b0ee653e0343e292547d2a7052e60a2e7d97d1d5528246862522e67346882d0'], + }), + ('dlm', '1.1-6', { + 'checksums': ['89dd4130ea3a5213244c66b313fed0a74cdcc96d3e70285b14cf3fe5f354ae57'], + }), + ('PMA', '1.2.1', { + 'checksums': ['3a155b89e380273dfd4ab301c422184a3f6d4679dc9e3d1bb65939392af511e6'], + }), + ('unikn', '0.8.0', { + 'checksums': ['77954418cf5475e57ccd5d28edefd97f82c49cd8e148b55b1b74f55b8c1c620f'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R2jags/R2jags-0.7-1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R2jags/R2jags-0.7-1-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..8cc67b6d8df7 --- /dev/null +++ b/easybuild/easyconfigs/r/R2jags/R2jags-0.7-1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'R2jags' +version = '0.7-1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/R2jags' +description = "Providing wrapper functions to implement Bayesian analysis in JAGS." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['3b097261c0b20b89a021bbc5087523a24f17249fa14c527cd54c5e5b2970226a'] + +dependencies = [ + ('R', '4.2.1'), + ('rjags', '4-13', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..17b46ad32a50 --- /dev/null +++ b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'RDFlib' +version = '6.2.0' + +homepage = 'https://github.com/RDFLib/rdflib' +description = """RDFLib is a Python library for working with RDF, a simple yet powerful language + for representing information.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True + +exts_list = [ + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', version, { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d602151be5a0 --- /dev/null +++ b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'RDFlib' +version = '6.2.0' + +homepage = 'https://github.com/RDFLib/rdflib' +description = """RDFLib is a Python library for working with RDF, a simple yet powerful language + for representing information.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True + +exts_list = [ + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', version, { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2022.09.4-foss-2022a.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2022.09.4-foss-2022a.eb new file mode 100644 index 000000000000..d3156eb89867 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2022.09.4-foss-2022a.eb @@ -0,0 +1,77 @@ +easyblock = 'CMakeMake' + +name = 'RDKit' +version = '2022.09.4' + +homepage = 'https://www.rdkit.org' +description = "RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python." + +toolchain = {'name': 'foss', 'version': '2022a'} +# avoid failing tests on skylake CPUs. comment out this line when building on CPUs that don't support AVX2 +# see also: https://github.com/rdkit/rdkit/issues/1674 +toolchainopts = {'optarch': 'mavx2', 'cstd': 'c++11'} + +source_urls = ['https://github.com/rdkit/rdkit/archive/'] +sources = ['Release_%s.tar.gz' % version.replace('.', '_')] +patches = [ + 'RDKit-2021.03.4_skip-broken-test.patch', +] +checksums = [ + {'Release_2022_09_4.tar.gz': 'edd30682cc3031cf3f2b1a400f453629db332a1018f355cd3f7ff76b2f7f5398'}, + {'RDKit-2021.03.4_skip-broken-test.patch': '45869e01461b66e42c9305f5e8a65f696417e4777c2da60ef81d1e26e57d1b2e'}, +] + +# Dependencies varies from version to version +# https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), + ('pkgconf', '1.8.0'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SQLite', '3.38.3'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), + ('Boost.Python', '1.79.0'), + ('cairo', '1.17.4'), +] + +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 " + +# merge source directory into build directory in order to run the tests +buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' +buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + +# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag. +buildopts += 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && ' + +# 'ctest' allows to pass additional arguments opposed to 'make test' +buildopts += 'ctest --output-on-failure' + +local_libs = ['Alignment', 'Catalogs', 'ChemicalFeatures', 'ChemReactions', 'ChemTransforms', 'coordgen', 'DataStructs', + 'Depictor', 'Descriptors', 'DistGeometry', 'DistGeomHelpers', 'EigenSolvers', 'FileParsers', + 'FilterCatalog', 'Fingerprints', 'FMCS', 'ForceFieldHelpers', 'ForceField', 'FragCatalog', 'GraphMol', + 'hc', 'InfoTheory', 'maeparser', 'MMPA', 'MolAlign', 'MolCatalog', 'MolChemicalFeatures', 'MolDraw2D', + 'MolHash', 'MolInterchange', 'MolStandardize', 'MolTransforms', 'Optimizer', 'PartialCharges', 'RDBoost', + 'RDGeneral', 'RDGeometryLib', 'RDStreams', 'ReducedGraphs', 'RGroupDecomposition', 'RingDecomposerLib', + 'ScaffoldNetwork', 'ShapeHelpers', 'SimDivPickers', 'SLNParse', 'SmilesParse', 'Subgraphs', + 'SubstructLibrary', 'SubstructMatch', 'Trajectory'] + +sanity_check_paths = { + 'files': ['lib/libRDKit%s.%s' % (x, SHLIB_EXT) for x in local_libs], + 'dirs': ['include/rdkit', 'lib/python%(pyshortver)s/site-packages/rdkit'], +} + +sanity_check_commands = [ + "python -c 'import rdkit.rdBase'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2023-03-01-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2023-03-01-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b43aca007514 --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2023-03-01-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = "CMakeMake" + +name = 'RE2' +version = '2023-03-01' + +homepage = 'https://github.com/google/re2' +description = """ +RE2 is a fast, safe, thread-friendly alternative to backtracking regular +expression engines like those used in PCRE, Perl, and Python. It is a C++ +library. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['7a9a4824958586980926a300b4717202485c4b4115ac031822e29aa4ef207e48'] + +builddependencies = { + ('binutils', '2.39'), + ('CMake', '3.24.3'), +} + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RECON/RECON-1.08-GCC-11.3.0.eb b/easybuild/easyconfigs/r/RECON/RECON-1.08-GCC-11.3.0.eb new file mode 100644 index 000000000000..4d030563a473 --- /dev/null +++ b/easybuild/easyconfigs/r/RECON/RECON-1.08-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'RECON' +version = '1.08' + +homepage = 'https://www.repeatmasker.org/RepeatModeler/' +description = """Patched version of RECON to be used with RepeatModeler.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://www.repeatmasker.org/RepeatModeler/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['699765fa49d18dbfac9f7a82ecd054464b468cb7521abe9c2bd8caccf08ee7d8'] + +dependencies = [('Perl', '5.34.1')] + +start_dir = 'src' + +buildopts = 'CC="$CC"' + +local_bins = ['edgeredef', 'eledef', 'eleredef', 'famdef', 'imagespread'] +local_scripts = ['scripts/%s' % x for x in ['MSPCollect.pl', 'recon.pl']] + +files_to_copy = [ + (['src/%s' % x for x in local_bins], 'bin'), + 'scripts', 'COPYRIGHT', 'LICENSE', '00README', +] + +postinstallcmds = ["sed -i 's|$path = \"\"|$path = \"%(installdir)s/bin\"|g' %(installdir)s/scripts/recon.pl"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + local_scripts, + 'dirs': [], +} + +sanity_check_commands = [("recon.pl 2>&1 | grep 'usage: recon seq_name_list_file MSP_file integer'", '')] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RLCard/RLCard-1.0.9-foss-2022a.eb b/easybuild/easyconfigs/r/RLCard/RLCard-1.0.9-foss-2022a.eb new file mode 100644 index 000000000000..b0c6e795abf9 --- /dev/null +++ b/easybuild/easyconfigs/r/RLCard/RLCard-1.0.9-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'RLCard' +version = '1.0.9' + +homepage = 'https://www.rlcard.org' +description = "RLCard is a toolkit for Reinforcement Learning (RL) in card games." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numpy + ('PyTorch', '1.12.0'), + ('GitPython', '3.1.27'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + # stick to termcolor 1.x, to avoid hatchling required dependency + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('rlcard', version, { + 'checksums': ['6454d2203220b7acff855cad35c9e24aabadfd664048aee45054a04adc842c75'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/r/RMBlast/RMBlast-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.13.0-gompi-2022a.eb new file mode 100644 index 000000000000..8a5f50b763d1 --- /dev/null +++ b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.13.0-gompi-2022a.eb @@ -0,0 +1,63 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos , Kenneth Hoste (UGent) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of +# the policy: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'RMBlast' +version = '2.13.0' + +homepage = 'https://www.repeatmasker.org/rmblast/' +description = """RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary + difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn' + for use with RepeatMasker and RepeatModeler.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +# RMBlast is distributed as a patch that applies on top of BLAST+ +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +patches = [('https://www.repeatmasker.org/%(namelower)s/isb-%(version)s+-%(namelower)s.patch.gz', 2)] +checksums = [ + {'ncbi-blast-2.13.0+-src.tar.gz': '89553714d133daf28c477f83d333794b3c62e4148408c072a1b4620e5ec4feb2'}, + {'isb-2.13.0+-rmblast.patch.gz': '06595546318577b450e4a82c641017b2818b1741446e7ac675d82aef3d8f7f3d'}, +] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost.MPI', '1.79.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), +] + +# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards) +# Compilation fails on src/algo/blast/api/prelim_stage.cpp +local_apimake = 'src/algo/blast/api/Makefile.xblast.lib' +preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +prebuildopts = "sed -i 's/LIBS =/LIBS = $(BLAST_THIRD_PARTY_LIBS)/' src/app/rmblastn/Makefile.rmblastn.app && " + +sanity_check_paths = { + 'files': ['bin/blastp', 'bin/blastn', 'bin/deltablast', 'bin/rmblastn'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb index e2f70437ccef..bb93b2f1d82f 100644 --- a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb @@ -36,7 +36,7 @@ exts_list = [ 'checksums': ['109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa'], }), ('agutil', '4.1.1', { - 'preinstallopts': "sed -i 's/package\.req/package.requirement/g' setup.py &&", + 'preinstallopts': r"sed -i 's/package\.req/package.requirement/g' setup.py &&", 'checksums': ['e58ed53ae209007328311603bd6e05e8cd2c509204b5e542c87f971a2530fb0d'], }), ('qtl', '0.1.8', { diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb index 33f4463def86..9f5a991db00c 100644 --- a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb @@ -36,7 +36,7 @@ exts_list = [ 'checksums': ['109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa'], }), ('agutil', '4.1.1', { - 'preinstallopts': "sed -i 's/package\.req/package.requirement/g' setup.py &&", + 'preinstallopts': r"sed -i 's/package\.req/package.requirement/g' setup.py &&", 'checksums': ['e58ed53ae209007328311603bd6e05e8cd2c509204b5e542c87f971a2530fb0d'], }), ('qtl', '0.1.8', { diff --git a/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb index 8b07ec53fe97..47f174f27765 100644 --- a/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb @@ -24,9 +24,9 @@ postinstallcmds = [ # replace hardcoded '/usr/bin/perl' with '/usr/bin/env perl' "for x in core-rnammer rnammer xml2fsa xml2gff; do sed -i 's@^#!/.*@#!/usr/bin/env perl@g' %(installdir)s/$x; done", # fix hardcoded locations for install dir + hmmsearch and perl commands - """sed -i 's@\(INSTALL_PATH\ = "\).*\(";\)@\\1%(installdir)s\\2@g' %(installdir)s/rnammer""", - 'sed -i "s@\/.*\/hmmsearch@`which hmmsearch`@g" %(installdir)s/rnammer', - 'sed -i "s@\/.*\/bin\/perl@`which perl`@g" %(installdir)s/rnammer', + r"""sed -i 's@\(INSTALL_PATH\ = "\).*\(";\)@\\1%(installdir)s\\2@g' %(installdir)s/rnammer""", + r'sed -i "s@\/.*\/hmmsearch@`which hmmsearch`@g" %(installdir)s/rnammer', + r'sed -i "s@\/.*\/bin\/perl@`which perl`@g" %(installdir)s/rnammer', ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.22.08-foss-2020b.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.22.08-foss-2020b.eb new file mode 100644 index 000000000000..020ed48f660a --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.22.08-foss-2020b.eb @@ -0,0 +1,55 @@ +name = 'ROOT' +version = '6.22.08' + +homepage = 'https://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +checksums = ['6f061ff6ef8f5ec218a12c4c9ea92665eea116b16e1cd4df4f96f00c078a2f6f'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GSL', '2.6'), + ('libxml2', '2.9.10'), + ('PCRE', '8.44'), + ('CFITSIO', '3.49'), + ('freetype', '2.10.3'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('zlib', '1.2.11'), + ('X11', '20201008'), + ('Mesa', '20.2.1'), + ('libGLU', '9.0.1'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.8'), + ('SQLite', '3.33.0'), + ('XZ', '5.2.5'), + ('libpng', '1.6.37'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +configopts += " -Dgallium-drivers=swrast" + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2022a.eb b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2022a.eb new file mode 100644 index 000000000000..19cf63260a79 --- /dev/null +++ b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2022a.eb @@ -0,0 +1,51 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'RSEM' +version = '1.3.3' + +homepage = 'https://deweylab.github.io/RSEM/' +description = "RNA-Seq by Expectation-Maximization" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/deweylab/RSEM/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['RSEM-1.3.0_makefiles.patch'] +checksums = [ + '90e784dd9df8346caa2a7e3ad2ad07649608a51df1c69bfb6e16f45e611a40dc', # v1.3.3.tar.gz + '2d244659206c78655b92f1bd519ee65f28a6b5f9418dfad04e887b64eca6641b', # RSEM-1.3.0_makefiles.patch +] + +skipsteps = ['configure'] + +installopts = "prefix=%(installdir)s" + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('Perl', '5.34.1'), + ('R', '4.2.1'), + ('HISAT2', '2.2.1'), + ('STAR', '2.7.10b'), + ('Bowtie2', '2.4.5'), + ('Bowtie', '1.3.1'), +] + +sanity_check_paths = { + 'files': ['bin/rsem-calculate-expression', 'bin/rsem-plot-model', 'bin/rsem-plot-transcript-wiggles', + 'bin/rsem-bam2wig', 'bin/rsem-generate-data-matrix', 'bin/rsem-run-em', 'bin/convert-sam-for-rsem'], + 'dirs': ['bin/samtools-1.3'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch new file mode 100644 index 000000000000..f57b688b6a5b --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch @@ -0,0 +1,46 @@ +From 9b7ac4b2952a47568d23f6cbfed4a797798ee161 Mon Sep 17 00:00:00 2001 +From: Kevin Ushey +Date: Fri, 19 Aug 2022 10:01:14 -0700 +Subject: [PATCH] make it possible to control QUARTO_ENABLED from command line + +--- + CMakeGlobals.txt | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt +index 6dfe1017a9a..cbd8e865672 100644 +--- a/CMakeGlobals.txt ++++ b/CMakeGlobals.txt +@@ -244,18 +244,20 @@ if(LINUX AND EXISTS "/etc/centos-release") + endif() + + # quarto support +-if(LINUX AND UNAME_M STREQUAL aarch64) +- # disabled on linux aarch64 +- message(STATUS "quarto does not yet support aarch64 builds of Linux; disabling quarto") +- set(QUARTO_ENABLED FALSE CACHE INTERNAL "") +-elseif(IS_CENTOS7) +- # disable quarto on Centos 7 +- message(STATUS "quarto is not supported on Centos7; disabling quarto") +- set(QUARTO_ENABLED FALSE CACHE INTERNAL "") +-else() +- # enable by default +- set(QUARTO_ENABLED TRUE CACHE INTERNAL "") +- add_definitions(-DQUARTO_ENABLED) ++if(NOT DEFINED QUARTO_ENABLED) ++ if(LINUX AND UNAME_M STREQUAL aarch64) ++ # disabled on linux aarch64 ++ message(STATUS "quarto does not yet support aarch64 builds of Linux; disabling quarto") ++ set(QUARTO_ENABLED FALSE CACHE INTERNAL "") ++ elseif(IS_CENTOS7) ++ # disable quarto on Centos 7 ++ message(STATUS "quarto is not supported on Centos7; disabling quarto") ++ set(QUARTO_ENABLED FALSE CACHE INTERNAL "") ++ else() ++ # enable by default ++ set(QUARTO_ENABLED TRUE CACHE INTERNAL "") ++ add_definitions(-DQUARTO_ENABLED) ++ endif() + endif() + + # install freedesktop integration files if we are installing into /usr diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_fix-libsoci-search.patch b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_fix-libsoci-search.patch new file mode 100644 index 000000000000..25cae4ea6dbe --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_fix-libsoci-search.patch @@ -0,0 +1,27 @@ +Allow to find system SOCI_* libraries + +Add a second `find_library` call which will find the SOCI libraries in default locations if it hasn't been found already in `SOCI_LIBRARY_DIR` +See https://github.com/rstudio/rstudio/pull/11691 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index d2be417b40..6a42b4614d 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -467,12 +467,12 @@ endif() + # find SOCI libraries + if(UNIX) + set(SOCI_LIBRARY_DIR "${RSTUDIO_TOOLS_SOCI}/build/lib") +- if(NOT APPLE AND RSTUDIO_USE_SYSTEM_SOCI) +- set(SOCI_LIBRARY_DIR "/usr/lib") +- endif() + find_library(SOCI_CORE_LIB NAMES "libsoci_core.a" "soci_core" PATHS "${SOCI_LIBRARY_DIR}" NO_DEFAULT_PATH) ++ find_library(SOCI_CORE_LIB NAMES "libsoci_core.a" "soci_core") + find_library(SOCI_SQLITE_LIB NAMES "libsoci_sqlite3.a" "soci_sqlite3" PATHS "${SOCI_LIBRARY_DIR}" NO_DEFAULT_PATH) ++ find_library(SOCI_SQLITE_LIB NAMES "libsoci_sqlite3.a" "soci_sqlite3") + find_library(SOCI_POSTGRESQL_LIB NAMES "libsoci_postgresql.a" "soci_postgresql" PATHS "${SOCI_LIBRARY_DIR}" NO_DEFAULT_PATH) ++ find_library(SOCI_POSTGRESQL_LIB NAMES "libsoci_postgresql.a" "soci_postgresql") + find_library(DL_LIB "dl") + find_library(SQLITE_LIB "sqlite3") + get_filename_component(SQLITE_LIB "${SQLITE_LIB}" REALPATH) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch new file mode 100644 index 000000000000..9df3a006a82e --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch @@ -0,0 +1,71 @@ +From https://github.com/rstudio/rstudio/pull/11976 + +From c131989e8ecb19733fe274fe7ad8a18d490fdcf9 Mon Sep 17 00:00:00 2001 +From: Jonathan McPherson +Date: Mon, 19 Sep 2022 14:34:18 -0700 +Subject: [PATCH] use XDG_CACHE_HOME for secure cookie key in low privilege + mode + +--- + src/cpp/core/include/core/system/Xdg.hpp | 7 +++++++ + src/cpp/core/system/Xdg.cpp | 15 +++++++++++++++ + src/cpp/server_core/SecureKeyFile.cpp | 2 +- + 3 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/src/cpp/core/include/core/system/Xdg.hpp b/src/cpp/core/include/core/system/Xdg.hpp +index 71cb2a8d50f..ed848ca2476 100644 +--- a/src/cpp/core/include/core/system/Xdg.hpp ++++ b/src/cpp/core/include/core/system/Xdg.hpp +@@ -66,6 +66,13 @@ FilePath userDataDir(const boost::optional& user = boost::none, + // Returns the user-specific logging directory underneath the userDataDir + FilePath userLogDir(); + ++// Returns the RStudio XDG user cache directory. ++// ++// On Unix-alikes, this is ~/.cache, or XDG_CACHE_HOME. ++// On Windows, this is 'FOLDERID_InternetCache' (typically 'AppData/Local/Microsoft/Windows/Temporary Files') ++FilePath userCacheDir(const boost::optional& user = boost::none, ++ const boost::optional& homeDir = boost::none); ++ + // This function verifies that the userConfigDir() and userDataDir() exist and are owned by the running user. + // + // It should be invoked once. Any issues with these directories will be emitted to the session log. +diff --git a/src/cpp/core/system/Xdg.cpp b/src/cpp/core/system/Xdg.cpp +index 3866f286437..ca1e7923ac5 100644 +--- a/src/cpp/core/system/Xdg.cpp ++++ b/src/cpp/core/system/Xdg.cpp +@@ -218,6 +218,21 @@ FilePath userDataDir( + ); + } + ++FilePath userCacheDir( ++ const boost::optional& user, ++ const boost::optional& homeDir) ++{ ++ return resolveXdgDir("RSTUDIO_CACHE_HOME", ++ "XDG_CACHE_HOME", ++#ifdef _WIN32 ++ FOLDERID_InternetCache, ++#endif ++ "~/.cache", ++ user, ++ homeDir ++ ); ++} ++ + FilePath userLogDir() + { + return userDataDir().completePath("log"); +diff --git a/src/cpp/server_core/SecureKeyFile.cpp b/src/cpp/server_core/SecureKeyFile.cpp +index d3a5e37c1bd..cbc3a91a44c 100644 +--- a/src/cpp/server_core/SecureKeyFile.cpp ++++ b/src/cpp/server_core/SecureKeyFile.cpp +@@ -113,7 +113,7 @@ core::Error readSecureKeyFile(const std::string& filename, + } + else + { +- secureKeyPath = core::FilePath("/tmp/rstudio-server").completePath(filename); ++ secureKeyPath = core::system::xdg::userCacheDir().completePath(filename); + if (secureKeyPath.exists()) + { + LOG_INFO_MESSAGE("Running without privilege; using secure key at " + secureKeyPath.getAbsolutePath()); diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.2+576-foss-2022a-Java-11-R-4.2.1.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.2+576-foss-2022a-Java-11-R-4.2.1.eb new file mode 100644 index 000000000000..b63011c23f4a --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.2+576-foss-2022a-Java-11-R-4.2.1.eb @@ -0,0 +1,111 @@ +easyblock = 'CMakeNinja' + +name = 'RStudio-Server' +version = '2022.07.2+576' +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' +local_git_rev = '7872775ebddc40635780ca1ed238934c3345c5de' + +homepage = 'https://www.rstudio.com/' +description = """This is the RStudio Server version. +RStudio is a set of integrated tools designed to help you be more productive with R. + +The server can be started with: + rserver --server-daemonize=0 --www-port=8787 + +If you need a database config one can be created with: + MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" +and then used with: + rserver ... --database-config-file="${MYTMP}/db.conf" +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-2022.07.1+554_allow-disabling-quarto.patch', + '%(name)s-2022.07.1+554_fix-libsoci-search.patch', + '%(name)s-2022.07.1+554_use-XDG_CACHE_HOME.patch', +] +checksums = [ + '55705c36a9b826064b4d9aa87b58c40bb9f7cd2f149b16d554e20136306ce301', + # RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch + '165306d976c7b851e1e6a2d1f0c2967984b0cd203006aa834a1a6ff17894cf81', + # RStudio-Server-2022.07.1+554_fix-libsoci-search.patch + '0dafd9fa45d745d350c0c852fe03e3e1e77558d94baae2b5c595d97765002cd5', + # RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch + 'd033a383c8518a85dcdf45baf14d0a9d6283d03a28576a6eb03bbfb3682d2b00', +] + +builddependencies = [ + ('ant', '1.10.11', '-Java-%(javaver)s', SYSTEM), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('Java', '11', '', SYSTEM), + ('R', '4.2.1'), + ('SOCI', '4.0.3'), + ('yaml-cpp', '0.7.0'), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev') +] + +# Required until https://github.com/easybuilders/easybuild-framework/pull/4035 +local_start_dir = "%(builddir)s/rstudio-" + version.replace("+", "-") + +preconfigopts = " && ".join([ + # Install dependencies via scripts. Done in subshell to preserve PWD + "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", + "cd '%s/dependencies/common'" % local_start_dir, + "./install-cef", + "./install-dictionaries", + "./install-mathjax", + "./install-pandoc", + "./install-packages", + "./install-npm-dependencies)", + "" +]) + +configopts = " ".join([ + "-DRSTUDIO_TOOLS_ROOT='%(builddir)s'", + "-DRSTUDIO_TARGET=Server", + "-DRSTUDIO_USE_SYSTEM_BOOST=ON", + "-DRSTUDIO_USE_SYSTEM_SOCI=ON", + "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON", + "-DQUARTO_ENABLED=OFF", # Not available on all archs, use pandoc fallback + "-DRSTUDIO_GIT_REVISION_HASH=" + local_git_rev +]) + +sanity_check_commands = [ + # RSession requires environment variables R_HOME and R_DOC_DIR + 'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', + # RServer requires a db conf (this may also be needed for live use) + # Also create and set a soem dirs so it doesn't try to use $HOME + 'MYTMP=`mktemp -d`' + ' && export RSTUDIO_CONFIG_DIR="$MYTMP"' + ' && export XDG_DATA_HOME="$MYTMP/.data"' + ' && export XDG_CACHE_HOME="$MYTMP/.cache"' + ' && mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"' + ' && export RS_LOG_DIR="$MYTMP/log"' + ' && echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"' + ' && rserver ' + ' '.join([ + '--verify-installation=1', + '--server-user="$USER"', + '--database-config-file="$MYTMP/db.conf"', + '--server-data-dir="$MYTMP/sdd"', + '--secure-cookie-key-file="$MYTMP/secure-cookie-key"', + ]), +] + +sanity_check_paths = { + 'files': ['bin/rstudio-server'], + 'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..9594b13fd9d8 --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'RapidJSON' +version = '1.1.0' + +homepage = 'https://rapidjson.org' +description = "A fast JSON parser/generator for C++ with both SAX/DOM style API" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/Tencent/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-compiler-errors.patch'] +checksums = [ + 'bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e', # v1.1.0.tar.gz + # %(name)s-%(version_major_minor)s.0_fix-compiler-errors.patch + '2e40ef6c46bf355feac16cd84faad5b7aca0ad54273117b85534b1b781f411c7', +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['lib/pkgconfig/%(name)s.pc'], + 'dirs': ['include/%(namelower)s', 'lib/cmake', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/Raven/Raven-1.8.1-GCC-11.2.0.eb b/easybuild/easyconfigs/r/Raven/Raven-1.8.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..0e32ebaa9e02 --- /dev/null +++ b/easybuild/easyconfigs/r/Raven/Raven-1.8.1-GCC-11.2.0.eb @@ -0,0 +1,63 @@ +easyblock = "CMakeNinja" + +name = "Raven" +version = "1.8.1" + +homepage = "https://github.com/lbcb-sci/raven" +description = "Raven is a de novo genome assembler for long uncorrected reads." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ["https://github.com/lbcb-sci/raven/archive/refs/tags/"] +sources = ["%(version)s.tar.gz"] +checksums = ['00009e9027761fa28313db4e2b5c5f40ebc10e6631b43b755e321ac6bbcc2c06'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Ninja', '1.10.2'), +] + +preinstallopts = "export CMAKE_BUILD_PARALLEL_LEVEL=%(parallel)s && " +configopts = '-DRAVEN_BUILD_EXE=1 -G Ninja ' +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +dependencies = [ + ('Python', '3.9.6'), + ('zlib', '1.2.11'), +] + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} + +# inject addition CMake options to make sure that Python dependency is actually used +local_ravenpy_preinstallopts = r"""sed -i 's|cmake_args += \["-GNinja"\]|cmake_args += \[""" +local_ravenpy_preinstallopts += r'"-GNinja", "-DPYBIND11_FINDPYTHON=ON", "-DPython_FIND_STRATEGY=LOCATION",' +local_ravenpy_preinstallopts += r""" "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python"\]|' setup.py && """ + +exts_list = [ + (name, version, { + 'modulename': 'ravenpy', + 'source_urls': ['https://github.com/lbcb-sci/raven/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['00009e9027761fa28313db4e2b5c5f40ebc10e6631b43b755e321ac6bbcc2c06'], + 'preinstallopts': local_ravenpy_preinstallopts, + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/raven'], + 'dirs': [], +} + +sanity_check_commands = [ + "export PYTHONNOUSERSITE=1 && python%(pyshortver)s -m pip check", + "raven --help" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-2.2.0-foss-2022a.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.2.0-foss-2022a.eb new file mode 100644 index 000000000000..566a35719e30 --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.2.0-foss-2022a.eb @@ -0,0 +1,54 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '2.2.0' + +homepage = "https://docs.ray.io/en/latest/" +description = "Ray is a fast and simple framework for building and running distributed applications." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('protobuf-python', '3.19.4'), + ('PyYAML', '6.0'), + ('redis-py', '4.5.1'), +] + +use_pip = True + +exts_list = [ + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('frozenlist', '1.3.3', { + 'checksums': ['58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a'], + }), + ('Ray', version, { + 'source_tmpl': '%(namelower)s-%(version)s-cp310-cp310-manylinux2014_x86_64.whl', + 'checksums': ['656768c6f7c15e9ae32cc624b065dfdc99e1a12a0b9aa787602cbcaf8308ab20'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ray'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'ray --help' +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.12.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.12.0.eb new file mode 100644 index 000000000000..34fd85c49e02 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.12.0.eb @@ -0,0 +1,70 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.12.0' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + # stick to setuptools < 59.7.0, to maintain compatibility with Python 3.6 + ('setuptools', '59.6.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['425cc546e24edd5b2dbfcdcb61dbbf723ca1a2a2977948e359e893514f5eb10f'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.1.eb new file mode 100644 index 000000000000..568f87e8ef24 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.1.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.0.1' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['1680b8f0dd405dcf98be23473570595a424cbee830b2dbb665459e2974723f6f'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.5.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.5.eb new file mode 100644 index 000000000000..3c77570ad5aa --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.5.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.0.5' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['4902258e5a201cb72ef9dc175a0970dcfc5869f3270a198dcd8bc47cc1a3cabd'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/Redis/Redis-7.0.8-GCC-11.3.0.eb b/easybuild/easyconfigs/r/Redis/Redis-7.0.8-GCC-11.3.0.eb new file mode 100644 index 000000000000..7c3b17fd8303 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-7.0.8-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '7.0.8' + +homepage = 'https://redis.io' +description = """Redis is an open source (BSD licensed), in-memory data structure store, used as +a database, cache, and message broker. Redis provides data structures such as +strings, hashes, lists, sets, sorted sets with range queries, bitmaps, +hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, +Lua scripting, LRU eviction, transactions, and different levels of on-disk +persistence, and provides high availability via Redis Sentinel and automatic +partitioning with Redis Cluster.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06a339e491306783dcf55b97f15a5dbcbdc01ccbde6dc23027c475cab735e914'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +skipsteps = ['configure'] + +# tests must be run from a local filesystem +# runtest = 'test' + +installopts = 'PREFIX="%(installdir)s"' + +sanity_check_paths = { + 'files': ['bin/redis-cli', 'bin/redis-server'], + 'dirs': [], +} + +sanity_check_commands = [('redis-server', '--version')] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/RegTools/RegTools-0.5.2-foss-2021b.eb b/easybuild/easyconfigs/r/RegTools/RegTools-0.5.2-foss-2021b.eb new file mode 100644 index 000000000000..9c084bba01de --- /dev/null +++ b/easybuild/easyconfigs/r/RegTools/RegTools-0.5.2-foss-2021b.eb @@ -0,0 +1,39 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'RegTools' +version = '0.5.2' + +homepage = 'https://regtools.readthedocs.org' +description = """RegTools is a set of tools that integrate DNA-seq and RNA-seq data to help interpret mutations in a +regulatory and splicing context.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/griffithlab/%(namelower)s/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['24d3bc18174237e0fc2d0330839c8dc21c97cdb7d6e528c518188c10f17f3e7e'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +# required by included scripts +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), # required by create_IGVsessions.py script + ('R', '4.1.2'), +] + +# 'make install' is not supported... +install_cmd = 'mkdir %(installdir)s/bin && cp -a regtools %(installdir)s/bin/ && ' +install_cmd += 'cp -a %(builddir)s/regtools-%(version)s/scripts %(installdir)s/' + +sanity_check_paths = { + 'files': ['bin/regtools'], + 'dirs': ['scripts'], +} + +sanity_check_commands = ['regtools --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.4-foss-2022a.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.4-foss-2022a.eb new file mode 100644 index 000000000000..299da52fa563 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.4-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'RepeatMasker' +version = '4.1.4' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatMasker is a program that screens DNA sequences for interspersed repeats + and low complexity DNA sequences.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://www.repeatmasker.org/%(name)s'] +sources = [ + SOURCE_TAR_GZ, + # optional but recommended: RepBase RepeatMasker Edition + # requires subscription and academic license, download from here: https://www.girinst.org/server/RepBase/index.php + # { + # 'filename': 'RepBaseRepeatMaskerEdition-20181026.tar.gz', + # 'extract_cmd': "tar -xzf %s -C %(builddir)s/%(name)s/Libraries --strip-components 1", + # }, +] +checksums = ['d7af5f49b7ecc5fb90e66956c85877220ec461f6e4d54e06a5996bb2fd6b63fa'] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), + ('h5py', '3.7.0'), + # At least one search engine of: RMBlast, HMMER, ABBlast/WUBlast, Cross_Match + ('HMMER', '3.3.2'), + ('RMBlast', '2.13.0'), +] + +local_default_search_engine = 'RMBlast' + +local_config_command = 'cd %(installdir)s &&' +local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' +local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' +local_config_command += '-default_search_engine %s' % local_default_search_engine.lower() + +postinstallcmds = [local_config_command] + +fix_perl_shebang_for = ['RepeatMasker'] + +sanity_check_paths = { + 'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'], + 'dirs': ['Libraries', 'util'], +} + +sanity_check_commands = ['RepeatMasker -help'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.4-foss-2022a.eb b/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.4-foss-2022a.eb new file mode 100644 index 000000000000..43e0d80adb87 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.4-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'Tarball' + +name = 'RepeatModeler' +version = '2.0.4' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatModeler is a de novo transposable element (TE) family identification and modeling package. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://www.repeatmasker.org/RepeatModeler'] +sources = [SOURCE_TAR_GZ] +checksums = ['94aad46cc70911d48de3001836fc3165adb95b2b282b5c53ab0d1da98c27a6b6'] + +dependencies = [ + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), + ('RMBlast', '2.13.0'), + ('RepeatMasker', '4.1.4'), + ('RepeatScout', '1.0.6'), + ('RECON', '1.08'), + ('Kent_tools', '442'), + ('CD-HIT', '4.8.1'), + # Optional (required for LTR pipeline): + ('MAFFT', '7.505', '-with-extensions'), + ('GenomeTools', '1.6.2'), # for LTRHarvest + ('LTR_retriever', '2.9.0'), + ('TWL-NINJA', '0.98-cluster_only'), +] + +_tmpl = "\"/'%s' =>/,/'value' => '/s|'value' =>.*|'value' => '%s'|\"" + +postinstallcmds = [ + ' '.join([ + 'sed -i', + '-e', _tmpl % ('CDHIT_DIR', '$EBROOTCDMINHIT/bin'), + '-e', _tmpl % ('GENOMETOOLS_DIR', '$EBROOTGENOMETOOLS/bin'), + '-e', _tmpl % ('LTR_RETRIEVER_DIR', '$EBROOTLTR_RETRIEVER'), + '-e', _tmpl % ('MAFFT_DIR', '$EBROOTMAFFT/bin'), + '-e', _tmpl % ('NINJA_DIR', '$EBROOTTWLMINNINJA/bin'), + '-e', _tmpl % ('RECON_DIR', '$EBROOTRECON/bin'), + '-e', _tmpl % ('REPEATMASKER_DIR', '$EBROOTREPEATMASKER'), + '-e', _tmpl % ('RMBLAST_DIR', '$EBROOTRMBLAST/bin'), + '-e', _tmpl % ('RSCOUT_DIR', '$EBROOTREPEATSCOUT'), + '-e', _tmpl % ('TRF_DIR', '$EBROOTTRF/bin'), + '-e', _tmpl % ('UCSCTOOLS_DIR', '$EBROOTKENT_TOOLS/bin'), + '%(installdir)s/RepModelConfig.pm', + ]), +] + +_bins = ['BuildDatabase', 'LTRPipeline', 'Refiner', 'RepeatClassifier', 'RepeatModeler', 'TRFMask', + 'util/CntSubst', 'util/Linup'] + +fix_perl_shebang_for = _bins + ['util/*.pl'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +sanity_check_paths = { + 'files': _bins + ['Job.pm', 'RepeatUtil.pm', 'RepModelConfig.pm'], + 'dirs': ['Libraries', 'Matrices', 'util'], +} + +sanity_check_commands = ["RepeatModeler -help | grep 'RepeatModeler - Model repetitive DNA'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatScout/RepeatScout-1.0.6-GCC-11.3.0.eb b/easybuild/easyconfigs/r/RepeatScout/RepeatScout-1.0.6-GCC-11.3.0.eb new file mode 100644 index 000000000000..b4926f2917b4 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatScout/RepeatScout-1.0.6-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'RepeatScout' +version = '1.0.6' + +homepage = 'https://www.repeatmasker.org/' +description = """De Novo Repeat Finder, Price A.L., Jones N.C. and Pevzner P.A. Developed and + tested with our multiple sequence version of RepeatScout ( 1.0.6 )""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://www.repeatmasker.org'] +sources = ['RepeatScout-%(version)s.tar.gz'] +checksums = ['31a44cf648d78356aec585ee5d3baf936d01eaba43aed382d9ac2d764e55b716'] + +dependencies = [ + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i -e 's|mkdir|mkdir -p|g' -e 's|VERSION = .*|VERSION = %(version)s|g' Makefile &&" + +installopts = 'INSTDIR="%(installdir)s"' + +sanity_check_paths = { + 'files': [name, 'build_lmer_table', 'README'], + 'dirs': [], +} + +sanity_check_commands = [("RepeatScout 2>&1 | grep 'Usage:\nRepeatScout'", '')] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RevBayes/RevBayes-1.2.1-gompi-2022a.eb b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.2.1-gompi-2022a.eb new file mode 100644 index 000000000000..525ec2e7c03f --- /dev/null +++ b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.2.1-gompi-2022a.eb @@ -0,0 +1,40 @@ +# easybuild easyconfig +# +# John Dey +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +easyblock = 'CmdCp' + +name = 'RevBayes' +version = '1.2.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': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/revbayes/revbayes/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['58c320ee7251a7a244aba57b471a6e695f3db8196ea4c9381bb2bc1076bcedfa'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.79.0'), +] + +start_dir = 'projects/cmake' +local_cmd = './build.sh -mpi true -DCMAKE_CXX_FLAGS="-pthread" -DBoost_NO_BOOST_CMAKE=ON' +cmds_map = [('', local_cmd)] + +files_to_copy = [(['projects/cmake/rb-mpi'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/rb-mpi'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb new file mode 100644 index 000000000000..530bb5151e9c --- /dev/null +++ b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb @@ -0,0 +1,55 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'Rivet' +version = '3.1.7' +local_hepmc = "HepMC3" +local_hepmcver = "3.2.5" +versionsuffix = '-%s-%s' % (local_hepmc, local_hepmcver) + +homepage = 'https://gitlab.com/hepcedar/rivet' +description = """ +Rivet toolkit (Robust Independent Validation of Experiment and Theory) + +To use your own analysis you must append the path to `RIVET_ANALYSIS_PATH`. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +# Needed since Eigen complains about assertions otherwise +# http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html +toolchainopts = {'optarch': False} + +source_urls = ['https://www.hepforge.org/archive/rivet/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d18993298b79cc9c0f086780ad5251df4647c565ba4a99b692458dcbd597378a'] + +dependencies = [ + ('Python', '3.10.4'), + ('YODA', '1.9.7'), + ('fastjet', '3.4.0'), + ('fastjet-contrib', '1.049'), + ('HepMC3', '3.2.5'), + ('GSL', '2.7') +] + +configopts = "--with-yoda=$EBROOTYODA --with-fastjet=$EBROOTFASTJET --with-hepmc3=$EBROOTHEPMC3" + +sanity_check_paths = { + 'files': ['bin/rivet-config', 'lib/libRivet.%s' % SHLIB_EXT], + 'dirs': ['share/Rivet', 'lib/Rivet'] +} + +sanity_check_commands = ["python -c 'import rivet'"] + +modloadmsg = """ +To use your own analysis you must append the path to `RIVET_ANALYSIS_PATH`. +""" + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + # 'RIVET_ANALYSIS_PATH': '/path/to/share/Rivet/', # please adapt for system-wide shared non-default analysis +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2022a.eb b/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2022a.eb new file mode 100644 index 000000000000..d748ba4f57ba --- /dev/null +++ b/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'Tarball' + +name = 'Roary' +version = '3.13.0' + +homepage = 'https://github.com/sanger-pathogens/Roary' +description = "Rapid large-scale prokaryote pan genome analysis" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/sanger-pathogens/Roary/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Roary-3.13.0_fix-CD-HIT-regexp.patch'] +checksums = [ + '375f83c8750b0f4dea5b676471e73e94f3710bc3a327ec88b59f25eae1c3a1e8', # v3.13.0.tar.gz + '28b4176ebf20c7bc6f38fdf1cf7e71cae8bd823297543f93fbc28a0c1c3cf791', # Roary-3.13.0_fix-CD-HIT-regexp.patch +] + +dependencies = [ + ('Perl', '5.34.1'), + ('CD-HIT', '4.8.1'), + ('BLAST+', '2.13.0'), + ('MCL', '14.137'), + ('BEDTools', '2.30.0'), + ('PRANK', '170427'), + ('parallel', '20220722'), + ('FastTree', '2.1.11'), + ('Kraken', '1.1.1'), + ('BioPerl', '1.7.8'), + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/roary', 'lib/Bio/Roary.pm'], + 'dirs': ['lib/Bio/Roary'], +} + +modextrapaths = {'PERL5LIB': 'lib'} + +sanity_check_commands = [ + "perldoc -lm Bio::Roary", + "roary -a", + # make sure all (optional) dependencies are found + # grep exits with '1' if no matches are found, hence we need to test the exit code ($?) + "roary -a 2>&1 | grep 'not found'; test $? -eq 1", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..864a9112c6a2 --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,163 @@ +name = 'Ruby' +version = '3.0.3' + +homepage = 'https://www.ruby-lang.org' +description = """Ruby is a dynamic, open source programming language with + a focus on simplicity and productivity. It has an elegant syntax that is + natural to read and easy to write.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac'] + +builddependencies = [('binutils', '2.38')] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# !! order of packages is important !! +# some packages have dependencies with minimum and maximum version requirements +# each version is picked as high as possible to fullfill all requirements +# packages updated on 2022-12-20 +exts_list = [ + ('ffi', '1.15.5', { + 'checksums': ['6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0'], + }), + ('childprocess', '4.1.0', { + 'checksums': ['3616ce99ccb242361ce7f2b19bf9ff3e6bc1d98b927c7edc29af8ca617ba6cd3'], + }), + ('json', '2.6.3', { + 'checksums': ['86aaea16adf346a2b22743d88f8dcceeb1038843989ab93cda44b5176c845459'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('backports', '3.23.0', { + 'checksums': ['88fc26a40083a51015faa2ba02cbdc3605cb59f183cf0868f4fb3ac02900148f'], + }), + ('arr-pm', '0.0.12', { + 'checksums': ['fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39'], + }), + ('clamp', '1.3.2', { + 'checksums': ['4f6a99a8678d51abbf1650263a74d1ac50939edc11986271431d2e03a0d7a022'], + }), + ('multipart-post', '2.2.3', { + 'checksums': ['462979de2971b8df33c2ee797fd497731617241f9dcd93960cc3caccb2dd13d8'], + }), + ('ruby2_keywords', '0.0.5', { + 'checksums': ['ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef'], + }), + ('faraday-net_http', '3.0.2', { + 'checksums': ['6882929abed8094e1ee30344a3369e856fe34530044630d1f652bf70ebd87e8d'], + }), + ('faraday', '1.2.0', { + 'checksums': ['bd5c138304ee53907f8d0747724660c3a1cdf77d530d1cecd70d141299194b99'], + }), + ('faraday_middleware', '1.2.0', { + 'checksums': ['ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af'], + }), + ('highline', '2.0.3', { + 'checksums': ['2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479'], + }), + ('net-http-pipeline', '1.0.1', { + 'checksums': ['6923ce2f28bfde589a9f385e999395eead48ccfe4376d4a85d9a77e8c7f0b22f'], + }), + ('connection_pool', '2.3.0', { + 'checksums': ['677985be912f33c90f98f229aaa0c0ddb2ef8776f21929a36eeeb25251c944da'], + }), + ('net-http-persistent', '2.9.4', { + 'checksums': ['24274d207ffe66222ef70c78a052c7ea6e66b4ff21e2e8a99e3335d095822ef9'], + }), + ('multi_json', '1.15.0', { + 'checksums': ['1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d'], + }), + ('public_suffix', '5.0.1', { + 'checksums': ['65603917ff4ecb32f499f42c14951aeed2380054fa7fc51758fc0a8d455fe043'], + }), + ('addressable', '2.8.1', { + 'checksums': ['bc724a176ef02118c8a3ed6b5c04c39cf59209607ffcce77b91d0261dbadedfa'], + }), + ('concurrent-ruby', '1.1.10', { + 'checksums': ['244cb1ca0d91ec2c15ca2209507c39fb163336994428e16fbd3f465c87bd8e68'], + }), + ('i18n', '1.12.0', { + 'checksums': ['91e3cc1b97616d308707eedee413d82ee021d751c918661fb82152793e64aced'], + }), + ('minitest', '5.16.3', { + 'checksums': ['60f81ad96ca5518e1457bd29eb826db60f86fbbdf8c05eac63b4824ef1f52614'], + }), + ('thread_safe', '0.3.6', { + 'checksums': ['9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a'], + }), + ('tzinfo', '1.1.0', { + 'checksums': ['715a47c25f8e4c2f106c92d5a97e612f84eb7e85f5822bf3d6cf615b44492abc'], + }), + ('zeitwerk', '2.6.6', { + 'checksums': ['bb397b50c31127f8dab372fa9b21da1e7c453c5b57da172ed858136c6283f826'], + }), + ('activesupport', '5.2.8.1', { + 'checksums': ['f0498c616e1b243c7b56d67920c389f959c186ad7031569e80335b42e1d22564'], + }), + ('gh', '0.18.0', { + 'checksums': ['eb93f18a88db3ba92eb888610fc53fae731d9dacfe55922b58cc3f3aca776a47'], + }), + ('launchy', '2.5.0', { + 'checksums': ['954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5'], + }), + ('ethon', '0.16.0', { + 'checksums': ['bba0da1cea8ac3e1f5cdd7cb1cb5fc78d7ac562c33736f18f0c3eb2b63053d9e'], + }), + ('typhoeus', '1.4.0', { + 'checksums': ['fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4'], + }), + ('websocket', '1.2.9', { + 'checksums': ['884b12dee993217795bb5f58acc89c0121c88bdc99df4d1636c0505dca352b36'], + }), + ('pusher-client', '0.6.2', { + 'checksums': ['c405c931090e126c056d99f6b69a01b1bcb6cbfdde02389c93e7d547c6efd5a3'], + }), + ('diff-lcs', '1.5.0', { + 'checksums': ['49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67'], + }), + ('rspec-support', '3.12.0', { + 'checksums': ['dd4d44b247ff679b95b5607ac5641d197a5f9b1d33f916123cb98fc5f917c58b'], + }), + ('rspec-mocks', '3.12.1', { + 'checksums': ['e0dd725c7d1c1417c3a1715ccc4e41c124fab6c05b2de5a91ce22d74ee301801'], + }), + ('rspec-expectations', '3.12.1', { + 'checksums': ['808b29f7f3ef4535fc897c10235b662bb6b58219406fec56158623b3a8e06c9e'], + }), + ('rspec-core', '3.12.0', { + 'checksums': ['c466f4137966526e177d2156ca45c249eeecc7ed519b23ae2fb80c4675406bc5'], + }), + ('rspec', '3.12.0', { + 'checksums': ['ccc41799a43509dc0be84070e3f0410ac95cbd480ae7b6c245543eb64162399c'], + }), + ('rack', '2.2.4', { + 'checksums': ['ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b'], + }), + ('rack-protection', '3.0.5', { + 'checksums': ['3a428f9de18ee2a4080e2fab308f20f9e98d74dcbe06ed407a8035b46ba822a8'], + }), + ('tilt', '2.0.11', { + 'checksums': ['7b180fc472cbdeb186c85d31c0f2d1e61a2c0d77e1d9fd0ca28482a9d972d6a0'], + }), + ('mustermann', '3.0.0', { + 'checksums': ['6d3569aa3c3b2f048c60626f48d9b2d561cc8d2ef269296943b03da181c08b67'], + }), + ('sinatra', '3.0.5', { + 'checksums': ['40ec7643a65d01b9c25ab5f7cafc5c67ca0b9ac523fa728345d88de69392cee7'], + }), + ('rack-test', '2.0.2', { + 'checksums': ['adadd0e957f63a34199a9fdf905a920a0b0a50795735095b4ac4bd3c13385466'], + }), + ('bundler', '2.3.26', { + 'checksums': ['1ee53cdf61e728ad82c6dbff06cfcd8551d5422e88e86203f0e2dbe9ae999e09'], + })] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..13a6f73ff7b4 --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,163 @@ +name = 'Ruby' +version = '3.0.5' + +homepage = 'https://www.ruby-lang.org' +description = """Ruby is a dynamic, open source programming language with + a focus on simplicity and productivity. It has an elegant syntax that is + natural to read and easy to write.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776'] + +builddependencies = [('binutils', '2.38')] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# !! order of packages is important !! +# some packages have dependencies with minimum and maximum version requirements +# each version is picked as high as possible to fullfill all requirements +# packages updated on 2022-12-20 +exts_list = [ + ('ffi', '1.15.5', { + 'checksums': ['6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0'], + }), + ('childprocess', '4.1.0', { + 'checksums': ['3616ce99ccb242361ce7f2b19bf9ff3e6bc1d98b927c7edc29af8ca617ba6cd3'], + }), + ('json', '2.6.3', { + 'checksums': ['86aaea16adf346a2b22743d88f8dcceeb1038843989ab93cda44b5176c845459'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('backports', '3.23.0', { + 'checksums': ['88fc26a40083a51015faa2ba02cbdc3605cb59f183cf0868f4fb3ac02900148f'], + }), + ('arr-pm', '0.0.12', { + 'checksums': ['fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39'], + }), + ('clamp', '1.3.2', { + 'checksums': ['4f6a99a8678d51abbf1650263a74d1ac50939edc11986271431d2e03a0d7a022'], + }), + ('multipart-post', '2.2.3', { + 'checksums': ['462979de2971b8df33c2ee797fd497731617241f9dcd93960cc3caccb2dd13d8'], + }), + ('ruby2_keywords', '0.0.5', { + 'checksums': ['ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef'], + }), + ('faraday-net_http', '3.0.2', { + 'checksums': ['6882929abed8094e1ee30344a3369e856fe34530044630d1f652bf70ebd87e8d'], + }), + ('faraday', '1.2.0', { + 'checksums': ['bd5c138304ee53907f8d0747724660c3a1cdf77d530d1cecd70d141299194b99'], + }), + ('faraday_middleware', '1.2.0', { + 'checksums': ['ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af'], + }), + ('highline', '2.0.3', { + 'checksums': ['2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479'], + }), + ('net-http-pipeline', '1.0.1', { + 'checksums': ['6923ce2f28bfde589a9f385e999395eead48ccfe4376d4a85d9a77e8c7f0b22f'], + }), + ('connection_pool', '2.3.0', { + 'checksums': ['677985be912f33c90f98f229aaa0c0ddb2ef8776f21929a36eeeb25251c944da'], + }), + ('net-http-persistent', '2.9.4', { + 'checksums': ['24274d207ffe66222ef70c78a052c7ea6e66b4ff21e2e8a99e3335d095822ef9'], + }), + ('multi_json', '1.15.0', { + 'checksums': ['1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d'], + }), + ('public_suffix', '5.0.1', { + 'checksums': ['65603917ff4ecb32f499f42c14951aeed2380054fa7fc51758fc0a8d455fe043'], + }), + ('addressable', '2.8.1', { + 'checksums': ['bc724a176ef02118c8a3ed6b5c04c39cf59209607ffcce77b91d0261dbadedfa'], + }), + ('concurrent-ruby', '1.1.10', { + 'checksums': ['244cb1ca0d91ec2c15ca2209507c39fb163336994428e16fbd3f465c87bd8e68'], + }), + ('i18n', '1.12.0', { + 'checksums': ['91e3cc1b97616d308707eedee413d82ee021d751c918661fb82152793e64aced'], + }), + ('minitest', '5.16.3', { + 'checksums': ['60f81ad96ca5518e1457bd29eb826db60f86fbbdf8c05eac63b4824ef1f52614'], + }), + ('thread_safe', '0.3.6', { + 'checksums': ['9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a'], + }), + ('tzinfo', '1.1.0', { + 'checksums': ['715a47c25f8e4c2f106c92d5a97e612f84eb7e85f5822bf3d6cf615b44492abc'], + }), + ('zeitwerk', '2.6.6', { + 'checksums': ['bb397b50c31127f8dab372fa9b21da1e7c453c5b57da172ed858136c6283f826'], + }), + ('activesupport', '5.2.8.1', { + 'checksums': ['f0498c616e1b243c7b56d67920c389f959c186ad7031569e80335b42e1d22564'], + }), + ('gh', '0.18.0', { + 'checksums': ['eb93f18a88db3ba92eb888610fc53fae731d9dacfe55922b58cc3f3aca776a47'], + }), + ('launchy', '2.5.0', { + 'checksums': ['954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5'], + }), + ('ethon', '0.16.0', { + 'checksums': ['bba0da1cea8ac3e1f5cdd7cb1cb5fc78d7ac562c33736f18f0c3eb2b63053d9e'], + }), + ('typhoeus', '1.4.0', { + 'checksums': ['fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4'], + }), + ('websocket', '1.2.9', { + 'checksums': ['884b12dee993217795bb5f58acc89c0121c88bdc99df4d1636c0505dca352b36'], + }), + ('pusher-client', '0.6.2', { + 'checksums': ['c405c931090e126c056d99f6b69a01b1bcb6cbfdde02389c93e7d547c6efd5a3'], + }), + ('diff-lcs', '1.5.0', { + 'checksums': ['49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67'], + }), + ('rspec-support', '3.12.0', { + 'checksums': ['dd4d44b247ff679b95b5607ac5641d197a5f9b1d33f916123cb98fc5f917c58b'], + }), + ('rspec-mocks', '3.12.1', { + 'checksums': ['e0dd725c7d1c1417c3a1715ccc4e41c124fab6c05b2de5a91ce22d74ee301801'], + }), + ('rspec-expectations', '3.12.1', { + 'checksums': ['808b29f7f3ef4535fc897c10235b662bb6b58219406fec56158623b3a8e06c9e'], + }), + ('rspec-core', '3.12.0', { + 'checksums': ['c466f4137966526e177d2156ca45c249eeecc7ed519b23ae2fb80c4675406bc5'], + }), + ('rspec', '3.12.0', { + 'checksums': ['ccc41799a43509dc0be84070e3f0410ac95cbd480ae7b6c245543eb64162399c'], + }), + ('rack', '2.2.4', { + 'checksums': ['ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b'], + }), + ('rack-protection', '3.0.5', { + 'checksums': ['3a428f9de18ee2a4080e2fab308f20f9e98d74dcbe06ed407a8035b46ba822a8'], + }), + ('tilt', '2.0.11', { + 'checksums': ['7b180fc472cbdeb186c85d31c0f2d1e61a2c0d77e1d9fd0ca28482a9d972d6a0'], + }), + ('mustermann', '3.0.0', { + 'checksums': ['6d3569aa3c3b2f048c60626f48d9b2d561cc8d2ef269296943b03da181c08b67'], + }), + ('sinatra', '3.0.5', { + 'checksums': ['40ec7643a65d01b9c25ab5f7cafc5c67ca0b9ac523fa728345d88de69392cee7'], + }), + ('rack-test', '2.0.2', { + 'checksums': ['adadd0e957f63a34199a9fdf905a920a0b0a50795735095b4ac4bd3c13385466'], + }), + ('bundler', '2.3.26', { + 'checksums': ['1ee53cdf61e728ad82c6dbff06cfcd8551d5422e88e86203f0e2dbe9ae999e09'], + })] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..245fa49d6683 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.65.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.60_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.65.0-src.tar.gz': '5828bb67f677eabf8c384020582b0ce7af884e1c84389484f7f8d00dd82c0038'}, + {'Rust-1.60_sysroot-fix-interpreter.patch': 'b59ed4c2591fc9098277299be21dd6752654f6f193d8652b7d21cb0fa0dd8716'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Python', '3.10.4', '-bare'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..757f1d6d4bf4 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-12.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.65.0' + +homepage = 'https://www.rust-lang.org' +description = """Rust is a systems programming language that runs blazingly fast, prevents segfaults, + and guarantees thread safety.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.60_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.65.0-src.tar.gz': '5828bb67f677eabf8c384020582b0ce7af884e1c84389484f7f8d00dd82c0038'}, + {'Rust-1.60_sysroot-fix-interpreter.patch': 'b59ed4c2591fc9098277299be21dd6752654f6f193d8652b7d21cb0fa0dd8716'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Python', '3.10.8', '-bare'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..aacfd1893951 --- /dev/null +++ b/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +# This seems to be actively maintained version of the code by the looks of it. +# See issue #5 +# https://github.com/somme89/rapidNJ/issues/5 +# why -march=native will not be used +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'rapidNJ' +version = '2.3.3' + +homepage = 'https://github.com/somme89/rapidNJ' +description = """RapidNJ is an algorithmic engineered implementation of canonical +neighbour-joining. It uses an efficient search heuristic to speed-up the core +computations of the neighbour-joining method that enables RapidNJ to +outperform other state-of-the-art neighbour-joining implementations.""" + +citing = """Rapid Neighbour Joining. Martin Simonsen, Thomas Mailund and Christian N. S. Pedersen. +In: Proceedings of the 8th Workshop in Algorithms in Bioinformatics (WABI), LNBI 5251, 113-122, +Springer Verlag, October 2008. +doi: 10.1007/978-3-540-87361-7_10""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/somme89/rapidNJ/archive/'] +sources = [{'filename': 'v%(version)s.tar.gz', 'download_filename': 'latest.tar.gz'}] +checksums = ['662f864cc3e5bc68aea23129f02e0062cac9ebd37e414b54c5c5e616ff4f245d'] + +builddependencies = [('binutils', '2.38')] + +files_to_copy = [(['bin/rapidnj'], 'bin')] + +# That is returning 1 instead of 0, so disabled for now +# sanity_check_commands = ['rapidnj --help'] + +sanity_check_paths = { + 'files': ['bin/rapidnj'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.64-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.64-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3ce9bf655e92 --- /dev/null +++ b/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.64-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +# Contribution from Imperial College London/UK +# uploaded: J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'rapidcsv' +version = '8.64' + +homepage = 'https://github.com/d99kris/rapidcsv' +description = """ +Rapidcsv is a C++ header-only library for CSV parsing. +While the name admittedly was inspired by the rapidjson project, +the objectives are not the same. The goal of rapidcsv is to be +an easy-to-use CSV library enabling rapid development. +For optimal performance (be it CPU or memory usage) a CSV parser +implemented for the specific use-case is likely to be more performant. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/d99kris/rapidcsv/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2ab5231b6e65f1e168dc279bbba2e34afd43c7bc6e2522726b107bcc4e8ebac'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +sanity_check_paths = { + 'files': ['include/rapidcsv.h'], + 'dirs': [''], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rasterio/rasterio-1.3.4-foss-2022a.eb b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.4-foss-2022a.eb new file mode 100644 index 000000000000..563debbbcd1e --- /dev/null +++ b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.4-foss-2022a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'rasterio' +version = '1.3.4' + +homepage = 'https://github.com/mapbox/rasterio' +description = "Rasterio reads and writes geospatial raster data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('GDAL', '3.5.0'), + ('matplotlib', '3.5.2'), # plot extra + ('boto3', '1.26.37'), # s3 extra +] + +use_pip = True + +exts_list = [ + ('affine', '2.3.1', { + 'checksums': ['d676de66157ad6af99ffd94e0f54e89dfc35b0fb7252ead2ed0ad2dca431bdd0'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('snuggs', '1.4.7', { + 'checksums': ['501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b'], + }), + (name, version, { + 'checksums': ['5a8771405276ecf00b8ee927bd0a81ec21778dcfc97e4a37d0b388f10c9a41a8'], + 'use_pip_extras': 'plot,s3', + }), +] + +fix_python_shebang_for = ['bin/jp.py', 'bin/rio'] + +sanity_check_paths = { + 'files': ['bin/rio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "jp.py --help", + "rio --help", +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..baee86381e69 --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 're2c' +version = '3.0' + +homepage = 'https://re2c.org' +description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating +fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using +traditional table-driven approach, re2c encodes the generated finite state automata directly in the form +of conditional jumps and comparisons.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b'] + +builddependencies = [('binutils', '2.39')] + +configopts = "--disable-rust" + +sanity_check_paths = { + 'files': ['bin/re2c'], + 'dirs': [], +} + +sanity_check_commands = ["re2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/redis-py/redis-py-4.5.1-foss-2022a.eb b/easybuild/easyconfigs/r/redis-py/redis-py-4.5.1-foss-2022a.eb new file mode 100644 index 000000000000..9f1b437cc0e8 --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-4.5.1-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'redis-py' +version = '4.5.1' + +homepage = 'https://github.com/redis/redis-py' +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('typing-extensions', '4.3.0'), + ('Redis', '7.0.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + (name, version, { + 'modulename': 'redis', + 'source_urls': ['https://github.com/redis/redis-py/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['d45e81f5d28024293e089ca54c65ebfca30289c1c596ce19b5d6b7a8131c92b6'], + }), +] + +moduleclass = "data" diff --git a/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2022a.eb b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2022a.eb new file mode 100644 index 000000000000..6c259ec85aa1 --- /dev/null +++ b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'regionmask' +version = '0.9.0' + +homepage = 'https://regionmask.readthedocs.io' +description = """regionmask creates masks of geographical regions. It determines to which +geographic region each grid point belongs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('geopandas', '0.12.2'), + ('rasterio', '1.3.4'), + ('Shapely', '1.8.2'), + ('xarray', '2022.6.0'), +] + +use_pip = True + +exts_list = [ + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + (name, version, { + 'checksums': ['8da1b6359756241867c4e967097810ef86b9dff4e06d11ca648fe1d607e9cf14'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/resolos/resolos-0.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/resolos/resolos-0.3.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..4a7708038c77 --- /dev/null +++ b/easybuild/easyconfigs/r/resolos/resolos-0.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'resolos' +version = '0.3.5' + +homepage = 'https://gitlab.unige.ch/resolos/resolos' +description = """Resolos is a toolkit written in Python for maintaining reproducible environments +for scientific computations. It's main goal is to enable researchers to easily +replicate environments through space (running code on HPC environment) +and time (environment preservation for long term archival). +For installation and detailed usage, check out the documentation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = { + ('Python', '3.10.4'), + ('PyYAML', '6.0'), +} + +use_pip = True + +exts_list = [ + ('click-log', '0.4.0', { + 'checksums': ['3970f8570ac54491237bcdb3d8ab5e3eef6c057df29f8c3d1151a51a9c23b975'], + }), + ('conda-pack', '0.6.0', { + 'checksums': ['615f41353fdc8793b0edb55702212273f17e40b43cc2c17493430e9c66d9f0b3'], + }), + ('semver', '2.13.0', { + 'checksums': ['fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + (name, version, { + 'checksums': ['c0fb50e36866fa591f0a7ab3567e9037c97d96f34614e86ee9cad1b62c689de2'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["r3s info"] +sanity_check_paths = { + 'files': ["bin/r3s"], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rioxarray/rioxarray-0.14.0-foss-2022a.eb b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.14.0-foss-2022a.eb new file mode 100644 index 000000000000..57c9a4816f34 --- /dev/null +++ b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.14.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'rioxarray' +version = '0.14.0' + +homepage = 'https://github.com/corteva/rioxarray' +description = "geospatial xarray extension powered by rasterio" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('rasterio', '1.3.4'), + ('pyproj', '3.4.0'), + ('xarray', '2022.6.0'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['bbbda47fd7eb04c0986df553f11aa0bdbc9846e75601b8ebd704fc8573bfb835'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..a141be4df71a --- /dev/null +++ b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'rising' +version = '0.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://rising.rtfd.io/' +description = "Provides everything needed for high performance data loading and augmentation in PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# rising archive on PyPi is incomplete as of 2022-02-05 +github_account = 'PhoenixDL' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numpy + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5294b3f9b183b4efe7e4bafb4b42caa19aa4db737e7379e8356cc575fce57662'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a.eb b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a.eb new file mode 100644 index 000000000000..828dbb0e31a1 --- /dev/null +++ b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'rising' +version = '0.2.2' + +homepage = 'https://rising.rtfd.io/' +description = "Provides everything needed for high performance data loading and augmentation in PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# rising archive on PyPi is incomplete as of 2022-02-05 +github_account = 'PhoenixDL' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numpy + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5294b3f9b183b4efe7e4bafb4b42caa19aa4db737e7379e8356cc575fce57662'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..a19bae4623f5 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-13' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['f85cc34c5127b828d8a3fa3613ef29f147c868bdaf55eb0f7406c10abbf92b32'] + +dependencies = [ + ('R', '4.2.1'), + ('JAGS', '4.3.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rmarkdown/rmarkdown-2.20-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/rmarkdown/rmarkdown-2.20-foss-2021a-R-4.1.0.eb new file mode 100644 index 000000000000..70a043c24051 --- /dev/null +++ b/easybuild/easyconfigs/r/rmarkdown/rmarkdown-2.20-foss-2021a-R-4.1.0.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'rmarkdown' +version = '2.20' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rmarkdown' +description = "Convert R Markdown documents into a variety of formats." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['d7f7059bfcb43e4b92432d69ba0e0c74ad10a20f153689262a3e848adb60159d'] + +dependencies = [ + ('R', '4.1.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..442567f3a0cb --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.21' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.7', { + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + 'modulename': False, + }), + (name, version, { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('configobj', '5.0.6', { + 'checksums': ['a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902'], + }), + ('lz4', '4.0.2', { + 'checksums': ['083b7172c2938412ae37c3a090250bfdd9e4a6e855442594f86c3608ed12729b'], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.3', { + 'checksums': ['f4ebce7d6d9d53afae84d7efd79f8d6c3dcad56e0e6be3a5d2370be0e04acea0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/yaml'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["yaml --help"] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e74ae172df4a --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.21' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + (name, version, { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('configobj', '5.0.8', { + 'checksums': ['6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97'], + }), + ('lz4', '4.3.2', { + 'checksums': ['e1431d84a9cfb23e6773e72078ce8e65cad6745816d4cbf9ae67da5ea419acda'], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.3', { + 'checksums': ['f4ebce7d6d9d53afae84d7efd79f8d6c3dcad56e0e6be3a5d2370be0e04acea0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/yaml'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["yaml --help"] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0354e336f08b --- /dev/null +++ b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'ruffus' +version = '2.8.4' + +homepage = 'http://www.ruffus.org.uk/' +description = """Ruffus is a Computation Pipeline library for python. It is open-sourced, powerful and user-friendly, + and widely used in science and bioinformatics.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6cd3d96e459a1aedcc10341f14fddedfdc13664551757fcd429a241de63826aa'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import ruffus.graph'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-foss-2021b.eb b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-foss-2021b.eb new file mode 100644 index 000000000000..1d9f666570f6 --- /dev/null +++ b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'ruffus' +version = '2.8.4' + +homepage = 'http://www.ruffus.org.uk/' +description = """Ruffus is a Computation Pipeline library for python. It is open-sourced, powerful and user-friendly, + and widely used in science and bioinformatics.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6cd3d96e459a1aedcc10341f14fddedfdc13664551757fcd429a241de63826aa'] + +dependencies = [ + ('Python', '3.9.6'), + ('Graphviz', '2.50.0'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + + +sanity_check_commands = ["python -c 'import ruffus.graph'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-11.3.0.eb new file mode 100644 index 000000000000..2f667a4e3e84 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +name = 'SAMtools' +version = '1.13' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['616ca2e051cc8009a1e9c01cfd8c7caf8b70916ddff66f3b76914079465f8c60'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.83.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.17-GCC-12.2.0.eb new file mode 100644 index 000000000000..c5f0ef791062 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.17-GCC-12.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.17' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3adf390b628219fd6408f14602a4c4aa90e63e18b395dad722ab519438a2a729'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('cURL', '7.86.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAP/SAP-1.1.3-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SAP/SAP-1.1.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..0b8512ddefa1 --- /dev/null +++ b/easybuild/easyconfigs/s/SAP/SAP-1.1.3-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'SAP' +version = '1.1.3' + +homepage = 'https://github.com/mathbio-nimr-mrc-ac-uk/SAP' +description = "SAP is a pairwise structure alignment via double dynamic programming" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'mathbio-nimr-mrc-ac-uk' +source_urls = [GITHUB_SOURCE] +sources = ['v.%(version)s.tar.gz'] +checksums = ['1ee5025f8a900cd9d9c490f7038b98d80a619e3015f2dc97b869ea3033c459e0'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Perl', '5.34.1'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': ['bin/sap'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SCIP/SCIP-3.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SCIP/SCIP-3.2.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..ac0cfca19e8d --- /dev/null +++ b/easybuild/easyconfigs/s/SCIP/SCIP-3.2.1-GCC-11.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'SCIP' +version = '3.2.1' + +homepage = 'https://www.scipopt.org/' +description = """SCIP is currently one of the fastest non-commercial solvers for mixed integer +programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a +framework for constraint integer programming and branch-cut-and-price. It +allows for total control of the solution process and the access of detailed +information down to the guts of the solver.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'scipopt' +source_urls = [GITHUB_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +checksums = ['015bdda4e681782fd03b61421b93aa3c1b913e5eea18bb8730d5fb9e4d67b4cb'] + +dependencies = [ + ('SoPlex', '2.2.1'), + ('ZIMPL', '3.3.4'), + ('GMP', '6.2.1'), + ('libreadline', '8.1'), + ('zlib', '1.2.12'), +] + +skipsteps = ['configure'] + +# prepare symlinks to installation files of dependencies +prebuildopts = 'mkdir -p lib && ' +prebuildopts += 'ln -sf "$EBROOTSOPLEX/include" "lib/spxinc" && ' +prebuildopts += 'ln -sf "$EBROOTZIMPL/include" "lib/zimplinc" && ' +prebuildopts += 'for lib in "$EBROOTSOPLEX/lib/libsoplex*.a"; do ln -sf "$lib" "lib/"; done && ' +prebuildopts += 'for lib in "$EBROOTZIMPL/lib/libzimpl*.a"; do ln -sf "$lib" "lib/"; done && ' + +# use SoPlex v2 as LP solver +buildopts = 'LPS=spx2 ' +buildopts += 'MAKESOFTLINKS=false COMP=gnu OPT=opt ' + +installopts = 'INSTALLDIR="%(installdir)s" ' +installopts += buildopts + +postinstallcmds = [ + # add extra headers to installation directory + 'cp "src/scip/misc.h" "%(installdir)s/include/scip/"', + # copy examples folder + 'cp -r "examples" "%(installdir)s/"', +] + +sanity_check_paths = { + 'files': ['bin/scip', 'lib/liblpispx2.a', 'lib/libnlpi.cppad.a', 'lib/libobjscip.a', 'lib/libscip.a'], + 'dirs': ['examples', 'include'], +} + +sanity_check_commands = ["scip -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb new file mode 100644 index 000000000000..7baa08f48254 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb @@ -0,0 +1,19 @@ +name = 'SCOTCH' +version = '6.1.0' + +homepage = 'https://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" + +toolchain = {'name': 'iimpi', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['4fe537f608f0fe39ec78807f90203f9cca1181deb16bfa93b7d4cd440e01bbd1'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-iimpi-2022a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-iimpi-2022a.eb new file mode 100644 index 000000000000..f9abb478142d --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-iimpi-2022a.eb @@ -0,0 +1,24 @@ +name = 'SCOTCH' +version = '7.0.1' + +homepage = 'https://www.labri.fr/perso/pelegrin/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['0618e9bc33c02172ea7351600fce4fccd32fe00b3359c4aabb5e415f17c06fed'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..22668b263b2b --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'SCons' +version = '4.4.0' + +homepage = 'https://www.scons.org/' +description = "SCons is a software construction tool." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': False, + 'patches': ['SCons-4.4.0_install_man_pages_correctly.patch'], + 'checksums': [ + {'SCons-4.4.0.tar.gz': '7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa'}, + {'SCons-4.4.0_install_man_pages_correctly.patch': + '9d216c2ea8e152ae1531593b17adc4042eb88f1d9524d7f3b08ace5137d6d5e7'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/scons', 'bin/sconsign'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = ["scons --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SCons/SCons-4.4.0_install_man_pages_correctly.patch b/easybuild/easyconfigs/s/SCons/SCons-4.4.0_install_man_pages_correctly.patch new file mode 100644 index 000000000000..4c482a86c5e9 --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.4.0_install_man_pages_correctly.patch @@ -0,0 +1,15 @@ +Install the man pages in the correct directory. + +Åke Sandgren, 2022-10-27 +diff -ru SCons-4.4.0.orig/setup.cfg SCons-4.4.0/setup.cfg +--- SCons-4.4.0.orig/setup.cfg 2022-07-30 23:16:02.000000000 +0200 ++++ SCons-4.4.0/setup.cfg 2022-10-27 11:55:33.457877253 +0200 +@@ -58,7 +58,7 @@ + SCons.Tool.docbook = *.* + + [options.data_files] +-. = scons.1 ++man/man1 = scons.1 + scons-time.1 + sconsign.1 + diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.26.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.26.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..c83ac06a3631 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.26.3-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.26.3' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c661205a553b7d252425f4b751ff13209e5e020b876bbfa1598494af61790057'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('X11', '20221110'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SELFIES/SELFIES-2.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SELFIES/SELFIES-2.1.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..81faead483ec --- /dev/null +++ b/easybuild/easyconfigs/s/SELFIES/SELFIES-2.1.1-GCC-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'SELFIES' +version = '2.1.1' + +homepage = 'https://github.com/aspuru-guzik-group/selfies' +description = "Robust representation of semantically constrained graphs, in particular for molecules in chemistry" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +dependencies = [ + ('Python', '3.9.6'), +] + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d8066b47e746a6ca5111143e5365ffebbb56b0b244328a61dd4e344d0125f84b'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022a.eb b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022a.eb new file mode 100644 index 000000000000..45d90b52d042 --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022a.eb @@ -0,0 +1,46 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to v4.5.1 by: +# R.QIAO +# DeepThought, Flinders University + +name = 'SEPP' +version = '4.5.1' + +homepage = 'https://github.com/smirarab/sepp' +description = """SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic +placement of short reads into reference alignments and trees.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# https://github.com/smirarab/sepp +github_account = 'smirarab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix_py10_compat.patch'] +checksums = [ + {'4.5.1.tar.gz': '51e052569ae89f586a1a94c804f09fe1b7910a3ffff7664e2005f18c7d3f717b'}, + {'SEPP-4.5.1_fix_py10_compat.patch': 'f789f421e17cb056a43a5e8db01bcdbc07c9ce30d033b2130ccbce770816875f'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('DendroPy', '4.5.2'), +] + +fix_python_shebang_for = ['bin/*.py'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bin_files = ['run_sepp.py', 'run_upp.py', 'split_sequences.py'] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sepp'] +} + +sanity_check_commands = ["%s --help" % f for f in local_bin_files] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1_fix_py10_compat.patch b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1_fix_py10_compat.patch new file mode 100644 index 000000000000..3c11d3bfe329 --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1_fix_py10_compat.patch @@ -0,0 +1,28 @@ +From 83a6f7e0422903535ba98c136351c1b34bc5c1b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cl=C3=A9o=20Cordeiro?= + <75858274+CleoCordeiro@users.noreply.github.com> +Date: Tue, 2 Aug 2022 21:17:49 -0300 +Subject: [PATCH] Update alignment.py + +fixed imports of collections for different versions of python +--- + sepp/alignment.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/sepp/alignment.py b/sepp/alignment.py +index ada5de8..c847d95 100644 +--- a/sepp/alignment.py ++++ b/sepp/alignment.py +@@ -26,7 +26,11 @@ + + from sepp.filemgr import open_with_intermediates + +-from collections import Mapping ++try: ++ from collections.abc import Mapping # noqa ++except ImportError: ++ from collections import Mapping ++ + import copy + from sepp import get_logger + import io diff --git a/easybuild/easyconfigs/s/SHAP/SHAP-0.41.0-foss-2022a.eb b/easybuild/easyconfigs/s/SHAP/SHAP-0.41.0-foss-2022a.eb new file mode 100644 index 000000000000..0e5be094112a --- /dev/null +++ b/easybuild/easyconfigs/s/SHAP/SHAP-0.41.0-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'SHAP' +version = '0.41.0' + +homepage = "https://github.com/slundberg/shap" +description = """SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any + machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley + values from game theory and their related extensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('numba', '0.56.4'), +] + +# Python 3.10.4 uses poetry 1.1.13 which needs packaging "^20.4" +preinstallopts = "sed -i 's/packaging>20.9/packaging/g' setup.py && " + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('slicer', '0.0.7', { + 'checksums': ['f5d5f7b45f98d155b9c0ba6554fa9770c6b26d5793a3e77a1030fb56910ebeec'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['a49ea4d65aadbc845a695fa3d7ea0bdfc8c928b8e213b0feedf5868ade4b3ca5'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb new file mode 100644 index 000000000000..7cb1689c5c25 --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb @@ -0,0 +1,51 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2016-2019 Juelich Supercomputing Centre, Germany +# Authors:: Markus Geimer +# Modified 2017 by Andreas Henkel +# License:: 3-clause BSD +# # + +easyblock = 'ConfigureMake' + +name = 'SIONlib' +version = '1.7.7' +# Provide a stripped-down version with renamed symbols for tools, +# see description for further details +versionsuffix = '-tools' + +homepage = 'https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """ + SIONlib is a scalable I/O library for parallel access to task-local files. + The library not only supports writing and reading binary data to or from + several thousands of processors into a single or a small number of physical + files, but also provides global open and close functions to access SIONlib + files in parallel. This package provides a stripped-down installation of + SIONlib for use with performance tools (e.g., Score-P), with renamed symbols + to avoid conflicts when an application using SIONlib itself is linked against + a tool requiring a different SIONlib version. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://apps.fz-juelich.de/jsc/%(namelower)s/download.php?version=%(version)sl'] +sources = ['%(namelower)s-%(version)sl.tar.gz'] +checksums = ['3b5072d8a32a9e9858d85dfe4dc01e7cfdbf54cdaa60660e760b634ee08d8a4c'] + +builddependencies = [ + ('binutils', '2.37'), +] + +configopts = '--disable-cxx --disable-fortran --disable-ompi ' + +# Comment it out if you have Xeon Phi: +configopts += '--disable-mic ' + +sanity_check_paths = { + 'files': ['bin/sionconfig'] + + ['lib/lib%s_64.a' % x for x in ['lsioncom', 'lsiongen', 'lsionser']], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1-foss-2021b.eb b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1-foss-2021b.eb new file mode 100644 index 000000000000..53ebb6d4cada --- /dev/null +++ b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1-foss-2021b.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'SISSO++' +version = '1.1' + +homepage = 'https://gitlab.com/sissopp_developers/sissopp' +description = "C++ implementation of SISSO with built in Python bindings for an efficient python interface" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/sissopp_developers/sissopp/-/archive/v%(version)s/'] +sources = [{ + 'git_config': { + 'url': 'https://gitlab.com/sissopp_developers/', + 'repo_name': 'sissopp', + 'recursive': True, + 'commit': 'v%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['SISSO++-1.1_cmake-mpi-fix.patch'] +checksums = [ + None, # SISSO++-1.1.tar.gz + '614f13ef34dc1d1b2fe0e9868cdcf576a0dacb336759f5295115131d15e9c35a', +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Boost.Python', '1.77.0'), + ('Boost.MPI', '1.77.0'), + ('Clp', '1.17.7'), + ('NLopt', '2.7.0'), + ('pybind11', '2.7.1'), + ('fmt', '7.1.1'), + ('googletest', '1.11.0'), +] + +preconfigopts = "export BOOST_ROOT=$EBROOTBOOSTMPI && " +configopts = "-DEXTERNAL_BOOST=ON -DBUILD_PYTHON=ON -DPYTHON_INSTDIR=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/sisso++', 'lib/libsisso.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import sissopp'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1_cmake-mpi-fix.patch b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1_cmake-mpi-fix.patch new file mode 100644 index 000000000000..d91c3e3fe6d9 --- /dev/null +++ b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1_cmake-mpi-fix.patch @@ -0,0 +1,19 @@ +workaround for $MPI_CXX_LIBRARIES being empty and CMake tripping over that with: +CMake Error at CMakeLists.txt:252 (list): + list GET given empty list +author: Kenneth Hoste (HPC-UGent) +--- sissopp/CMakeLists.txt.orig 2022-06-23 17:17:12.083398990 +0200 ++++ sissopp/CMakeLists.txt 2022-06-23 17:17:26.326311818 +0200 +@@ -248,9 +248,9 @@ + # Check MPI + find_package(MPI REQUIRED) + include_directories(${MPI_CXX_INCLUDE_DIRS}) +-set(MPI_LIBRARIES, ${MPI_CXX_LIBRARIES}) +-list(GET MPI_CXX_LIBRARIES 0 MPI_LIBRARY) +-get_filename_component(MPI_DIR ${MPI_LIBRARY} DIRECTORY) ++#set(MPI_LIBRARIES, ${MPI_CXX_LIBRARIES}) ++#list(GET MPI_CXX_LIBRARIES 0 MPI_LIBRARY) ++#get_filename_component(MPI_DIR ${MPI_LIBRARY} DIRECTORY) + + # Build libnlopt + if(BUILD_PARAMS) diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.17.2-foss-2022a.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.17.2-foss-2022a.eb new file mode 100644 index 000000000000..216e5e154d29 --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.17.2-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.17.2' + +homepage = 'https://slepc.upv.es' +description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution + of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for + either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a + partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f784cca83a14156631d6e0f5726ca0778e259e1fe40c927607d5fb12d958d705'] + +dependencies = [('PETSc', '3.17.4')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.18.2-intel-2021b.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.18.2-intel-2021b.eb new file mode 100644 index 000000000000..1db8a8efa481 --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.18.2-intel-2021b.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.18.2' + +homepage = 'https://www.grycap.upv.es/slepc/' +description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution + of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for + either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a + partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5bd90a755934e702ab1fdb3320b9fe75ab5fc28c93d364248ea86a372fbe6a62'] + +dependencies = [('PETSc', '3.18.4')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5-foss-2022a.eb b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5-foss-2022a.eb new file mode 100644 index 000000000000..d72d6e89e6ba --- /dev/null +++ b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5-foss-2022a.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'SMAP' +version = '4.6.5' + +homepage = 'https://ngs-smap.readthedocs.io' +description = "SMAP is an analysis tool for stack-based NGS read mapping" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Autotools', '20220317'), # required for isal +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for pandas + ('matplotlib', '3.5.2'), + ('BEDTools', '2.30.0'), + ('pybedtools', '0.9.0'), + ('Pysam', '0.19.1'), + ('Biopython', '1.79'), + ('openpyxl', '3.0.10'), + ('plotly.py', '5.12.0'), +] + +use_pip = True + +exts_list = [ + ('setuptools', '67.6.1', { + 'checksums': ['257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a'], + }), + ('colorlog', '6.7.0', { + 'checksums': ['bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5'], + }), + ('primer3-py', '1.2.0', { + 'checksums': ['9e511e90987d4beda11f1f065b81805bc0c26a08084154e87fda46136ecf7518'], + 'modulename': 'primer3', + }), + ('dnaio', '0.10.0', { + 'checksums': ['de51a50948f00b864297d74eddb588fbee5ac229855754e77564d18b24619d18'], + }), + ('isal', '1.1.0', { + 'checksums': ['1364f4e3255a57d51c01422ab3ae785a43c076d516ebf49f6a25adecf8232105'], + }), + ('xopen', '1.7.0', { + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + # smap-haplotype-window 1.8.1 requires cutadapt <= 4.1 (requires cutadapt.utils.reverse_complemented_sequence) + ('cutadapt', '4.1', { + 'checksums': ['be745ff24adfb4a3eaf715dfad0e2ccdfad7792ef00c1122adf4fbf3aed9227b'], + }), + ('ngs-smap', version, { + 'patches': ['SMAP-4.6.5_no-bin-bedtools.patch'], + 'checksums': [ + {'ngs-smap-4.6.5.tar.gz': 'bd6fd5a9fb5be66c5d21410376ed6b13eeb23da040c498d60dad6a8fb45d9d5e'}, + {'SMAP-4.6.5_no-bin-bedtools.patch': 'a43460694378628129d2cd3373e850fccb2ca330680f6fea3e31db9e4589d7ca'}, + ], + 'preinstallopts': "rm bin/bedtools && sed -i 's/~=/>=/g' setup.cfg && ", + 'modulename': 'smap', + }), + ('smap-haplotype-window', '1.8.1', { + 'checksums': ['5e244ecec8cb798d294014378c735dd2ab3d32f8266c7d161cf733099715fbbe'], + 'modulename': 'smap_window', + }), + ('gffpandas', '1.2.0', { + 'checksums': ['1a1e1c5c5120bf46ec57517222ebb42ffaab3f768c972fec54c4ac1b07b7f0c6'], + }), + ('smap-effect-prediction', '0.1.2', { + 'checksums': ['af16135eb3a2d9c22287a06d595010c46957711358734d73daaa21059ac27ca2'], + 'preinstallopts': "sed -i 's/~=/>=/g' setup.cfg && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/smap'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["smap compare --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5_no-bin-bedtools.patch b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5_no-bin-bedtools.patch new file mode 100644 index 000000000000..a895ac74cab4 --- /dev/null +++ b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5_no-bin-bedtools.patch @@ -0,0 +1,15 @@ +don't install pre-compiled 'bedtools' binary, since BEDTools is provided as a proper dependency via EasyBuild +author: Kenneth Hoste (HPC-UGent) +--- ngs-smap-4.6.5/setup.cfg.orig 2022-10-11 09:59:22.522325500 +0200 ++++ ngs-smap-4.6.5/setup.cfg 2023-04-07 16:48:58.434620448 +0200 +@@ -49,10 +49,6 @@ + sphinx_rtd_theme~=1.0.0 + sphinx-tabs~=3.2.0 + +-[options.data_files] +-bin = +- bin/bedtools +- + [egg_info] + tag_build = + tag_date = 0 diff --git a/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-11.3.0.eb new file mode 100644 index 000000000000..4cfa5eebd919 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'SNAP-HMM' +version = '20221022' +_commit = '4ad1e95' + +homepage = 'https://korflab.github.io/' +description = """ +SNAP is a general purpose gene finding program suitable for both eukaryotic and +prokaryotic genomes. SNAP is an acroynm for Semi-HMM-based Nucleic Acid +Parser. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/KorfLab/SNAP/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': '%(version)s.tar.gz'}] +patches = ['%(name)s-20190603_makefile_correction.patch'] +checksums = [ + {'20221022.tar.gz': 'a85726b7d4199da1b213b613057600012a392ef1aa20198f1d571fac55bf643f'}, + {'SNAP-HMM-20190603_makefile_correction.patch': 'd518750d4cf01278ba5403ab5717cfcd65b75b5a7c6573ae140f1cdb56b9e655'}, +] + +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon" && ' + +files_to_copy = [ + (['hmm-assembler.pl', 'zff2gff3.pl', 'fathom', 'forge', 'snap', 'Zoe/zoe-loop'], 'bin'), + 'DNA', + 'HMM', + 'Zoe', +] + +sanity_check_paths = { + 'files': ['bin/snap', 'bin/forge', 'bin/zoe-loop'], + 'dirs': ['Zoe'], +} + +sanity_check_commands = [ + 'snap 2>&1 | grep "^usage:"', + 'zoe-loop | grep "^usage:"', +] + +modextrapaths = {'ZOE': 'Zoe'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..ca3aa98f6b69 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'SNAP' +version = '2.0.1' + +homepage = 'https://www.microsoft.com/en-us/research/project/snap' +description = """Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for + high-throughput sequencing data""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'cstd': 'c++98'} + +source_urls = ['https://github.com/amplab/snap/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f199c583e054c50ca6f3b61f27066640b7c829e5c5e8083841596a2869c064'] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [(['snap-aligner', 'SNAPCommand'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snap-aligner', 'bin/SNAPCommand'], + 'dirs': [], +} + +sanity_check_commands = ["snap-aligner --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..635c79371826 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'SNAP' +version = '2.0.1' + +homepage = 'https://www.microsoft.com/en-us/research/project/snap' +description = """Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for + high-throughput sequencing data""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++98'} + +source_urls = ['https://github.com/amplab/snap/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f199c583e054c50ca6f3b61f27066640b7c829e5c5e8083841596a2869c064'] + +dependencies = [('zlib', '1.2.12')] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [(['snap-aligner', 'SNAPCommand'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snap-aligner', 'bin/SNAPCommand'], + 'dirs': [], +} + +sanity_check_commands = ["snap-aligner --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-12.2.0.eb new file mode 100644 index 000000000000..c7b19e83bc5e --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'SNAP' +version = '2.0.1' + +homepage = 'https://www.microsoft.com/en-us/research/project/snap' +description = """Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for + high-throughput sequencing data""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'cstd': 'c++98'} + +source_urls = ['https://github.com/amplab/snap/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f199c583e054c50ca6f3b61f27066640b7c829e5c5e8083841596a2869c064'] + +dependencies = [('zlib', '1.2.12')] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [(['snap-aligner', 'SNAPCommand'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snap-aligner', 'bin/SNAPCommand'], + 'dirs': [], +} + +sanity_check_commands = ["snap-aligner --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.3.0.eb new file mode 100644 index 000000000000..63024d01cc2b --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('SQLite', '3.38.3'), + ('PostgreSQL', '14.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/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb new file mode 100644 index 000000000000..4bc38b801604 --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.3.0.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# 3.9.0: +# Modified by: +# Adam Huffman +# The Francis Crick Institute +# Updated by: +# Filip Kružík (INUITS) + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.15.5' + +homepage = 'https://cab.spbu.ru/software/spades/' +description = "Genome assembler for single-cell and isolates data sets" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://cab.spbu.ru/files/release%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['155c3640d571f2e7b19a05031d1fd0d19bd82df785d38870fb93bd241b12bbfa'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('Python', '3.10.4'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('libreadline', '8.1.2'), +] + +start_dir = 'src' + +configopts = " -DBoost_NO_BOOST_CMAKE=ON" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['spades-bwa', 'spades-core', 'spades-gbuilder', 'spades-hammer', + 'spades-ionhammer', 'spades-kmercount', 'spades.py']], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s.py', '--test')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2021a.eb b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2021a.eb new file mode 100644 index 000000000000..d93dd122cba4 --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2021a.eb @@ -0,0 +1,51 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'SPOOLES' +version = '2.2' + +homepage = 'https://netlib.org/linalg/spooles/spooles.2.2.html' +description = """SPOOLES is a library for solving sparse real and complex linear + systems of equations, written in the C language using object oriented design. +""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://netlib.org/linalg/spooles'] +sources = ['%(namelower)s.%(version)s.tgz'] +patches = [ + '%(name)s-2.2_build-mpi-mt.patch', + '%(name)s-2.2_shared-libs.patch', +] +checksums = [ + {'spooles.2.2.tgz': 'a84559a0e987a1e423055ef4fdf3035d55b65bbe4bf915efaa1a35bef7f8c5dd'}, + {'SPOOLES-2.2_build-mpi-mt.patch': 'c983c7f37eb0904959cd2f6dff0b1fdb6a36440ca2a044fb2d324fd301e3dd7c'}, + {'SPOOLES-2.2_shared-libs.patch': 'bca50e13e3c552240f7494c4d9f69be8725054c9f79ebc82dbe6b7531588d09e'}, +] + +builddependencies = [ + ('Autotools', '20210128'), + ('Perl', '5.32.1', '-minimal'), +] + +build_cmd_targets = 'lib' +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" MPI_LIB_PATH="-L$MPI_LIB_DIR" MPI_INCLUDE_DIR="-I$MPI_INC_DIR"' + +files_to_copy = [ + (['libspooles*'], 'lib'), +] + +# install header files, keeping relative subdirectories +_install_headers = " ".join([ + "cd %(builddir)s && mkdir -p %(installdir)s/include/spooles &&", + r"find . -name '*.h' -print -exec install -D {} %(installdir)s/include/spooles/{} \;" +]) + +postinstallcmds = [_install_headers] + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/spooles'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_build-mpi-mt.patch b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_build-mpi-mt.patch new file mode 100644 index 000000000000..29c060a2d41c --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_build-mpi-mt.patch @@ -0,0 +1,38 @@ +Author: Jasper Grimm +Description: build multithreaded, MPI targets by default +diff -Nru spooles-2.2.orig/MPI/makefile spooles-2.2.p1/MPI/makefile +--- spooles-2.2.orig/MPI/makefile 1998-12-17 15:47:44.000000000 +0000 ++++ spooles-2.2.p1/MPI/makefile 2022-11-25 16:07:34.000000000 +0000 +@@ -2,7 +2,7 @@ + cd drivers ; make drivers + + lib : +- cd src ; make spoolesMPI.a ++ cd src ; make makeLib + + clean : + cd src ; make clean +diff -Nru spooles-2.2.orig/MPI/src/makefile spooles-2.2.p1/MPI/src/makefile +--- spooles-2.2.orig/MPI/src/makefile 1998-12-16 21:54:41.000000000 +0000 ++++ spooles-2.2.p1/MPI/src/makefile 2022-11-25 16:08:18.000000000 +0000 +@@ -42,3 +42,8 @@ + + clean : + - rm -f *.a *.o ++ ++makeLib: ++ perl ../../makeLib > makeG ++ make -f makeG ++ rm -f makeG +diff -Nru spooles-2.2.orig/MT/makefile spooles-2.2.p1/MT/makefile +--- spooles-2.2.orig/MT/makefile 1998-12-17 15:47:48.000000000 +0000 ++++ spooles-2.2.p1/MT/makefile 2022-11-25 16:08:55.000000000 +0000 +@@ -2,7 +2,7 @@ + cd drivers ; make drivers + + lib : +- cd src ; make spoolesMT.a ++ cd src ; make makeLib + + clean : + cd src ; make clean diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_shared-libs.patch b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_shared-libs.patch new file mode 100644 index 000000000000..0de7fd03168d --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_shared-libs.patch @@ -0,0 +1,45 @@ +Author: Jasper Grimm +Description: add targets to build shared libraries +diff -Nru spooles-2.2.p1/makefile spooles-2.2.p2/makefile +--- spooles-2.2.p1/makefile 2022-11-25 16:06:54.000000000 +0000 ++++ spooles-2.2.p2/makefile 2022-11-25 16:14:28.000000000 +0000 +@@ -123,8 +123,10 @@ + cd Utilities ; make lib + cd ZV ; make lib + cd misc ; make lib +-#cd MPI ; make lib +-#cd MT ; make lib ++ cd MPI ; make lib ++ cd MT ; make lib ++ $(CC) -shared */*/*.lo -Wl,-soname,libspooles.so.2.2 -o libspooles.so.2.2 -lmpi -lpthread -lm ++ ln -s libspooles.so.2.2 libspooles.so + + global : + cd A2/src ; make -f makeGlobalLib +diff -Nru spooles-2.2.p1/makeLib spooles-2.2.p2/makeLib +--- spooles-2.2.p1/makeLib 2022-11-25 16:06:54.000000000 +0000 ++++ spooles-2.2.p2/makeLib 2022-11-25 16:13:02.000000000 +0000 +@@ -64,14 +64,19 @@ + $srcname = " \\\n " . $src ; + print $srcname ; + } ++print "\n\n.SUFFIXES: .c .o .lo .a .so" ; + print "\n\nOBJ_FILES = \$\{SRC:.c=.o\}" ; ++print "\n\nLOBJ_FILES = \$\{SRC:.c=.lo\}" ; + print "\n\n" ; + print <<'EOF' ; + .c.o : +- $(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o ++ $(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o $(MPI_INCLUDE_DIR) + +-../../spooles.a : ${OBJ_FILES} +- $(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o ++.c.lo: ++ $(PURIFY) $(CC) -c $(CFLAGS) $*.c -fPIC -DPIC -o $(OBJ)_$*.lo $(MPI_INCLUDE_DIR) ++ ++../../libspooles.a : ${OBJ_FILES} ${LOBJ_FILES} ++ $(AR) $(ARFLAGS) ../../libspooles.a $(OBJ)_*.o + rm -f $(OBJ)_*.o +- $(RANLIB) ../../spooles.a ++ $(RANLIB) ../../libspooles.a + EOF diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..cc6b559ef739 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.39.4' +local_filename_version = '3390400' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2022/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['f31d445b48e67e284cf206717cc170ab63cbe4fd7f79a82793b772285e78fdbb'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.12'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-gompi-2021b.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-gompi-2021b.eb new file mode 100644 index 000000000000..7ddb91ba5ab3 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-gompi-2021b.eb @@ -0,0 +1,83 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'SRA-Toolkit' +version = '3.0.0' + +homepage = 'https://github.com/ncbi/sra-tools' +description = """The SRA Toolkit, and the source-code SRA System Development + Kit (SDK), will allow you to programmatically access data housed within SRA + and convert it from the SRA format""" +github_account = 'ncbi' + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'extra_cflags': '-lxml2 -lz -llzma'} + +source_urls = ['https://github.com/ncbi/sra-tools/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['SRA-Toolkit-%(version)s_fix-LD_LIBRARY_PATH.patch'] +checksums = [ + {'SRA-Toolkit-3.0.0.tar.gz': 'b6e8116ecb196b91d5ee404cc978a128eec9af24bdc96f57ff7ebfaf9059a760'}, + {'SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch': '80b764584e377150cbc706463ef2c72e517d1a3e7493f13e26d6e7875cd7d16a'}, +] + +builddependencies = [ + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('CMake', '3.21.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('Java', '11', '', SYSTEM), +] + +dependencies = [ + ('ncbi-vdb', '3.0.0'), + ('file', '5.41'), + ('HDF5', '1.12.1'), + ('libxml2', '2.9.10'), + ('Szip', '2.1.1'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('gzip', '1.10'), +] + +# Add addtional libraries needed to statically link HDF5 from EB +preconfigopts = "sed -i 's/-Wl,-Bstatic -lhdf5 -Wl,-Bdynamic/-lhdf5 -Wl,-Bdynamic " +preconfigopts += "-lmpi -lsz -lz -llzma -lpthread -licucore -lm /' setup/konfigure.perl && " + +# Change default build directory and add paths to dependencies in EB +configopts = '--build-prefix=%(builddir)s --with-magic-prefix=$EBROOTFILE ' +configopts += '--with-hdf5-prefix=$EBROOTHDF5 --with-xml2-prefix=$EBROOTLIBXML2 ' +configopts += '--with-ncbi-vdb-prefix=$EBROOTNCBIMINVDB' + +# Replace hardcoded optimization flags with flags from EB +prebuildopts = "sed -i 's/-sm/-sm -lmpi -lsz/' tools/pacbio-load/Makefile && " +prebuildopts += "find build/ -name \"ld*.sh\" -exec sed -i " +prebuildopts += "'s/-lxml2/-lxml2 -lz -llzma -lpthread -licucore -lm /g' {} + && " +prebuildopts += "find build/ -name \"Makefile*\" -exec sed -i 's/-O3/$(EBFLAGS)/g' {} + && " +prebuildopts += 'export EBFLAGS="$CFLAGS" && ' + +# Replace hardcoded optimization flags with flags from EB +preinstallopts = 'EBFLAGS="$CFLAGS" ' + +local_bin = ['abi-dump', 'abi-load', 'align-info', 'bam-load', 'cache-mgr', 'cg-load', 'copycat', 'fasterq-dump', + 'fastq-dump', 'fastq-load', 'helicos-load', 'illumina-dump', 'illumina-load', 'kar', 'kdbmeta', + 'latf-load', 'magic', 'pacbio-load', 'prefetch', 'rcexplain', 'sam-dump', 'sff-dump', 'sff-load', + 'srapath', 'sra-pileup', 'sra-sort', 'sra-stat', 'sratools', 'srf-load', 'test-sra', 'vdb-config', + 'vdb-copy', 'vdb-decrypt', 'vdb-dump', 'vdb-encrypt', 'vdb-get', 'vdb-lock', 'vdb-passwd', 'vdb-unlock', + 'vdb-validate'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin] + + ['include/ncbi-vdb/NGS.hpp'], + 'dirs': [] +} + +sanity_check_commands = [ + "abi-dump --help", + "kar --help", + "sra-sort --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch new file mode 100644 index 000000000000..c43e9026374b --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch @@ -0,0 +1,35 @@ +appending to LD_LIBRARY_PATH, rather than rewriting it +updated: Denis Kristak (INUITS) +diff -ruN sra-tools-3.0.0.orig/build/ld.linux.dlib.sh sra-tools-3.0.0/build/ld.linux.dlib.sh +--- sra-tools-3.0.0.orig/build/ld.linux.dlib.sh 2022-02-10 14:00:25.000000000 -0800 ++++ sra-tools-3.0.0/build/ld.linux.dlib.sh 2022-08-18 12:09:51.955470000 -0700 +@@ -83,8 +83,7 @@ + done + + # update LD_LIBRARY_PATH +- unset LD_LIBRARY_PATH +- export LD_LIBRARY_PATH="$LDIRS:$XDIRS" ++ export LD_LIBRARY_PATH="$LDIRS:$XDIRS:$LD_LIBRARY_PATH" + + # tack on libraries, finding as we go + for LIB in $LIBS +@@ -308,4 +307,4 @@ + echo "$MSG" >> $LOGFILE + + "$BUILD_DIR/scm-collect.sh" "$OBJS" "$SLIBS" | sort -u > "$TARG.md5" +-fi +\ No newline at end of file ++fi +diff -ruN sra-tools-3.0.0.orig/build/ld.linux.exe.sh sra-tools-3.0.0/build/ld.linux.exe.sh +--- sra-tools-3.0.0.orig/build/ld.linux.exe.sh 2022-02-10 14:00:25.000000000 -0800 ++++ sra-tools-3.0.0/build/ld.linux.exe.sh 2022-08-18 12:10:58.180786000 -0700 +@@ -96,8 +96,7 @@ + done + + # update LD_LIBRARY_PATH +- unset LD_LIBRARY_PATH +- export LD_LIBRARY_PATH="$LDIRS:$XDIRS" ++ export LD_LIBRARY_PATH="$LDIRS:$XDIRS:$LD_LIBRARY_PATH" + + # tack on libraries, finding as we go + for LIB in $LIBS \ No newline at end of file diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3-gompi-2022a.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3-gompi-2022a.eb new file mode 100644 index 000000000000..a7423e09e62c --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3-gompi-2022a.eb @@ -0,0 +1,71 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'SRA-Toolkit' +version = '3.0.3' + +homepage = 'https://github.com/ncbi/sra-tools' +description = """The SRA Toolkit, and the source-code SRA System Development + Kit (SDK), will allow you to programmatically access data housed within SRA + and convert it from the SRA format""" +github_account = 'ncbi' + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'extra_cflags': '-DH5_USE_110_API'} + +source_urls = ['https://github.com/ncbi/sra-tools/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ["SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch"] +checksums = [ + {'SRA-Toolkit-3.0.3.tar.gz': 'ea4b9a4b2e6e40e6b2bf36b01eb8df2b50280ef9dcdc66b504c1d1296600afbd'}, + {'SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch': + 'e21861b114269593e73b2415137bc4f016f98c5a2e02b5e626fadad7d01c754e'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Perl', '5.34.1', '-minimal'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', '3.0.2'), + ('bzip2', '1.0.8'), + ('file', '5.43'), + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('zlib', '1.2.12'), +] + +configopts = '-DVDB_INCDIR="$EBROOTNCBIMINVDB/include" -DVDB_LIBDIR="$EBROOTNCBIMINVDB/lib" ' +configopts += '-DBUILD_TOOLS_LOADERS=ON -DBUILD_TOOLS_INTERNAL=ON' + +_sra_bin = [ + 'abi-dump', 'abi-load', 'align-info', 'bam-load', 'cache-mgr', 'cg-load', 'copycat', 'fasterq-dump', 'fastq-dump', + 'fastq-load', 'helicos-load', 'illumina-dump', 'illumina-load', 'kar', 'kdbmeta', 'latf-load', 'pacbio-load', + 'prefetch', 'rcexplain', 'sam-dump', 'sff-dump', 'sff-load', 'srapath', 'sra-pileup', 'sra-sort', 'sra-stat', + 'sratools', 'srf-load', 'test-sra', 'vdb-config', 'vdb-copy', 'vdb-decrypt', 'vdb-dump', 'vdb-encrypt', 'vdb-lock', + 'vdb-unlock', 'vdb-validate', +] + +_ngs_libs = ['libncbi-ngs.a', 'libncbi-ngs-c++.a', 'libncbi-ngs.%s' % SHLIB_EXT, + 'libngs-c++.a', 'libngs-c++.%s' % SHLIB_EXT] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _sra_bin] + ['lib/%s' % l for l in _ngs_libs], + 'dirs': ['jar', 'include/ncbi-vdb', 'include/ngs'] +} + +sanity_check_commands = [ + "abi-dump --help", + "kar --help", + "sra-sort --help", +] + +modextrapaths = {'CLASSPATH': 'jar/ngs-java.jar'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch new file mode 100644 index 000000000000..f39ee2864abf --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch @@ -0,0 +1,34 @@ +Remove non-existing obj directory from the working directory path of ngs-doc_javadoc +see issue https://github.com/ncbi/sra-tools/issues/771 +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru sra-tools-3.0.3.orig/ngs/ngs-java/CMakeLists.txt sra-tools-3.0.3/ngs/ngs-java/CMakeLists.txt +--- sra-tools-3.0.3.orig/ngs/ngs-java/CMakeLists.txt 2023-02-09 01:06:27.885993000 +0100 ++++ sra-tools-3.0.3/ngs/ngs-java/CMakeLists.txt 2023-02-09 01:10:51.430171000 +0100 +@@ -140,17 +140,12 @@ + set(SRC_FILES "${SRC_FILES} ${f}") + endforeach() + +- if( ${OS} STREQUAL "windows" ) +- set( NGS_JAVADOC_DIR ${TARGDIR} ) +- else() +- set( NGS_JAVADOC_DIR ${TARGDIR}/obj ) +- endif() + if ( Java_JAR_EXECUTABLE AND NOT (${OS} STREQUAL "windows") ) + add_custom_target( + ngs-doc-jar ALL COMMAND + bash -c "${Java_JAR_EXECUTABLE} -cf ${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar ." + DEPENDS ngs-doc_javadoc +- WORKING_DIRECTORY "${NGS_JAVADOC_DIR}/ngs/ngs-java/javadoc/ngs-doc" ++ WORKING_DIRECTORY "${TARGDIR}/ngs/ngs-java/javadoc/ngs-doc" + ) + install( FILES ${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar DESTINATION ${CMAKE_INSTALL_PREFIX}/jar/ ) + +@@ -166,7 +161,7 @@ + ngs-doc-jar ALL COMMAND + "${Java_JAR_EXECUTABLE}" -cf "${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar" . + DEPENDS ngs-doc_javadoc +- WORKING_DIRECTORY "${NGS_JAVADOC_DIR}/ngs/ngs-java/javadoc/ngs-doc" ++ WORKING_DIRECTORY "${TARGDIR}/ngs/ngs-java/javadoc/ngs-doc" + ) + install( FILES ${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar DESTINATION ${CMAKE_INSTALL_PREFIX}/jar/ ) + diff --git a/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..f8abd16d82d3 --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.3.0.eb @@ -0,0 +1,48 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'SSW' +version = '1.1' + +homepage = 'https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library' +description = """SSW is a fast implementation of the Smith-Waterman algorithm, which uses the + Single-Instruction Multiple-Data (SIMD) instructions to parallelize the algorithm at the + instruction level. SSW library provides an API that can be flexibly used by programs written in + C, C++ and other languages. We also provide a software that can do protein and genome alignment + directly. Current version of our implementation is ~50 times faster than an ordinary + Smith-Waterman. It can return the Smith-Waterman score, alignment location and traceback path + (cigar) of the optimal alignment accurately; and return the sub-optimal alignment score and + location heuristically. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.1_build-cpp-lib.patch'] +checksums = [ + 'cdbc20740daeb188ed39413ea5ff9ae4cf72c4d7ccff1d2de2cac0446d64d99f', # v1.1.tar.gz + 'fe0d1f536ecd526dda8879b2f41b62c3c82b39d236f023ee735c1c18d584f06a', # SSW-1.1_build-cpp-lib.patch +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +start_dir = 'src' + +buildopts = 'default' + +files_to_copy = [ + (['ssw_test'], 'bin'), + (['*.%s*' % SHLIB_EXT], 'lib'), + (['*.h'], 'include/ssw'), +] + +sanity_check_paths = { + 'files': ['bin/ssw_test', 'lib/libssw.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SSW/SSW-1.2.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.2.4-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..38ed30716b3a --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.2.4-GCCcore-10.3.0.eb @@ -0,0 +1,50 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'SSW' +version = '1.2.4' + +homepage = 'https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library' +description = """SSW is a fast implementation of the Smith-Waterman algorithm, which uses the + Single-Instruction Multiple-Data (SIMD) instructions to parallelize the algorithm at the + instruction level. SSW library provides an API that can be flexibly used by programs written in + C, C++ and other languages. We also provide a software that can do protein and genome alignment + directly. Current version of our implementation is ~50 times faster than an ordinary + Smith-Waterman. It can return the Smith-Waterman score, alignment location and traceback path + (cigar) of the optimal alignment accurately; and return the sub-optimal alignment score and + location heuristically. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.2.4_build-cpp-lib.patch'] +checksums = [ + 'a87b1904368bffe051ab6ea538543ec1520473a5d6d94204bd6fa8e39d0cf336', # v1.2.4.tar.gz + '1513b57036d671e84921c46f24699f9d4bfc8e587811498d72c19c64942320c5', # SSW-1.2.4_build-cpp-lib.patch +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +start_dir = 'src' + +buildopts = 'default' + +files_to_copy = [ + (['ssw_test'], 'bin'), + (['*.%s*' % SHLIB_EXT], 'lib'), + (['*.h'], 'include/ssw'), +] + +sanity_check_paths = { + 'files': ['bin/ssw_test', 'lib/libssw.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["ssw_test 2>&1 | grep 'Usage:'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SSW/SSW-1.2.4_build-cpp-lib.patch b/easybuild/easyconfigs/s/SSW/SSW-1.2.4_build-cpp-lib.patch new file mode 100644 index 000000000000..52132023a074 --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.2.4_build-cpp-lib.patch @@ -0,0 +1,88 @@ +Patch created by Jasper Grimm (UoY) +Updated by Sebastien Moretti (SIB) +Fix typo (JAVA_INLCUDES -> JAVA_INCLUDES) +Build dynamic library as well as static +Add ssw_cpp.* to library targets +Respect CPPFLAGS +--- SSW.orig/src/Makefile 2022-05-23 16:00:57.000000000 +0200 ++++ SSW/src/Makefile 2022-11-09 12:12:46.526022508 +0100 +@@ -1,46 +1,49 @@ +-CC = gcc +-CXX = g++ +-CFLAGS += -Wall -pipe -O2 ++CC ?= gcc ++CXX ?= g++ ++#CFLAGS += -Wall -pipe -O2 + #CFLAGS += -Wall -pipe -g -fsanitize=address # for debug +-CXXFLAGS := $(CFLAGS) ++#CXXFLAGS := $(CFLAGS) + LOBJS = ssw.o + LCPPOBJS = ssw_cpp.o + PROG = ssw_test +-LIB = libssw.so ++SOVERSION = 0 ++LIB = libssw.so.$(SOVERSION) + EXAMPLE = example_c + EXAMPLE_CPP = example_cpp + JAVA_JAR = ssw.jar + JAVA_LIB = libsswjni.so +-JAVA_INLCUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux ++JAVA_INCLUDES = -I"$(JAVA_HOME)/include" -I"$(JAVA_HOME)/include/linux" + JAVA_OBJ = ssw/Aligner.class ssw/Alignment.class ssw/Example.class + + .PHONY: all default java clean + +-default: $(PROG) $(EXAMPLE) $(EXAMPLE_CPP) $(LIB) ++default: $(PROG) $(EXAMPLE) $(EXAMPLE_CPP) $(LIB) + core: $(PROG) + java: java_home $(JAVA_JAR) $(JAVA_LIB) + all: default java + +-$(LIB): ssw.c ssw.h +- $(CC) $(CFLAGS) -fPIC -shared -rdynamic -o $@ $< ++$(LIB): ssw.c ssw.h ssw_cpp.h ssw_cpp.cpp ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -shared -rdynamic -Wl,-soname,$(LIB) -o $@ $^ $(LDFLAGS) ++ ln -sf $(LIB) libssw.so + +-$(PROG): main.c kseq.h ++$(PROG): main.c kseq.h $(LIB) ++ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ main.c kseq.h -L. -lssw -lm -lz $(LDFLAGS) + + $(EXAMPLE): example.c + + ifdef __arm__ # (M1) +-$(PROG) $(EXAMPLE): $(LOBJS) +- $(CC) -o $@ $(filter-out %.h,$^) $(CFLAGS) $(LDFLAGS) -lm -lz -march=armv8-a+fp+simd+crypto+crc ++$(EXAMPLE): $(LOBJS) ++ $(CC) -o $@ $(filter-out %.h,$^) $(CPPFLAGS) $(CFLAGS) -lm -lz $(LDFLAGS) -march=armv8-a+fp+simd+crypto+crc + else # x86(Intel) +-$(PROG) $(EXAMPLE): $(LOBJS) +- $(CC) -o $@ $(filter-out %.h,$^) $(CFLAGS) $(LDFLAGS) -lm -lz ++$(EXAMPLE): $(LOBJS) ++ $(CC) -o $@ $(filter-out %.h,$^) $(CPPFLAGS) $(CFLAGS) -lm -lz $(LDFLAGS) + endif + + $(EXAMPLE_CPP): example.cpp $(LOBJS) $(LCPPOBJS) +- $(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS) -lm -lz ++ $(CXX) -o $@ $^ $(CPPFLAGS) $(CXXFLAGS) -lm -lz $(LDFLAGS) + + $(JAVA_LIB): sswjni.c ssw.c ssw.h +- $(CC) $(CFLAGS) $(JAVA_INLCUDES) -fPIC -shared -rdynamic -o $@ $< ssw.c ++ $(CC) $(CPPFLAGS) $(CFLAGS) $(JAVA_INCLUDES) -fPIC -shared -rdynamic -o $@ $< ssw.c $(LDFLAGS) + + $(JAVA_JAR): $(JAVA_OBJ) + jar cvfe $@ ssw.Example $^ +@@ -55,10 +58,10 @@ + endif + + ssw.o: ssw.c ssw.h +- $(CC) -c -o $@ $< $(CFLAGS) ++ $(CC) -c -o $@ $< $(CPPFLAGS) $(CFLAGS) + + ssw_cpp.o: ssw_cpp.cpp ssw_cpp.h ssw.h +- $(CXX) -c -o $@ $< $(CXXFLAGS) ++ $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) + + clean: +- -rm -f $(LOBJS) $(LCPPOBJS) $(PROG) $(LIB) $(EXAMPLE) $(EXAMPLE_CPP) $(JAVA_LIB) $(JAVA_JAR) $(JAVA_OBJ) *~ ++ -rm -f $(LOBJS) $(LCPPOBJS) $(PROG) $(LIB) $(EXAMPLE) $(EXAMPLE_CPP) $(JAVA_LIB) $(JAVA_JAR) $(JAVA_OBJ) *~ diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007-r8.eb new file mode 100644 index 000000000000..4a95d4c1766f --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007-r8.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '17.06.007' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['d6417d2b778afb5e7222d0bf174e335c158b418f530f2e860cae32d1a48e4bfa'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007.eb new file mode 100644 index 000000000000..bace577350af --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007.eb @@ -0,0 +1,13 @@ +name = 'STAR-CCM+' +version = '17.06.007' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['b8c9d142deffde4ff9e9d8524cc2dc20e9f0035238b0ecebb8ea25e594c9165b'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb new file mode 100644 index 000000000000..503f868c6911 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb @@ -0,0 +1,15 @@ +name = 'STAR-CCM+' +version = '18.02.008' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain tarball from Siemens' +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['20b061fbf981a9e4ce1e6ebbb7d390bbc6f400f89076adf3441a3da39f98a87c'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008.eb new file mode 100644 index 000000000000..0100c5c4d69a --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '18.02.008' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain tarball from Siemens' +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['4a9480952aef945d59452fc0a81e294e60d883539781ce989e159fdd963022a1'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-11.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-11.3.0.eb new file mode 100644 index 000000000000..4a34f49d8fec --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# Based on STAR-2.7.7a-GCC-10.2.0.eb +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.10b' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-%(version)s_use-external-htslib.patch'] +checksums = [ + {'2.7.10b.tar.gz': '0d1b71de6c5be1c5d90b32130d2abcd5785a4fc7c1e9bf19cc391947f2dc46e5'}, + {'STAR-2.7.10b_use-external-htslib.patch': '1d8a24532a384b3065001c672e486b74094f162cb98829d2ec961401215de7da'}, +] + +dependencies = [ + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12'), +] + +start_dir = 'source' + +buildopts = ' %(name)s && make %(name)slong' + +files_to_copy = [ + (['source/%(name)s', 'source/%(name)slong'], 'bin'), + 'CHANGES.md', 'doc', 'extras', 'LICENSE', 'README.md', 'RELEASEnotes.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/%(name)slong'], + 'dirs': [], +} + +sanity_check_commands = [ + "STAR --help", + "STARlong --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.10b_use-external-htslib.patch b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b_use-external-htslib.patch new file mode 100644 index 000000000000..414186f55fca --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b_use-external-htslib.patch @@ -0,0 +1,111 @@ +Use external HTSlib from EasyBuild environment +see also PR https://github.com/alexdobin/STAR/pull/1586 +author: Alex Domingo (Vrije Univeristeit Brussel) +diff -Nru STAR-2.7.10b.orig/source/bam_cat.c STAR-2.7.10b/source/bam_cat.c +--- STAR-2.7.10b.orig/source/bam_cat.c 2023-02-21 14:44:38.187161000 +0100 ++++ STAR-2.7.10b/source/bam_cat.c 2023-02-21 14:46:21.311793000 +0100 +@@ -52,8 +52,8 @@ + #include + #include + +-#include "htslib/htslib/bgzf.h" +-#include "htslib/htslib/sam.h" ++#include "htslib/bgzf.h" ++#include "htslib/sam.h" + #include + + #define BUF_SIZE 0x10000 +diff -Nru STAR-2.7.10b.orig/source/bam_cat.h STAR-2.7.10b/source/bam_cat.h +--- STAR-2.7.10b.orig/source/bam_cat.h 2023-02-21 14:44:38.186786000 +0100 ++++ STAR-2.7.10b/source/bam_cat.h 2023-02-21 14:46:11.808189000 +0100 +@@ -1,7 +1,7 @@ + #ifndef CODE_bam_cat + #define CODE_bam_cat + +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + + int bam_cat(int nfn, char * const *fn, const bam_hdr_t *h, const char* outbam); + +diff -Nru STAR-2.7.10b.orig/source/BAMfunctions.cpp STAR-2.7.10b/source/BAMfunctions.cpp +--- STAR-2.7.10b.orig/source/BAMfunctions.cpp 2023-02-21 14:44:38.227596000 +0100 ++++ STAR-2.7.10b/source/BAMfunctions.cpp 2023-02-21 14:46:37.915155000 +0100 +@@ -1,5 +1,5 @@ + #include "BAMfunctions.h" +-#include "htslib/htslib/kstring.h" ++#include "htslib/kstring.h" + + + string bam_cigarString (bam1_t *b) {//output CIGAR string +diff -Nru STAR-2.7.10b.orig/source/bamRemoveDuplicates.cpp STAR-2.7.10b/source/bamRemoveDuplicates.cpp +--- STAR-2.7.10b.orig/source/bamRemoveDuplicates.cpp 2023-02-21 14:44:38.193941000 +0100 ++++ STAR-2.7.10b/source/bamRemoveDuplicates.cpp 2023-02-21 14:46:30.200913252 +0100 +@@ -1,7 +1,7 @@ + #include + #include "bamRemoveDuplicates.h" + #include +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include "IncludeDefine.h" + #include SAMTOOLS_BGZF_H + #include "ErrorWarning.h" +diff -Nru STAR-2.7.10b.orig/source/IncludeDefine.h STAR-2.7.10b/source/IncludeDefine.h +--- STAR-2.7.10b.orig/source/IncludeDefine.h 2023-02-21 14:44:38.231926000 +0100 ++++ STAR-2.7.10b/source/IncludeDefine.h 2023-02-21 14:46:49.536916000 +0100 +@@ -30,8 +30,8 @@ + #define ERROR_OUT string ( __FILE__ ) +":"+ to_string ( (uint) __LINE__ ) +":"+ string ( __FUNCTION__ ) + + //external libs +-#define SAMTOOLS_BGZF_H "htslib/htslib/bgzf.h" +-#define SAMTOOLS_SAM_H "htslib/htslib/sam.h" ++#define SAMTOOLS_BGZF_H "htslib/bgzf.h" ++#define SAMTOOLS_SAM_H "htslib/sam.h" + + using namespace std; + +diff -Nru STAR-2.7.10b.orig/source/Makefile STAR-2.7.10b/source/Makefile +--- STAR-2.7.10b.orig/source/Makefile 2023-02-21 14:44:38.183938000 +0100 ++++ STAR-2.7.10b/source/Makefile 2023-02-21 14:45:47.871479235 +0100 +@@ -12,8 +12,8 @@ + CXX ?= g++ + + # pre-defined flags +-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz +-LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz ++LDFLAGS_shared := -pthread -L$(EBROOTHTSLIB)/lib -Bstatic -lhts -Bdynamic -lz ++LDFLAGS_static := -static -static-libgcc -pthread -L$(EBROOTHTSLIB)/lib -lhts -lz + LDFLAGS_Mac :=-pthread -lz htslib/libhts.a + LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a + LDFLAGS_gdb := $(LDFLAGS_shared) +@@ -131,7 +131,7 @@ + ifneq ($(MAKECMDGOALS),clean_solo) + ifneq ($(MAKECMDGOALS),STARforMac) + ifneq ($(MAKECMDGOALS),STARforMacGDB) +-Depend.list: $(SOURCES) parametersDefault.xxd htslib ++Depend.list: $(SOURCES) parametersDefault.xxd + echo $(SOURCES) + 'rm' -f ./Depend.list + $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list +diff -Nru STAR-2.7.10b.orig/source/signalFromBAM.h STAR-2.7.10b/source/signalFromBAM.h +--- STAR-2.7.10b.orig/source/signalFromBAM.h 2023-02-21 14:44:38.178725000 +0100 ++++ STAR-2.7.10b/source/signalFromBAM.h 2023-02-21 14:46:04.073689000 +0100 +@@ -1,6 +1,6 @@ + #ifndef CODE_signalFromBAM + #define CODE_signalFromBAM +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include + #include + #include "Stats.h" +diff -Nru STAR-2.7.10b.orig/source/STAR.cpp STAR-2.7.10b/source/STAR.cpp +--- STAR-2.7.10b.orig/source/STAR.cpp 2023-02-21 14:44:38.241555000 +0100 ++++ STAR-2.7.10b/source/STAR.cpp 2023-02-21 14:46:59.073420225 +0100 +@@ -30,7 +30,7 @@ + + #include "twoPassRunPass1.h" + +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include "parametersDefault.xxd" + + void usage(int usageType) { diff --git a/easybuild/easyconfigs/s/STREAM/STREAM-5.10-GCC-11.3.0.eb b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-GCC-11.3.0.eb new file mode 100644 index 000000000000..a8616f8d1a69 --- /dev/null +++ b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CmdCp' + +name = 'STREAM' +version = '5.10' + +homepage = 'https://www.cs.virginia.edu/stream/' +description = """The STREAM benchmark is a simple synthetic benchmark program that measures sustainable + memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://www.cs.virginia.edu/stream/FTP/Code/'] +sources = [{'download_filename': '%(namelower)s.c', 'filename': 'stream-%(version)s.c', 'extract_cmd': "cp %s ."}] +checksums = ['a52bae5e175bea3f7832112af9c085adab47117f7d2ce219165379849231692b'] + +# 10 million array elements (1000 runs): requires ~224MB of memory +local_cmds = "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=10000000 -DNTIMES=1000 -o stream_1Kx10M; " +# 100 million array elements (1000 runs): requires ~2.2GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=1000 -o stream_1Kx100M; " +# 1 billion array elements (1000 runs): requires ~22.4 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=1000000000 -DNTIMES=1000 -o stream_1Kx1B; " +# 2.5 billion array elements (1000 runs): requires ~56 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=2500000000 -DNTIMES=1000 -o stream_1Kx2.5B; " +# 5 billion array elements (1000 runs): requires ~111 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=5000000000 -DNTIMES=1000 -o stream_1Kx5B; " + +cmds_map = [('stream-%(version)s.c', local_cmds)] + +files_to_copy = [(['stream_1Kx10M', 'stream_1Kx100M', 'stream_1Kx1B', 'stream_1Kx2.5B', 'stream_1Kx5B'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/stream_1Kx10M', 'bin/stream_1Kx100M', 'bin/stream_1Kx1B', 'bin/stream_1Kx2.5B', 'bin/stream_1Kx5B'], + 'dirs': [], +} + +tests = ['%(installdir)s/bin/stream_1Kx10M'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2022.2.1.eb new file mode 100644 index 000000000000..c2939d477665 --- /dev/null +++ b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2022.2.1.eb @@ -0,0 +1,39 @@ +easyblock = 'CmdCp' + +name = 'STREAM' +version = '5.10' + +homepage = 'https://www.cs.virginia.edu/stream/' +description = """The STREAM benchmark is a simple synthetic benchmark program that measures sustainable + memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} +toolchainopts = {'openmp': True} + +source_urls = ['https://www.cs.virginia.edu/stream/FTP/Code/'] +sources = [{'download_filename': '%(namelower)s.c', 'filename': 'stream-%(version)s.c', 'extract_cmd': "cp %s ."}] +checksums = ['a52bae5e175bea3f7832112af9c085adab47117f7d2ce219165379849231692b'] + +# 10 million array elements (1000 runs): requires ~224MB of memory +local_cmds = "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=10000000 -DNTIMES=1000 -o stream_1Kx10M; " +# 100 million array elements (1000 runs): requires ~2.2GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=1000 -o stream_1Kx100M; " +# 1 billion array elements (1000 runs): requires ~22.4 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=1000000000 -DNTIMES=1000 -o stream_1Kx1B; " +# 2.5 billion array elements (1000 runs): requires ~56 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=2500000000 -DNTIMES=1000 -o stream_1Kx2.5B; " +# 5 billion array elements (1000 runs): requires ~111 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=5000000000 -DNTIMES=1000 -o stream_1Kx5B; " + +cmds_map = [('stream-%(version)s.c', local_cmds)] + +files_to_copy = [(['stream_1Kx10M', 'stream_1Kx100M', 'stream_1Kx1B', 'stream_1Kx2.5B', 'stream_1Kx5B'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/stream_1Kx10M', 'bin/stream_1Kx100M', 'bin/stream_1Kx1B', 'bin/stream_1Kx2.5B', 'bin/stream_1Kx5B'], + 'dirs': [], +} + +tests = ['%(installdir)s/bin/stream_1Kx10M'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb b/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb index 795b2a954b26..69fdbfcbd240 100644 --- a/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb +++ b/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb @@ -26,7 +26,7 @@ dependencies = [ ('scikit-image', '0.19.1'), ] -local_preconfigopts = "sed -i -e '/\ +# License:: GLPv2 +# +# Notes:: +## +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# Thanks to people like Simon Brandord, Mikael Oehmann and Kenneth Hoste +# for their help with the ICE + +easyblock = 'CMakeMake' + +name = 'Salmon' +version = '1.9.0' + +homepage = 'https://github.com/COMBINE-lab/salmon' +description = """Salmon is a wicked-fast program to produce a highly-accurate, + transcript-level quantification estimates from RNA-seq data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'COMBINE-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['450d953a5c43fe63fd745733f478d3fbaf24d926cb52731fd38ee21c4990d613'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('jemalloc', '5.2.1'), + ('Cereal', '1.3.0', '', SYSTEM), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('tbb', '2021.5.0'), + ('cURL', '7.83.0'), + ('libiconv', '1.17'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), +] + +# Disable link-time optimizations (-flto) because it triggers a segfault/internal compiler error (ICE) +# this issue might magically disappear in future versions of Salmon or GCC +# see https://github.com/COMBINE-lab/salmon/issues/778 +configopts = '-DJEMALLOC_ROOT=$EBROOTJEMALLOC -DNO_IPO=1' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'] + ['lib/lib%s.a' % x for x in ['graphdump', 'ntcard', 'salmon_core', 'twopaco']], + 'dirs': [], +} + +sanity_check_commands = ["salmon --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.10-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.10-fb.eb new file mode 100644 index 000000000000..5b5a3e57d380 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.10-fb.eb @@ -0,0 +1,43 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2022.10'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb new file mode 100644 index 000000000000..fc9fc30a11c5 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb @@ -0,0 +1,43 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2022.07-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2022.07-fb.eb new file mode 100644 index 000000000000..ebb363f77596 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2022.07-fb.eb @@ -0,0 +1,43 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'nvompi', 'version': '2022.07'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' +configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb new file mode 100644 index 000000000000..0169c602509e --- /dev/null +++ b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb @@ -0,0 +1,52 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +easyblock = 'EB_Score_minus_P' + +name = 'Scalasca' +version = '2.6.1' + +homepage = 'https://www.scalasca.org/' +description = """ + Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The + analysis identifies potential performance bottlenecks -- in particular + those concerning communication and synchronization -- and offers guidance + in exploring their causes. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0dbc3de82a6c0fe598de9e340513cff2882c199410a632d3a7f073ba921c7e7'] + +builddependencies = [ + ('CubeWriter', '4.8'), +] + +dependencies = [ + ('CubeGUI', '4.8'), + ('CubeLib', '4.8'), + ('OTF2', '3.0.2'), + ('Score-P', '8.0'), +] + +sanity_check_paths = { + 'files': ['bin/scalasca', 'lib/libpearl.replay.a'], + 'dirs': [], +} + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Scalene/Scalene-1.5.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.13-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..5f49d35f2d68 --- /dev/null +++ b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.13-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'Scalene' +version = '1.5.13' + +homepage = 'https://github.com/plasma-umass/scalene' +description = """Scalene is a high-performance CPU, GPU and memory profiler for Python that does a number of things +that other Python profilers do not and cannot do. It runs orders of magnitude faster than other profilers while +delivering far more detailed information.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + ('pynvml', '11.4.1', { + 'checksums': ['b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['0077d517249cfa6ad0953d85c9656bdaca57b863159bbb78969987d9bdbb539c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/scalene'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["scalene --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb index 1f87241aa7bc..d37d76cfc386 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb @@ -48,7 +48,7 @@ exts_list = [ ('pandas', '1.1.4', { 'checksums': ['a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6'], # strip out use of -Werror to avoid failing compilation due to Intel compiler warning - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, }), ('mpmath', '1.1.0', { 'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb index 804efa8e7458..d5dd17674e68 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb @@ -48,7 +48,7 @@ exts_list = [ ('pandas', '1.1.4', { 'checksums': ['a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6'], # strip out use of -Werror to avoid failing compilation due to Intel compiler warning - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, }), ('mpmath', '1.1.0', { 'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb index 7157731622e1..2c0770da7e91 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb @@ -49,7 +49,7 @@ exts_list = [ 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], }), ('pandas', '1.2.4', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'], }), ('mpmath', '1.2.1', { diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-gomkl-2021a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-gomkl-2021a.eb new file mode 100644 index 000000000000..3f0596710cc9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-gomkl-2021a.eb @@ -0,0 +1,71 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2021.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gomkl', 'version': '2021a'} +toolchainopts = {'pic': True, 'lowopt': True, 'strict': True} + +builddependencies = [('hypothesis', '6.13.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('pybind11', '2.6.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.20.3', { + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.20.3_disable-broken-override-test.patch', + 'numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch', + 'numpy-1.20.3_fix-target-test-ccompiler-opt.patch', + 'numpy-1.20.3_disable_fortran_callback_test.patch', + ], + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': [ + 'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip + 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch + # numpy-1.20.3_disable-broken-override-test.patch + '43cc2e675c52db1776efcc6c84ebd5fc008b48e6355c81087420d5e790e4af9b', + # numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch + '4c0b194c9d2e2c6b9798ebc271d4517f4c3cdbf2b3cbd68de16c7d4b068bb046', + # numpy-1.20.3_fix-target-test-ccompiler-opt.patch + '3d84e8b7d48387778974a5f6ae342a690ab5989547206b6add9d9667f8d7572a', + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + ], + }), + ('scipy', '1.6.3', { + 'checksums': ['a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707'], + }), + ('mpi4py', '3.0.3', { + 'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'], + }), + ('numexpr', '2.7.3', { + 'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'], + }), + ('Bottleneck', '1.3.2', { + 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], + }), + ('pandas', '1.2.4', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.1', { + 'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb index aa048beb986f..3deadeac9d68 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb @@ -55,7 +55,7 @@ exts_list = [ 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], }), ('pandas', '1.2.4', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'], }), ('mpmath', '1.2.1', { diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb index ab9ea01f26a1..46f9647ad263 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb @@ -57,7 +57,7 @@ exts_list = [ 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], }), ('pandas', '1.3.4', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc'], }), ('mpmath', '1.2.1', { diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb index 737e076e2ed0..87a1dfe31757 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb @@ -68,7 +68,7 @@ exts_list = [ 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], }), ('pandas', '1.3.4', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc'], }), ('mpmath', '1.2.1', { diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb index b91dbcd6c46c..e07fdee1c039 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb @@ -66,18 +66,15 @@ exts_list = [ 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], }), ('pandas', '1.4.2', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], }), - ('deap', '1.3.1', { - 'patches': ['deap-1.3.1_no_2to3.patch'], - 'checksums': [ - '11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f', # deap-1.3.1.tar.gz - '3fa9fac74b0750ac6667371ce0634c797d62d270c76eee9c258b55f4a5a5e689', # deap-1.3.1_no_2to3.patch - ], + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', }), ] diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb index 28d43bd947cf..ce504e9607ab 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb @@ -69,18 +69,15 @@ exts_list = [ 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], }), ('pandas', '1.4.2', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], }), - ('deap', '1.3.1', { - 'patches': ['deap-1.3.1_no_2to3.patch'], - 'checksums': [ - '11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f', # deap-1.3.1.tar.gz - '3fa9fac74b0750ac6667371ce0634c797d62d270c76eee9c258b55f4a5a5e689', # deap-1.3.1_no_2to3.patch - ], + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', }), ] diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb index d6fbee5059bf..06ad5e918f63 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb @@ -68,18 +68,15 @@ exts_list = [ 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], }), ('pandas', '1.4.2', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], }), - ('deap', '1.3.1', { - 'patches': ['deap-1.3.1_no_2to3.patch'], - 'checksums': [ - '11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f', # deap-1.3.1.tar.gz - '3fa9fac74b0750ac6667371ce0634c797d62d270c76eee9c258b55f4a5a5e689', # deap-1.3.1_no_2to3.patch - ], + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', }), ] diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb index c7dd812dcad2..a07d23a7f561 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb @@ -68,18 +68,15 @@ exts_list = [ 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], }), ('pandas', '1.4.2', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], }), - ('deap', '1.3.1', { - 'patches': ['deap-1.3.1_no_2to3.patch'], - 'checksums': [ - '11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f', # deap-1.3.1.tar.gz - '3fa9fac74b0750ac6667371ce0634c797d62d270c76eee9c258b55f4a5a5e689', # deap-1.3.1_no_2to3.patch - ], + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', }), ] diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb new file mode 100644 index 000000000000..9f60a08cff4a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -0,0 +1,87 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.02' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2022b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.68.2'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), # required by scipy +] + +dependencies = [ + ('Python', '3.10.8'), + ('pybind11', '2.10.3'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.24.2', { + 'patches': ['numpy-1.22.3_disable-broken-override-test.patch'], + 'checksums': [ + {'numpy-1.24.2.tar.gz': '003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.12.1', { + 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], + }), + ('scipy', '1.10.1', { + 'patches': [ + 'scipy-1.10.1_disable-tests.patch', + 'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch', + 'scipy-1.10.1_fix-lobpcg-test.patch', + ], + 'checksums': [ + {'scipy-1.10.1.tar.gz': '2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'}, + {'scipy-1.10.1_disable-tests.patch': '5d36d416fb7ea9297514c3988d9f506793e39dc4c0daedccf6733c3dd7e3dcc0'}, + {'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch': + '48177d6af51cf3e3d46aed8425807f0a65a498f7558f475032e0ad846559a23e'}, + {'scipy-1.10.1_fix-lobpcg-test.patch': 'eb4c576959108df0b1749705e64fe42e79edcf5aa8f6b4d7908f9b136d0d6648'}, + ], + 'enable_slow_tests': True, + 'ignore_test_result': False, + }), + ('numexpr', '2.8.4', { + 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], + }), + ('Bottleneck', '1.3.5', { + 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], + }), + ('pandas', '1.5.3', { + 'preinstallopts': "export PANDAS_CI=0 && ", + 'checksums': ['74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch new file mode 100644 index 000000000000..46ed2e2c0f5a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch @@ -0,0 +1,41 @@ +disable problematic tests +test_milp_timeout_16545 fails intermittently, known issue - see https://github.com/scipy/scipy/issues/17137 +test_hermitian_modes fails with order of magnitude difference +test_concatenate_int32_overflow fails if not enough memory is available +author: Kenneth Hoste (HPC-UGent) + Simon Branford (University of Birmingham) +diff -ru scipy-1.10.1.orig/scipy/optimize/tests/test_milp.py scipy-1.10.1/scipy/optimize/tests/test_milp.py +--- scipy-1.10.1.orig/scipy/optimize/tests/test_milp.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/optimize/tests/test_milp.py 2023-02-25 15:43:57.780477222 +0100 +@@ -283,7 +283,7 @@ + @pytest.mark.timeout(360) + @pytest.mark.parametrize(["options", "msg"], [({"time_limit": 10}, _msg_time), + ({"node_limit": 1}, _msg_iter)]) +-def test_milp_timeout_16545(options, msg): ++def disabled_test_milp_timeout_16545(options, msg): + # Ensure solution is not thrown away if MILP solver times out + # -- see gh-16545 + rng = np.random.default_rng(5123833489170494244) +diff -ru scipy-1.10.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py scipy-1.10.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py +--- scipy-1.10.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 2023-02-25 15:44:06.220493384 +0100 +@@ -418,7 +418,7 @@ + None, sigma, mattype, None, mode) + + +-def test_hermitian_modes(): ++def disabled_test_hermitian_modes(): + params = SymmetricParams() + k = 2 + symmetric = True +diff -ru scipy-1.10.1.orig/scipy/sparse/tests/test_construct.py scipy-1.10.1/scipy/sparse/tests/test_construct.py +--- scipy-1.10.1.orig/scipy/sparse/tests/test_construct.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/sparse/tests/test_construct.py 2023-02-25 15:44:25.259531626 +0100 +@@ -446,7 +446,7 @@ + + @pytest.mark.slow + @pytest.mark.xfail_on_32bit("Can't create large array for test") +- def test_concatenate_int32_overflow(self): ++ def disable_test_concatenate_int32_overflow(self): + """ test for indptr overflow when concatenating matrices """ + check_free_memory(30000) + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-lobpcg-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-lobpcg-test.patch new file mode 100644 index 000000000000..45668de46ae3 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-lobpcg-test.patch @@ -0,0 +1,29 @@ +change test for a warning to filterwarnings since the code may or not issue a warning depending on an arch +see https://github.com/scipy/scipy/issues/17954 + https://github.com/scipy/scipy/pull/17975 +diff --git a/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py b/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py +index afd7a106ea0..87f3756c37d 100644 +--- a/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py ++++ b/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py +@@ -255,17 +255,18 @@ + _check_fiedler(12, 2) + + +-@pytest.mark.skipif(platform.machine() == 'aarch64', +- reason="issue #15935") ++@pytest.mark.filterwarnings("ignore:Failed at iteration") ++@pytest.mark.filterwarnings("ignore:Exited at iteration") ++@pytest.mark.filterwarnings("ignore:Exited postprocessing") + def test_failure_to_run_iterations(): + """Check that the code exists gracefully without breaking. Issue #10974. ++ The code may or not issue a warning, filtered out. Issue #15935, #17954. + """ + rnd = np.random.RandomState(0) + X = rnd.standard_normal((100, 10)) + A = X @ X.T + Q = rnd.standard_normal((X.shape[0], 4)) +- with pytest.warns(UserWarning, match="Failed at iteration"): +- eigenvalues, _ = lobpcg(A, Q, maxiter=40, tol=1e-12) ++ eigenvalues, _ = lobpcg(A, Q, maxiter=40, tol=1e-12) + assert(np.max(eigenvalues) > 0) + + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch new file mode 100644 index 000000000000..c2a2f234e4ee --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch @@ -0,0 +1,15 @@ +also xfail test_maxiter_worsening for Python 3.10 on aarch64 +see also https://github.com/scipy/scipy/issues/13019 + https://github.com/scipy/scipy/pull/13022 +author: Kenneth Hoste (HPC-UGent) +diff -ru scipy-1.10.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py scipy-1.10.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py +--- scipy-1.10.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py 1970-01-01 00:00:00.000000000 +0000 ++++ scipy-1.10.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-02-25 17:18:12.432151563 +0000 +@@ -451,7 +451,7 @@ + + @pytest.mark.parametrize("solver", [ + pytest.param(gmres, marks=pytest.mark.xfail(platform.machine() == 'aarch64' +- and sys.version_info[1] == 9, ++ and sys.version_info[1] >= 9, + reason="gh-13019")), + qmr, + pytest.param(lgmres, marks=pytest.mark.xfail( diff --git a/easybuild/easyconfigs/s/Scoary/Scoary-1.6.16-foss-2021a.eb b/easybuild/easyconfigs/s/Scoary/Scoary-1.6.16-foss-2021a.eb new file mode 100644 index 000000000000..5deaefa438cd --- /dev/null +++ b/easybuild/easyconfigs/s/Scoary/Scoary-1.6.16-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Scoary' +version = '1.6.16' + +homepage = 'https://github.com/AdmiralenOla/Scoary' +description = "Microbial pan-GWAS using the output from Roary" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Tkinter', '%(pyver)s'), + ('ETE', '3.1.2'), +] + +use_pip = True + +exts_list = [ + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + (name, version, { + 'source_tmpl': 'scoary-%(version)s.tar.gz', + 'checksums': ['f433343422c5805a70a20f7fe83851490ae3cdf07745c65680de5feea40a6dca'], + 'modulename': 'scoary.methods', + }), +] + +sanity_check_paths = { + 'files': ['bin/scoary', 'bin/scoary_GUI', 'bin/vcf2scoary'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +sanity_check_commands = [('scoary', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompi-2019b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompi-2019b.eb new file mode 100644 index 000000000000..3dd96f49b75c --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompi-2019b.eb @@ -0,0 +1,62 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '6.0' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2019b'} + +source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-6.0_no_PDT_for_CUDA.patch'] +checksums = [ + '5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz + '93e3fc5d19a89d14ce98fb772b4d9ddde4191df3ce321c9965602aa12d43fa93', # Score-P-6.0_no_PDT_for_CUDA.patch +] + +dependencies = [ + ('CubeLib', '4.4.4'), + ('CubeWriter', '4.4.3'), + # Unwinding/sampling support (optional): + ('libunwind', '1.3.1'), + ('OPARI2', '2.0.5'), + ('OTF2', '2.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2019a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2019a.eb new file mode 100644 index 000000000000..5219154c2330 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2019a.eb @@ -0,0 +1,55 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '6.0' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompic', 'version': '2019a'} + +source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = [ + '5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz +] + +dependencies = [ + ('CubeLib', '4.4.4'), + ('CubeWriter', '4.4.3'), + # Unwinding/sampling support (optional): + ('libunwind', '1.3.1'), + ('OPARI2', '2.0.5'), + ('OTF2', '2.2'), + # Hardware counter support (optional): + ('PAPI', '5.7.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/scorep', 'include/scorep/SCOREP_User.h', + 'lib/libscorep_adapter_mpi_event.a', + 'lib/libscorep_adapter_mpi_event.%s' % SHLIB_EXT], + 'dirs': [], +} + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2020a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2020a.eb new file mode 100644 index 000000000000..53b2cfb994fa --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2020a.eb @@ -0,0 +1,64 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '6.0' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompic', 'version': '2020a'} + +source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] +sources = ['scorep-%(version)s.tar.gz'] +patches = [ + 'Score-P-6.0_binutils_2.34_api_change.patch', + 'Score-P-6.0_no_PDT_for_CUDA.patch', +] +checksums = [ + '5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz + 'c64a3c0b666a75b114e29a48c8d1f5e420be3674a0fba2b37ecd50630ba2d45c', # Score-P-6.0_binutils_2.34_api_change.patch + '93e3fc5d19a89d14ce98fb772b4d9ddde4191df3ce321c9965602aa12d43fa93', # Score-P-6.0_no_PDT_for_CUDA.patch +] + +dependencies = [ + ('CubeLib', '4.4.4'), + ('CubeWriter', '4.4.3'), + # Unwinding/sampling support (optional): + ('libunwind', '1.3.1'), + ('OPARI2', '2.0.5'), + ('OTF2', '2.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2020b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2020b.eb new file mode 100644 index 000000000000..f24cb4ef9f2b --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2020b.eb @@ -0,0 +1,57 @@ +# # +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +name = 'Score-P' +version = '7.0' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996'] + +dependencies = [ + ('CubeLib', '4.6'), + ('CubeWriter', '4.6'), + ('libunwind', '1.4.0'), + ('OPARI2', '2.0.6'), + ('OTF2', '2.3'), + # Hardware counter support (optional): + ('PAPI', '6.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb index 9fc1ae2e8bb7..e77349154570 100644 --- a/easybuild/easyconfigs/s/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/s/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb @@ -46,7 +46,7 @@ dependencies = [ configopts = '--enable-shared' local_adapters = [ - 'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' + 'compiler_event', 'compiler_mgmt', 'cuda_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' ] sanity_check_paths = { 'files': diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b-CUDA-11.4.1.eb new file mode 100644 index 000000000000..3d4041c3221e --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b-CUDA-11.4.1.eb @@ -0,0 +1,62 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.5.0'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b.eb new file mode 100644 index 000000000000..1ccef10d1bb2 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b.eb @@ -0,0 +1,59 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'] + +dependencies = [ + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.5.0'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..e16a1e6fc6d0 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,62 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '7.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a.eb new file mode 100644 index 000000000000..3b6348b0077d --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a.eb @@ -0,0 +1,59 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' + +homepage = 'https://www.score-p.org' +description = """ + The Score-P measurement infrastructure is a highly scalable and easy-to-use + tool suite for profiling, event tracing, and online analysis of HPC + applications. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'] + +dependencies = [ + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '7.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt' +] +sanity_check_paths = { + 'files': + ['bin/scorep', 'include/scorep/SCOREP_User.h'] + + ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)], + 'dirs': [], +} +sanity_check_commands = ['scorep-config --help'] + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/SeaView/SeaView-5.0.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SeaView/SeaView-5.0.5-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..73a13c69dbfc --- /dev/null +++ b/easybuild/easyconfigs/s/SeaView/SeaView-5.0.5-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'SeaView' +version = '5.0.5' + +homepage = 'https://doua.prabi.fr/software/seaview' +description = """SeaView is a multiplatform, graphical user interface for multiple sequence alignment + and molecular phylogeny.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/%(namelower)s/archive'] +sources = ['%(namelower)s_%(version)s.tar.gz'] +checksums = ['ce8f5e98ba47883bfa91e91bc79e4d3a26f158dd9983b5e78331a452a4b1f8f2'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Brotli', '1.0.9'), + ('bzip2', '1.0.8'), + ('expat', '2.4.1'), + ('FLTK', '1.3.7'), + ('fontconfig', '2.13.94'), + ('freetype', '2.11.0'), + ('libpng', '1.6.37'), + ('X11', '20210802'), + ('zlib', '1.2.11'), +] + +files_to_copy = [(['%(namelower)s'], 'bin'), '%(namelower)s.html', 'example.nxs'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [("%(namelower)s -h")] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.1-foss-2022a.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.1-foss-2022a.eb new file mode 100644 index 000000000000..e3f97801473d --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.1-foss-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.12.1' + +homepage = 'https://seaborn.pydata.org/' +description = """ Seaborn is a Python visualization library based on matplotlib. + It provides a high-level interface for drawing attractive statistical graphics. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb1eb1d51d3097368c187c3ef089c0288ec1fe8aa1c69fb324c68aa1d02df4c1'] + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.2-foss-2022b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.2-foss-2022b.eb new file mode 100644 index 000000000000..ca9fa388cb0a --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.2-foss-2022b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.12.2' + +homepage = 'https://seaborn.pydata.org/' +description = """ Seaborn is a Python visualization library based on matplotlib. + It provides a high-level interface for drawing attractive statistical graphics. """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['374645f36509d0dcab895cba5b47daf0586f77bfe3b36c97c607db7da5be0139'] + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.96-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.96-GCC-10.3.0.eb new file mode 100644 index 000000000000..c4db4aa9a4d8 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.96-GCC-10.3.0.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.1.96' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('gperftools', '2.9.1'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5198f31c3bb25e685e9e68355a3bf67a1db23c9e8bdccc33dc015f496a44df7a'], +} + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +postinstallcmds = ['cp -a %(builddir)s/%(namelower)s-%(version)s/{data,doc} %(installdir)s/'] + +sanity_check_paths = { + 'files': ['bin/spm_%s' % x for x in ['decode', 'encode', 'export_vocab', 'normalize', 'train']] + + ['lib/libsentencepiece.%s' % SHLIB_EXT, 'lib/libsentencepiece_train.%s' % SHLIB_EXT] + + ['include/sentencepiece_processor.h', 'include/sentencepiece_trainer.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'data', 'doc'], +} + +sanity_check_commands = [ + 'spm_train --help', + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.97-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.97-GCC-11.3.0.eb new file mode 100644 index 000000000000..21674bdab438 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.97-GCC-11.3.0.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.1.97' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('gperftools', '2.10'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['41c3a07f315e3ac87605460c8bb8d739955bc8e7f478caec4017ef9b7d78669b'], +} + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +postinstallcmds = ['cp -a %(builddir)s/%(namelower)s-%(version)s/{data,doc} %(installdir)s/'] + +sanity_check_paths = { + 'files': ['bin/spm_%s' % x for x in ['decode', 'encode', 'export_vocab', 'normalize', 'train']] + + ['lib/libsentencepiece.%s' % SHLIB_EXT, 'lib/libsentencepiece_train.%s' % SHLIB_EXT] + + ['include/sentencepiece_processor.h', 'include/sentencepiece_trainer.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'data', 'doc'], +} + +sanity_check_commands = [ + 'spm_train --help', + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SeqKit/SeqKit-2.3.1.eb b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.3.1.eb new file mode 100644 index 000000000000..dd3d71b2afb3 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.3.1.eb @@ -0,0 +1,26 @@ +easyblock = 'GoPackage' + +name = 'SeqKit' +version = '2.3.1' + +homepage = 'https://bioinf.shenwei.me/seqkit/' +description = """SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/shenwei356/seqkit/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['814930772645a1c5f491a0a0f0498d967b6caa512f137e10bc0a1925f28f863b'] + +builddependencies = [ + ('Go', '1.17.6'), +] + +installopts = './%(namelower)s' + +sanity_check_commands = [ + "seqkit version", + "seqkit genautocomplete" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.3.0.eb new file mode 100644 index 000000000000..27a50312ce65 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.3.0.eb @@ -0,0 +1,49 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'SeqLib' +version = '1.2.0' + +homepage = 'https://github.com/walaj/SeqLib' +description = """C++ interface to HTSlib, BWA-MEM and Fermi.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'walaj' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-1.2.0_avoid-bwa-fml-namespace-conflict.patch', + '%(name)s-1.2.0_use-external-deps.patch', +] +checksums = [ + '6892bdb5cae88d8d8acbbfadd351cfa00004bc7c0fd1ae912dc1ff1ccfd61a70', # 1.2.0.tar.gz + # SeqLib-1.2.0_avoid-bwa-fml-namespace-conflict.patch + '9be9229bcf34db8e4bd1fd49614bb55d84c12df263ca7174980f7f4b1bd63da9', + '413f0ad8e0963d8922205d31e0c361cfa98a10f93e7d3e0506e0bed539ec70eb', # SeqLib-1.2.0_use-external-deps.patch +] + +builddependencies = [('Autotools', '20210128')] + +dependencies = [ + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('JsonCpp', '1.9.4'), + ('BWA', '0.7.17'), + ('HTSlib', '1.12'), + ('fermi-lite', '20190320'), + ('SSW', '1.1'), + ('PCRE', '8.44'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/seqtools', 'lib/libseqlib.%s' % SHLIB_EXT], + 'dirs': [], +} +sanity_check_commands = ["seqtools"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..41c4515faddf --- /dev/null +++ b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'SCons' +name = 'Serf' +version = '1.3.9' + +homepage = 'https://serf.apache.org/' +description = """The serf library is a high performance C-based HTTP client library + built upon the Apache Portable Runtime (APR) library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Serf-%(version)s_python3_scons.patch'] +checksums = [ + '549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc', # serf-1.3.9.tar.bz2 + 'db401893bfb464ddcf369b543cacb9a165a21f8ff9bf1a819e4b61550bb9d3d0', # Serf-1.3.9_python3_scons.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), + ('SCons', '4.4.0'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +buildopts = "APR=$EBROOTAPR/bin/apr-1-config APU=$EBROOTAPRMINUTIL/bin/apu-1-config" + +sanity_check_paths = { + 'files': ['include/serf-1/serf.h'] + + ['lib/libserf-1.%s' % x for x in ['a', 'so']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.2.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.2.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..af03c5702855 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.2.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,51 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.2.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://satijalab.org/seurat' +description = "Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages +] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = {'sources': ['%(name)s_%(version)s.tar.gz']} + +exts_list = [ + ('Matrix', '1.5-1', { + 'checksums': ['557dba0358172d67dc63eb5db90841915bb5ce1528f941a8005ae808d635575d'], + }), + ('SeuratObject', '4.1.2', { + 'checksums': ['6a5945f501b573dbe44a15e7d969e63fd5be0c4f8e9d716b71ca29f695236d0d'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + (name, version, { + 'checksums': ['22a3d22a9ba255c4db5b37339b183fdfb91e2d37a8b8d58a9ff45b1bc414ebef'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 000000000000..b98250be5b35 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.3.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://satijalab.org/seurat' +description = "Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages +] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = {'sources': ['%(name)s_%(version)s.tar.gz']} + +exts_list = [ + ('Matrix', '1.5-3', { + 'checksums': ['4e720f4edc97b1c09646a445851b1ce955caf6b1de8306a2283328b526fee00d'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', '4.1.3', { + 'checksums': ['585d2754f6165a367f0f458523f0a25d4d4160c929c931b27c5603cc6bd986d3'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('spatstat.utils', '3.0-1', { + 'checksums': ['cba1c7806564fd9145ca15edf77233d6ba5609f0989f7812221f5fc1ece0b91a'], + }), + ('spatstat.data', '3.0-0', { + 'checksums': ['cff9058a88489020a4a05b9576cd452f37fa9b42084873c474d06931f5187057'], + }), + ('spatstat.geom', '3.0-3', { + 'checksums': ['6e5b56c60e774a0cdcaa5a8ffde071225f233832446a341588bd8a7840913c84'], + }), + ('spatstat.random', '3.0-1', { + 'checksums': ['938c845c063b8781bf894c0a67537e7b2a7c425a4beba4a95ec9d2c37b43e5b6'], + }), + ('spatstat.sparse', '3.0-0', { + 'checksums': ['99be0a3c7592760fdf1668dc0811f75ed91c400390d1ecc3d5e643255f501ad2'], + }), + ('spatstat.explore', '3.0-5', { + 'checksums': ['9f438a12fac3f3e1d0bd550b1393c1e5732be694517b0878db09da557d6dc862'], + }), + (name, version, { + 'checksums': ['7ebacb3b86f74279de60b597f9a6e728f0668719811b0dca3425d21762fff97c'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..3529ca559941 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.3.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://satijalab.org/seurat' +description = "Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages +] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = {'sources': ['%(name)s_%(version)s.tar.gz']} + +exts_list = [ + ('Matrix', '1.5-4', { + 'checksums': ['15ceb61993d61b442068104abb46e6d91b5a1179c01eeb64563b853abab66f06'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', '4.1.3', { + 'checksums': ['585d2754f6165a367f0f458523f0a25d4d4160c929c931b27c5603cc6bd986d3'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('spatstat.utils', '3.0-1', { + 'checksums': ['cba1c7806564fd9145ca15edf77233d6ba5609f0989f7812221f5fc1ece0b91a'], + }), + ('spatstat.data', '3.0-0', { + 'checksums': ['cff9058a88489020a4a05b9576cd452f37fa9b42084873c474d06931f5187057'], + }), + ('spatstat.geom', '3.0-3', { + 'checksums': ['6e5b56c60e774a0cdcaa5a8ffde071225f233832446a341588bd8a7840913c84'], + }), + ('spatstat.random', '3.0-1', { + 'checksums': ['938c845c063b8781bf894c0a67537e7b2a7c425a4beba4a95ec9d2c37b43e5b6'], + }), + ('spatstat.sparse', '3.0-0', { + 'checksums': ['99be0a3c7592760fdf1668dc0811f75ed91c400390d1ecc3d5e643255f501ad2'], + }), + ('spatstat.explore', '3.0-5', { + 'checksums': ['9f438a12fac3f3e1d0bd550b1393c1e5732be694517b0878db09da557d6dc862'], + }), + (name, version, { + 'checksums': ['7ebacb3b86f74279de60b597f9a6e728f0668719811b0dca3425d21762fff97c'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-0.0.0.9020-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-0.0.0.9020-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..4728174df2a5 --- /dev/null +++ b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-0.0.0.9020-foss-2022a-R-4.2.1.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SeuratDisk' +local_commit = '9b89970' +version = '0.0.0.9020' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/seurat-disk' +description = "Interfaces for HDF5-based Single Cell File Formats" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/mojaveazure/seurat-disk/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['323daf9db620fac1bbc2724e00cf89c9e496207111988bb03a592c8c2cb8dd06'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2022a.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2022a.eb new file mode 100644 index 000000000000..1a79d23c7529 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8.2' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # needed by shapely.vectorized + ('GEOS', '3.10.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import shapely'", + "python -c 'import shapely.vectorized'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-foss-2022b.eb b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-foss-2022b.eb new file mode 100644 index 000000000000..ab2fa48ba51f --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-foss-2022b.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '2.0.1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['66a6b1a3e72ece97fc85536a281476f9b7794de2e646ca8a4517e2e3c1446893'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GEOS', '3.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.5.0-foss-2022a.eb b/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.5.0-foss-2022a.eb new file mode 100644 index 000000000000..494b3757f7bb --- /dev/null +++ b/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.5.0-foss-2022a.eb @@ -0,0 +1,43 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'ShengBTE' +version = '1.5.0' + +homepage = 'https://bitbucket.org/sousaw/shengbte' +description = "A solver for the Boltzmann transport equation for phonons." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +bitbucket_account = 'sousaw' +source_urls = [BITBUCKET_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['fc1299921aa5f8046473d0c73114b826f803650b9a44e94338eaeb13e9c67381'] + +dependencies = [ + ('spglib', '2.0.2'), +] + +start_dir = 'Src' + +# strip "include arch.make" -- not needed as we already set necessary env vars +prebuildopts = "sed -i 's/^include arch.make//' Makefile && " +# -fallow-argument-mismatch needed for GCC 10+ +buildopts = '-j 1 LIBS="$LIBBLAS -lsymspg" FFLAGS="$FFLAGS -fallow-argument-mismatch"' + +local_tests = ["Test-%s" % x for x in ['QE', 'RTA', 'VASP']] + +files_to_copy = [([name], 'bin'), (['LICENSE', 'README.md'], 'share')] + local_tests + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] + local_tests, +} + +sanity_check_commands = [ + "cd %%(builddir)s/*%%(namelower)s*/%s && %%(mpi_cmd_prefix)s %%(name)s" % x for x in local_tests +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2022a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2022a.eb new file mode 100644 index 000000000000..00cced1d88a8 --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2022a.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': 'foss', 'version': '2022a'} +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.6.0'), + ('METIS', '5.1.0'), + ('ELPA', '2021.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2022a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2022a.eb new file mode 100644 index 000000000000..0b269542103f --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2022a.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': '2022a'} +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.6.0'), + ('METIS', '5.1.0'), + ('ELPA', '2021.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2021b-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2021b-fast.eb new file mode 100644 index 000000000000..b2f900f3c4aa --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2021b-fast.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0g' +_suffix = 'fast' +versionsuffix = '-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +unpack_options = '--strip-components=1' +checksums = ['a16fcea2b30067d2622d446031978bd86927e2e1cecf29a567c7922f6861b5aa'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # numpy > 1.19.2 + ('tqdm', '4.62.3'), # tqdm > 4.46.1 + ('PyTorch', '1.12.1'), # torch > 1.7.0 + ('matplotlib', '3.4.3'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast-CUDA-11.7.0.eb new file mode 100644 index 000000000000..9e3f52167c21 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast-CUDA-11.7.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0g' +_suffix = 'fast' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = '-' + _suffix + _cuda_suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +unpack_options = '--strip-components=1' +checksums = ['a16fcea2b30067d2622d446031978bd86927e2e1cecf29a567c7922f6861b5aa'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy > 1.19.2 + ('tqdm', '4.64.0'), # tqdm > 4.46.1 + ('PyTorch', '1.12.0', _cuda_suffix), # torch > 1.7.0 + ('matplotlib', '3.5.2'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast.eb new file mode 100644 index 000000000000..4dcd1681be21 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0g' +_suffix = 'fast' +versionsuffix = '-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +unpack_options = '--strip-components=1' +checksums = ['a16fcea2b30067d2622d446031978bd86927e2e1cecf29a567c7922f6861b5aa'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy > 1.19.2 + ('tqdm', '4.64.0'), # tqdm > 4.46.1 + ('PyTorch', '1.12.0'), # torch > 1.7.0 + ('matplotlib', '3.5.2'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb index 96c544367471..d8b79f635f4d 100644 --- a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb @@ -56,4 +56,4 @@ exts_list = [ sanity_pip_check = True -moduleclass = 'bio' +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-foss-2021b.eb b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-foss-2021b.eb new file mode 100644 index 000000000000..b079a1e9c9c3 --- /dev/null +++ b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-foss-2021b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'SimPEG' +version = '0.18.1' + +homepage = 'https://simpeg.xyz' +description = """An open source Python package for simulation and gradient based parameter estimation in + geophysical applications.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('pymatsolver', '0.2.0', { + 'checksums': ['df9e0444f3c7fadf57b226d7d90b7be1dea9e24718575b458ba50429736d6c45'], + }), + ('discretize', '0.8.2', { + 'checksums': ['19b2bcb57cf769ca2c225875db5d3017dc58ca8cd3ad7f44ee89ba0e1622e4a6'], + }), + ('utm', '0.7.0', { + 'checksums': ['3c9a3650e98bb6eecec535418d0dfd4db8f88c8ceaca112a0ff0787e116566e2'], + }), + ('geoana', '0.4.0', { + 'checksums': ['e95bb3974019111e0522a6955ee735cca71fa11554647fafcbdbee8b91524495'], + }), + ('empymod', '2.2.1', { + 'checksums': ['7167ca4adfc7fe737261ff4371052b8caa1c662b1aa1862822552f76734cf7ac'], + }), + (name, version, { + 'modulename': 'SimPEG', + 'checksums': ['3cbbb96640b23e9bd3311bc71e5c79fb731cefd6b3b845ecd6dad59c4a6e3600'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-intel-2021b.eb b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-intel-2021b.eb new file mode 100644 index 000000000000..ff2cc5d5fd80 --- /dev/null +++ b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-intel-2021b.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'SimPEG' +version = '0.18.1' + +homepage = 'https://simpeg.xyz' +description = """An open source Python package for simulation and gradient based parameter estimation in + geophysical applications.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('pydiso', '0.0.3', { + 'checksums': ['883e1c4bda04afebd4ac364f1a2992e26123be0f8965c5ac59571549c6cec608'], + }), + ('pymatsolver', '0.2.0', { + 'checksums': ['df9e0444f3c7fadf57b226d7d90b7be1dea9e24718575b458ba50429736d6c45'], + }), + ('discretize', '0.8.2', { + 'checksums': ['19b2bcb57cf769ca2c225875db5d3017dc58ca8cd3ad7f44ee89ba0e1622e4a6'], + }), + ('utm', '0.7.0', { + 'checksums': ['3c9a3650e98bb6eecec535418d0dfd4db8f88c8ceaca112a0ff0787e116566e2'], + }), + ('geoana', '0.4.0', { + 'checksums': ['e95bb3974019111e0522a6955ee735cca71fa11554647fafcbdbee8b91524495'], + }), + ('empymod', '2.2.1', { + 'checksums': ['7167ca4adfc7fe737261ff4371052b8caa1c662b1aa1862822552f76734cf7ac'], + }), + (name, version, { + 'modulename': 'SimPEG', + 'checksums': ['3cbbb96640b23e9bd3311bc71e5c79fb731cefd6b3b845ecd6dad59c4a6e3600'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2022a.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2022a.eb new file mode 100644 index 000000000000..9a0f8d8c8e2b --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2022a.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.1.1.2' + +homepage = 'https://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_allow-lua54-for-code-generation.patch'] +checksums = [ + '5c0689b007d449ce0ce17a9ea322152315fb17ed32949005a974d3d9c2f58da3', # SimpleITK-2.1.1.2.tar.gz + # SimpleITK-2.1.1.2_allow-lua54-for-code-generation.patch + 'd1a45b1b64a226b3c22bf83c2f40f7f0e8f0a7d74bea1b2e7f5c5b6ed88b1522', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('SWIG', '4.0.2'), + ('Lua', '5.4.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('ITK', '5.2.1'), + ('scikit-build', '0.15.0'), +] + +start_dir = 'SimpleITK' + +configopts = "-DWRAP_DEFAULT:BOOL=OFF -DWRAP_PYTHON=BOOL:ON " + +postinstallcmds = [ + "cd %(builddir)s/easybuild_obj/Wrapping/Python && " + "pip install --ignore-installed --no-deps --prefix=%(installdir)s . ", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import %(name)s'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SoPlex/SoPlex-2.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SoPlex/SoPlex-2.2.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..309841532c74 --- /dev/null +++ b/easybuild/easyconfigs/s/SoPlex/SoPlex-2.2.1-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'SoPlex' +version = '2.2.1' + +homepage = 'https://soplex.zib.de/' +description = """SoPlex is an optimization package for solving linear programming problems (LPs) +based on an advanced implementation of the primal and dual revised simplex +algorithm. It provides special support for the exact solution of LPs with +rational input data. It can be used as a standalone solver reading MPS or LP +format files via a command line interface as well as embedded into other +programs via a C++ class library.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'scipopt' +source_urls = [GITHUB_SOURCE] +sources = ['release-%s.tar.gz' % version.replace('.', '')] +checksums = ['6c2e89cd7c8910f8989f2a860fa0446641bd16d76eb87872f70974838486c9b1'] + +dependencies = [ + ('GMP', '6.2.1'), + ('zlib', '1.2.12'), +] + +skipsteps = ['configure'] + +buildopts = "COMP=gnu OPT=opt" +installopts = "INSTALLDIR=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/soplex', 'lib/libsoplex.a'], + 'dirs': ['include'], +} + +sanity_check_commands = ["soplex | grep -q '%(name)s version %(version)s'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb index 3216a7a24e75..b009ef44f7fa 100644 --- a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb @@ -1,7 +1,5 @@ -# Institution: IT4Innovations National Supercomputing Center, Czech Republic -# Author: Jakub Kropacek -# License: GPLv3 -# Year: 2022 +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 easyblock = 'ConfigureMake' @@ -23,6 +21,7 @@ builddependencies = [('binutils', '2.38')] dependencies = [ ('FLAC', '1.3.4'), ('LAME', '3.100'), + ('libmad', '0.15.1b'), ('libvorbis', '1.3.7'), ('FFmpeg', '5.0.1'), ] diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.0-GCC-11.2.0.eb new file mode 100644 index 000000000000..b6aba4be7491 --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.0-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '2.0.0' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +download_instructions = """ +Download sources from homepage, registration required +https://support.10xgenomics.com/spatial-gene-expression/software/downloads/latest +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bdaa784e433c2e3707bed6a868042e954248e97fb4021d7179460a2b3702205c'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..320606c0e44c --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.1-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '2.0.1' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +download_instructions = """ +Download sources from homepage, registration required +https://support.10xgenomics.com/spatial-gene-expression/software/downloads/latest +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['81e011f8bb1c9beca92f008b4b1b4c1ca96d0847c274f4dbd81e74fe7e4a0024'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.3.1-foss-2022a.eb b/easybuild/easyconfigs/s/Spark/Spark-3.3.1-foss-2022a.eb new file mode 100644 index 000000000000..c8cf8bd5e564 --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.3.1-foss-2022a.eb @@ -0,0 +1,52 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.3.1' +homepage = 'https://spark.apache.org' +description = """Spark is Hadoop MapReduce done in memory""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://archive.apache.org/dist//%(namelower)s/%(namelower)s-%(version)s/', + 'https://downloads.apache.org/%(namelower)s/%(namelower)s-%(version)s/' +] +sources = ['%(namelower)s-%(version)s-bin-hadoop3.tgz'] +checksums = ['91df3e3f73682d32261a8b245af6b0553dc5cf4af208ef82219283d23ee01ece'] + +dependencies = [ + ('Python', '3.10.4'), + ('Java', '11', '', SYSTEM), + ('Arrow', '8.0.0'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('py4j', '0.10.9.7', { + 'checksums': ['0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyspark', 'bin/spark-shell'], + 'dirs': ['python'] +} + +sanity_check_commands = [ + "pyspark -h", + "python -c 'import pyspark'", +] + +modextrapaths = {'PYTHONPATH': ['python', 'lib/python%(pyshortver)s/site-packages']} + +modextravars = {'SPARK_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3-foss-2022a.eb b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3-foss-2022a.eb new file mode 100644 index 000000000000..06aba2b48da2 --- /dev/null +++ b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'SpatialDE' +version = '1.1.3' + +homepage = 'https://pypi.org/project/SpatialDE' +description = """SpatialDE is a method to identify genes which significantly depend on spatial coordinates in + non-linear and non-parametric ways. The intended applications are spatially resolved RNA-sequencing from e.g. + Spatial Transcriptomics, or in situ gene expression measurements from e.g. SeqFISH or MERFISH.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('patsy', '0.5.3', { + 'checksums': ['bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277'], + }), + ('NaiveDE', '1.2.0', { + 'modulename': 'NaiveDE', + 'checksums': ['339258edcb34a5e82661ec6b1ae850bf15dc875dd4fa687bb05d0721f25bf8ad'], + }), + (name, version, { + 'modulename': 'SpatialDE', + 'patches': ['%(name)s-%(version)s_fix-readme-location.patch'], + 'checksums': [ + {'SpatialDE-1.1.3.tar.gz': '7005e63ac7abfdbff1d50bff5a25e53050f1015dbf243627ec2c1303641eee27'}, + {'SpatialDE-1.1.3_fix-readme-location.patch': + 'b53cd62efe0ec9132ff161b2bad7c175d102a329edae45bbf290230cc7d95fb2'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3_fix-readme-location.patch b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3_fix-readme-location.patch new file mode 100644 index 000000000000..348508ad0ddc --- /dev/null +++ b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3_fix-readme-location.patch @@ -0,0 +1,12 @@ +Fix problem where setup.py cannot find README.rst in main directory +--- setup.py.back 2023-01-19 14:18:38.000000000 +0100 ++++ setup.py 2023-01-19 14:21:12.000000000 +0100 +@@ -7,7 +7,7 @@ + name='SpatialDE', + version='1.1.3', + description='Spatial and Temporal DE test', +- long_description=(HERE.parent / 'README.rst').read_text(), ++ long_description=(HERE / 'README.rst').read_text(), + url='https://github.com/Teichlab/SpatialDE', + packages=find_packages(), + include_package_data=True, diff --git a/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-1.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-1.1.1-GCCcore-10.2.0.eb new file mode 100644 index 000000000000..76924dcf2299 --- /dev/null +++ b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-1.1.1-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'Sphinx-RTD-Theme' +version = '1.1.1' + +homepage = 'https://sphinx-rtd-theme.readthedocs.io' +description = """Sphinx theme designed to provide a great reader experience + for documentation users on both desktop and mobile devices.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [('Python', '3.8.6')] + +use_pip = True + +exts_list = [ + ('sphinx_rtd_theme', version, { + 'checksums': ['6146c845f1e1947b3c3dd4432c28998a1693ccc742b4f9ad7c63129f0757c103'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/Squidpy/Squidpy-1.2.2-foss-2021b.eb b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.2.2-foss-2021b.eb new file mode 100644 index 000000000000..f60b9abeeab5 --- /dev/null +++ b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.2.2-foss-2021b.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'Squidpy' +version = '1.2.2' + +homepage = 'https://squidpy.readthedocs.io' +description = "Squidpy is a tool for the analysis and visualization of spatial molecular data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('Pillow', '8.3.2'), + ('tqdm', '4.62.3'), + ('matplotlib', '3.4.3'), + ('xarray', '0.20.1'), + ('statsmodels', '0.13.1'), + ('scikit-image', '0.19.1'), + ('scikit-learn', '1.0.1'), + ('dask', '2022.1.0'), + ('scanpy', '1.8.2'), + ('numba', '0.54.1'), + ('aiohttp', '3.8.1'), + ('zarr', '2.13.3'), +] + +use_pip = True + +exts_list = [ + ('slicerator', '1.1.0', { + 'checksums': ['44010a7f5cd87680c07213b5cabe81d1fb71252962943e5373ee7d14605d6046'], + }), + ('PIMS', '0.6.1', { + 'checksums': ['e2b704461d4ea9bce8b6a22ca35836fe67d6d34537736b405341ae5547194f3b'], + }), + ('dask-image', '2022.9.0', { + 'checksums': ['f123dfd16a7d15c76662a6ac14778509ed5eed9b494f4322e5945e9b15923547'], + }), + ('matplotlib-scalebar', '0.8.1', { + 'checksums': ['14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('inflect', '6.0.2', { + 'checksums': ['f1a6bcb0105046f89619fde1a7d044c612c614c2d85ef182582d9dc9b86d309a'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('omnipath', '1.0.6', { + 'checksums': ['06f11b537cb1c2773d8eee13d906288f845d96f7b6cf86746ee50920c2651506'], + }), + ('validators', '0.20.0', { + 'checksums': ['24148ce4e64100a2d5e267233e23e7afeb55316b47d30faae7eb6e7292bc226a'], + }), + ('fsspec', '2022.11.0', { + 'checksums': ['259d5fd5c8e756ff2ea72f42e7613c32667dc2049a4ac3d84364a7ca034acb8b'], + }), + ('squidpy', version, { + 'checksums': ['b2af7e9e154aa98d6f1612f707b53e0507261b8153718f7011ba3c1b8ed8daeb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Strainberry/Strainberry-1.1-foss-2022a.eb b/easybuild/easyconfigs/s/Strainberry/Strainberry-1.1-foss-2022a.eb new file mode 100644 index 000000000000..76cac1f47a86 --- /dev/null +++ b/easybuild/easyconfigs/s/Strainberry/Strainberry-1.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'Tarball' + +name = 'Strainberry' +version = '1.1' + +homepage = 'https://github.com/rvicedomini/strainberry' +description = """Strainberry is a method that performs strain separation in low-complexity +metagenomes using error-prone long-read technologies. It exploits +state-of-the-art tools for variant calling, haplotype phasing, and genome +assembly, in order to achieve single-sample assembly of strains with higher +quality than other state-of-the-art long-read assemblers.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'rvicedomini' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['205829c75165653dc67d632cc1b48284b525452348af5ad8108de17e264b587b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Longshot', '0.4.5'), + ('minimap2', '2.24'), + ('MUMmer', '4.0.0rc1'), + ('networkx', '2.8.4'), + ('pygraphviz', '1.10'), + ('Pysam', '0.19.1'), + ('PyVCF3', '1.0.3'), + ('SAMtools', '1.16.1'), + ('wtdbg2', '2.5'), +] + +sanity_check_paths = { + 'files': ['strainberry'], + 'dirs': ['sberry'], +} + +sanity_check_commands = [ + "strainberry --help", + # Quick test that completes in a few minutes + ("cd %(builddir)s/%(namelower)s-%(version)s/example && " + "strainberry -r assembly.fasta -b alignment.sorted.bam -o sberry_out -c %(parallel)s"), +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-12.2.0.eb b/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-12.2.0.eb new file mode 100644 index 000000000000..94412d6b87ae --- /dev/null +++ b/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-12.2.0.eb @@ -0,0 +1,41 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: Custom +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'Structure' +version = '2.3.4' + +homepage = 'https://web.stanford.edu/group/pritchardlab/structure.html' +description = """The program structure is a free software package for using multi-locus genotype data to investigate + population structure.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v%(version)s/'] +sources = [{'download_filename': 'structure_kernel_source.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37'] + +# Add -fcommon to fix "multiple definition" errors +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +buildopts = 'all CC="$CC" OPT="$CFLAGS"' + +files_to_copy = [(['structure'], 'bin')] + +sanity_check_commands = [ + 'structure | grep "Version %(version)s"' +] + +sanity_check_paths = { + 'files': ['bin/structure'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.4-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.4-GCC-11.3.0.eb new file mode 100644 index 000000000000..27bc601b2e93 --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.4-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'MakeCp' + +name = 'Subread' +version = '2.0.4' + +homepage = 'https://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +checksums = ['c54b37ed83b34318d8f119b5c02fb9d0a65c811195bcc9e1745df6daf74ca2db'] + +start_dir = 'src' + +prebuildopts = "sed -i 's/-mtune=core2//g' Makefile.Linux && " +prebuildopts += "sed -i 's/-mtune=core2//g' longread-one/Makefile && " + +buildopts = " -f Makefile.Linux" + +files_to_copy = ['bin'] + +local_binaries_list = [ + 'exactSNP', 'featureCounts', 'subindel', 'subjunc', 'sublong', '%(namelower)s-align', '%(namelower)s-buildindex', +] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_binaries_list], + 'dirs': ['bin/utilities'], +} + +sanity_check_commands = [ + 'cd %(builddir)s/%(namelower)s-%(version)s-source/test && bash test_all.sh' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021a-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021a-METIS-5.1.0.eb new file mode 100644 index 000000000000..810a3aa16d00 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021a-METIS-5.1.0.eb @@ -0,0 +1,39 @@ +name = 'SuiteSparse' +version = '5.10.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'SuiteSparse_disable-qopt-report.patch', +] +checksums = [ + {'v5.10.1.tar.gz': 'acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee'}, + {'SuiteSparse_disable-qopt-report.patch': 'f96bcd993f4dd90a70aedcb2901582ac99f449ac359b46a36190862a16aeb870'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " +# The default way to do a parallel make won't work with the Makefiles for +# SuiteSparse, JOBS has to be set to the desired parallelism +parallel = 1 +prebuildopts += "export JOBS=4 && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021b-METIS-5.1.0.eb new file mode 100644 index 000000000000..ade731aac571 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021b-METIS-5.1.0.eb @@ -0,0 +1,31 @@ +name = 'SuiteSparse' +version = '5.10.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " +# disable optimisation report to reduce memory use during compile +prebuildopts += 'sed -i "s/-qopt-report=5/-qopt-report=0/" GraphBLAS/CMakeLists.txt && ' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse_disable-qopt-report.patch b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse_disable-qopt-report.patch new file mode 100644 index 000000000000..db00fb87ea12 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse_disable-qopt-report.patch @@ -0,0 +1,14 @@ +Compiling GraphBLAS with the intel toolchain consumes *a lot* of memory +because optimization reports are generated. This patch simply turns that off +to make the memory requirement for compilation more sensible. +--- GraphBLAS/CMakeLists.txt.orig 2023-03-17 14:46:24.533943000 +0100 ++++ GraphBLAS/CMakeLists.txt 2023-03-17 14:46:15.393912000 +0100 +@@ -198,7 +198,7 @@ + elseif ( "${CMAKE_C_COMPILER_ID}" STREQUAL "Intel" ) + # options for icc: also needs -std=c11 + set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -diag-disable 10397,15552 " ) +- set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qopt-report=5 -qopt-report-phase=vec" ) ++ set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qopt-report=0 -qopt-report-phase=vec" ) + # the -mp1 option is important for predictable floating-point results with + # the icc compiler. Without, ((float) 1.)/((float) 0.) produces NaN, + # instead of the correct result, Inf. diff --git a/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb new file mode 100644 index 000000000000..1527189c23bd --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = "EB_SuperLU" + +name = 'SuperLU_DIST' +version = '8.1.0' + +homepage = 'https://crd-legacy.lbl.gov/~xiaoye/SuperLU/' +description = """SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems + of linear equations on high performance machines.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['9308844b99a7e762d5704934f7e9f79daf158b0bfc582994303c2e0b31518b34'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('ParMETIS', '4.0.3'), +] + +configopts = '-DTPL_PARMETIS_INCLUDE_DIRS="${EBROOTPARMETIS}/include" ' +configopts += '-DTPL_PARMETIS_LIBRARIES="${EBROOTPARMETIS}/lib/libparmetis.a;${EBROOTPARMETIS}/lib/libmetis.a" ' + +# Some tests run longer than default 1500s timeout on fairly big machine (36 cores). +# Include only first four tests, which should be fairly small to run +pretestopts = 'export ARGS="$ARGS --tests-regex pdtest_[21]x1_[13]_2_8_20_SP" && ' + +postinstallcmds = [ + "rm %(installdir)s/lib64/libsuperlu.a", # remove broken symlink to libsuperlu.a +] + +sanity_check_paths = { + 'files': ['lib64/libsuperlu_dist.a'], + 'dirs': ['include'] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6f536c566dda --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://www.hdfgroup.org/doc_resource/SZIP/' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + + ["include/%s" % x for x in ["ricehdf.h", "szip_adpt.h", "szlib.h"]], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a.eb b/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a.eb new file mode 100644 index 000000000000..82342e4330fb --- /dev/null +++ b/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'scArches' +version = '0.5.6' + +homepage = 'https://github.com/theislab/scarches' +description = """Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell + data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('leidenalg', '0.8.7'), + ('scanpy', '1.8.1'), + ('scikit-learn', '0.24.2'), + ('scvi-tools', '0.16.4'), + ('PyTorch', '1.10.0'), + ('tqdm', '4.61.2'), + ('BeautifulSoup', '4.10.0'), + ('loompy', '3.0.7'), +] + +use_pip = True + +exts_list = [ + ('gdown', '4.6.0', { + 'checksums': ['5ce3db0aeda54f46caacb2df86f31c3e3ecd17c355689e6456d85fb528ba9749'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), + ('muon', '0.1.2', { + 'sources': [SOURCE_PY3_WHL], + 'checksums': ['61e0290b113f85177b7596e57aa01552c07700716fac3b8267506fc8a6881dba'], + }), + ('newick', '1.4.0', { + 'checksums': ['0d76ff2fbd180ea790ba177557bf8fbdc56fc166cbe5b31a38113ead8147cf6d'], + }), + ('scHPL', '1.0.2', { + 'checksums': ['a4119fb503e5bfed6fb3e5424cf166d9b1d8822ca0d7fe88d7125807e6da118b'], + 'preinstallopts': "sed -i 's/~=/>=/g' setup.py && ", + 'modulename': 'scHPL', + }), + (name, version, { + 'checksums': ['87b5aa89676b37f65f076631faf3033515cc8380dfad076699410628a1838116'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scHiCExplorer/scHiCExplorer-7-foss-2022a.eb b/easybuild/easyconfigs/s/scHiCExplorer/scHiCExplorer-7-foss-2022a.eb new file mode 100644 index 000000000000..b1d424fe8173 --- /dev/null +++ b/easybuild/easyconfigs/s/scHiCExplorer/scHiCExplorer-7-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'scHiCExplorer' +version = '7' + +homepage = 'https://schicexplorer.readthedocs.io' +description = """The scHiCExplorer is a software to demultiplex, process, correct, normalize, manipulate, analyse and +visualize single-cell Hi-C data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('HiCExplorer', '3.7.2'), + ('HiCMatrix', '17'), + ('cooler', '0.9.1'), + ('sparse-neighbors-search', '0.7'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/joachimwolff/scHiCExplorer/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['8ccc4bc40b7d4da055fcb98c5962500143cb72bf652de584bd69dd8419d1d8ab'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2021b.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2021b.eb new file mode 100644 index 000000000000..88ec508f7761 --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2021b.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.9.1' + +homepage = 'https://scanpy.readthedocs.io/en/stable/' +description = """Scanpy is a scalable toolkit for analyzing single-cell gene expression data built + jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference + and differential expression testing. The Python-based implementation efficiently deals with + datasets of more than one million cells. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('networkx', '2.6.3'), + ('numba', '0.54.1'), + ('PyTables', '3.6.1'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.62.3'), + ('leidenalg', '0.8.8'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('pynndescent', '0.5.8', { + 'checksums': ['a7c552569bf604a101fd54bba1d27c12389e065945dee3a6777a518c63a46f2b'], + }), + ('umap-learn', '0.5.3', { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['00c9a83b649da7e0171c91e9a08cff632102faa760614fd05cd4d1dbba4eb541'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2022a.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2022a.eb new file mode 100644 index 000000000000..b9d1a3f9edbb --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.9.1' + +homepage = 'https://scanpy.readthedocs.io/en/stable/' +description = """Scanpy is a scalable toolkit for analyzing single-cell gene expression data built + jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference + and differential expression testing. The Python-based implementation efficiently deals with + datasets of more than one million cells. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('networkx', '2.8.4'), + ('numba', '0.56.4'), + ('PyTables', '3.8.0'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.1.2'), + ('Seaborn', '0.12.1'), + ('tqdm', '4.64.0'), + ('leidenalg', '0.9.1'), + ('umap-learn', '0.5.3'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['00c9a83b649da7e0171c91e9a08cff632102faa760614fd05cd4d1dbba4eb541'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sceasy/sceasy-0.0.7-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/sceasy/sceasy-0.0.7-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..b20476c22ccd --- /dev/null +++ b/easybuild/easyconfigs/s/sceasy/sceasy-0.0.7-foss-2022a-R-4.2.1.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'sceasy' +version = '0.0.7' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cellgeni/sceasy' +description = "sceasy is a package that helps easy conversion of different single-cell data formats to each other" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/cellgeni/sceasy/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bc6a2dba2111067f3247ff1ee617cc85ab6c7d89950f7d8ca486a3e34b27f9d6'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('Seurat', '4.3.0', versionsuffix), + ('anndata', '0.8.0'), + ('loompy', '3.0.7'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +sanity_check_commands = [ + """echo "library(reticulate); reticulate::import('anndata');" | R -q --no-save""", + """echo "library(reticulate); reticulate::import('loompy');" | R -q --no-save""", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib/scib-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/s/scib/scib-1.1.1-foss-2022a.eb new file mode 100644 index 000000000000..89ba0e0c1c96 --- /dev/null +++ b/easybuild/easyconfigs/s/scib/scib-1.1.1-foss-2022a.eb @@ -0,0 +1,39 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'scib' +version = '1.1.1' + +homepage = 'https://github.com/theislab/scib' +description = "Benchmarking atlas-level data integration in single-cell genomics." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['84bcebe08c956b86d887ab60a3efaa783aa56113d523d953f6c4fff40f9dc58a'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Seaborn', '0.12.1'), + ('numba', '0.56.4'), + ('scanpy', '1.9.1'), + ('h5py', '3.7.0'), + ('scikit-learn', '1.1.2'), + ('scikit-misc', '0.1.4'), + ('leidenalg', '0.9.1'), + ('umap-learn', '0.5.3'), + ('pydot', '1.4.2'), + ('igraph', '0.10.3'), + ('python-igraph', '0.10.3'), + ('Deprecated', '1.2.13'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = "sed -i 's|igraph>=0.10|igraph>=0.9.8|g' setup.cfg && " +preinstallopts += "sed -i 's|louvain>=0.8||g' setup.cfg && " + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scib/scib-1.1.3-foss-2021a.eb b/easybuild/easyconfigs/s/scib/scib-1.1.3-foss-2021a.eb new file mode 100644 index 000000000000..ffd4fc238c0d --- /dev/null +++ b/easybuild/easyconfigs/s/scib/scib-1.1.3-foss-2021a.eb @@ -0,0 +1,39 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'scib' +version = '1.1.3' + +homepage = 'https://github.com/theislab/scib' +description = "Benchmarking atlas-level data integration in single-cell genomics." + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2b59d7c291e99bd508b91d73ff07fc4961fded37b06089e4f19fc5ee9cc4e3f3'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Seaborn', '0.11.2'), + ('numba', '0.53.1'), + ('scanpy', '1.8.1'), + ('h5py', '3.2.1'), + ('scikit-learn', '0.24.2'), + ('scikit-misc', '0.1.4'), + ('leidenalg', '0.8.7'), + ('umap-learn', '0.5.3'), + ('pydot', '1.4.2'), + ('igraph', '0.9.4'), + ('python-igraph', '0.9.6'), + ('Deprecated', '1.2.13'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = "sed -i 's|igraph>=0.10|python-igraph>=0.9.6|g' setup.cfg && " +preinstallopts += "sed -i 's|louvain>=0.8||g' setup.cfg && " + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2020b.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2020b.eb new file mode 100644 index 000000000000..aeec62fa9dd0 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2020b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.7' + +homepage = 'http://scikit-bio.org' +description = """scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms +and educational resources for bioinformatics.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('scikit-learn', '0.23.2'), + ('IPython', '7.18.1'), + ('h5py', '3.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('msgpack', '1.0.1', { + 'checksums': ['7033215267a0e9f60f4a5e4fb2228a932c404f237817caff8dc3115d9e7cd975'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + (name, version, { + 'modulename': 'skbio', + 'checksums': ['6343ca0c621e2fcc5d1c042c8be3200664c5325956a83bea751cf1bcc75d1da9'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2022a.eb new file mode 100644 index 000000000000..1365615d43ba --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.7' + +homepage = 'http://scikit-bio.org' +description = """scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms +and educational resources for bioinformatics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('IPython', '8.5.0'), + ('h5py', '3.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('msgpack', '1.0.4', { + 'checksums': ['f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + (name, version, { + 'modulename': 'skbio', + 'checksums': ['6343ca0c621e2fcc5d1c042c8be3200664c5325956a83bea751cf1bcc75d1da9'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.3-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.3-foss-2022a.eb new file mode 100644 index 000000000000..2cc7bce06b1f --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.19.3' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), + ('networkx', '2.8.4'), + ('dask', '2022.10.0'), + ('imageio', '2.22.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyWavelets', '1.4.1', { + 'modulename': 'pywt', + 'checksums': ['6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93'], + }), + ('imread', '0.7.4', { + 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + }), + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + (name, version, { + 'modulename': 'skimage', + 'checksums': ['24b5367de1762da6ee126dd8f30cc4e7efda474e0d7d70685433f0e3aa2ec450'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.2.1-gfbf-2022b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.2.1-gfbf-2022b.eb new file mode 100644 index 000000000000..5f1739b09f8d --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.2.1-gfbf-2022b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.2.1' + +homepage = 'https://scikit-learn.org/stable/index.html' +description = """Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, +building upon numpy, scipy, and matplotlib. As a machine-learning module, +it provides versatile tools for data mining and analysis in any field of science and engineering. +It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['fbf8a5c893c9b4b99bcc7ed8fb3e8500957a113f4101860386d06635520f7cfb'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2021a.eb b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2021a.eb new file mode 100644 index 000000000000..d50466cda7d4 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'scikit-misc' +version = '0.1.4' + +homepage = 'https://github.com/has2k1/scikit-misc' +description = "Miscellaneous tools for data analysis and scientific computing" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f7746a0347811063e1ecf9121df94835785003953c38b5ba84f63fc508c22911'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'skmisc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2022a.eb new file mode 100644 index 000000000000..6d449427c153 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2022a.eb @@ -0,0 +1,26 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'scikit-misc' +version = '0.1.4' + +homepage = 'https://github.com/has2k1/scikit-misc' +description = "Miscellaneous tools for data analysis and scientific computing" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f7746a0347811063e1ecf9121df94835785003953c38b5ba84f63fc508c22911'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'skmisc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..a5b9c930ebd5 --- /dev/null +++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,94 @@ +easyblock = 'PythonBundle' + +name = 'scvi-tools' +version = '0.16.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/scverse/scvi-tools' +description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and +analysis of single-cell omics data, built on top of PyTorch and AnnData.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('jax', '0.3.9', versionsuffix), + ('openpyxl', '3.0.7'), + ('PyTorch-Lightning', '1.5.9', versionsuffix), + ('scikit-learn', '0.24.2'), + ('dm-tree', '0.1.6'), + ('scanpy', '1.8.1'), + ('scikit-misc', '0.1.4'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + # stick to flax v0.5.2, which does not require tensorstore (which is built with Bazel) or a very recent jax yet... + ('flax', '0.5.2', { + 'checksums': ['5f07775fd4ba1926192ab6eb48c9adbd5658ddaf8585fb0c561741400d5599ff'], + }), + ('multipledispatch', '0.6.0', { + 'checksums': ['a7ab1451fd0bf9b92cab3edbd7b205622fb767aeefb4fb536c2e3de9e0a38bea'], + }), + ('numpyro', '0.10.1', { + 'checksums': ['dfa896f01c8df43ddd41663af2b3e2fc4aea73489e669474e83329b183b29150'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.5', { + 'checksums': ['686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e'], + }), + ('optax', '0.1.3', { + 'checksums': ['159e954405c3ba2072c2add7cec5532be7399bcafab3039acbf608b11844a879'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + ('pyro-ppl', '1.8.0', { + 'modulename': 'pyro', + 'checksums': ['68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '11.1.0', { + 'checksums': ['43e03d8eec12e21beaecc22c828a41c4247356414a12d5879834863d4ad53816'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + ('mudata', '0.2.0', { + 'checksums': ['6eef13ec2165340cd6d79fe4aabe687e9c53867c818c8dbe1cf0b6be0e5d1e75'], + }), + (name, version, { + 'modulename': 'scvi', + 'checksums': ['95c67870ecfa1d0e0b80027d3239bb47ca6cd3db2f2524985f5d31903b766eeb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a.eb new file mode 100644 index 000000000000..39b2aa92da3a --- /dev/null +++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a.eb @@ -0,0 +1,92 @@ +easyblock = 'PythonBundle' + +name = 'scvi-tools' +version = '0.16.4' + +homepage = 'https://github.com/scverse/scvi-tools' +description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and +analysis of single-cell omics data, built on top of PyTorch and AnnData.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('jax', '0.3.9'), + ('openpyxl', '3.0.7'), + ('PyTorch-Lightning', '1.5.9'), + ('scikit-learn', '0.24.2'), + ('dm-tree', '0.1.6'), + ('scanpy', '1.8.1'), + ('scikit-misc', '0.1.4'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + # stick to flax v0.5.2, which does not require tensorstore (which is built with Bazel) or a very recent jax yet... + ('flax', '0.5.2', { + 'checksums': ['5f07775fd4ba1926192ab6eb48c9adbd5658ddaf8585fb0c561741400d5599ff'], + }), + ('multipledispatch', '0.6.0', { + 'checksums': ['a7ab1451fd0bf9b92cab3edbd7b205622fb767aeefb4fb536c2e3de9e0a38bea'], + }), + ('numpyro', '0.10.1', { + 'checksums': ['dfa896f01c8df43ddd41663af2b3e2fc4aea73489e669474e83329b183b29150'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.5', { + 'checksums': ['686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e'], + }), + ('optax', '0.1.3', { + 'checksums': ['159e954405c3ba2072c2add7cec5532be7399bcafab3039acbf608b11844a879'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + ('pyro-ppl', '1.8.0', { + 'modulename': 'pyro', + 'checksums': ['68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '11.1.0', { + 'checksums': ['43e03d8eec12e21beaecc22c828a41c4247356414a12d5879834863d4ad53816'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + ('mudata', '0.2.0', { + 'checksums': ['6eef13ec2165340cd6d79fe4aabe687e9c53867c818c8dbe1cf0b6be0e5d1e75'], + }), + (name, version, { + 'modulename': 'scvi', + 'checksums': ['95c67870ecfa1d0e0b80027d3239bb47ca6cd3db2f2524985f5d31903b766eeb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sfftk/sfftk-0.7.4-foss-2021a.eb b/easybuild/easyconfigs/s/sfftk/sfftk-0.7.4-foss-2021a.eb new file mode 100644 index 000000000000..b27366815440 --- /dev/null +++ b/easybuild/easyconfigs/s/sfftk/sfftk-0.7.4-foss-2021a.eb @@ -0,0 +1,70 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'sfftk' +version = '0.7.4' + +homepage = 'https://emdb-empiar.github.io/EMDB-SFF/' +description = """ +sfftk is a set of utilities that facilitate creation, conversion and +modification of Electron Microscopy Data Bank - Segmentation File Format +(EMDB-SFF) files. EMDB-SFF is an open, community-driven file format to handle +annotated segmentations and subtomogram averages that facilitates segmentation +file interchange. It is written in Python and provides both a command-line suite +of commands and a Python API.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('mrcfile', '1.3.0'), + ('lxml', '4.6.3'), + ('h5py', '3.2.1'), + ('scikit-image', '0.18.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bitarray', '2.6.0', { + 'checksums': ['56d3f16dd807b1c56732a244ce071c135ee973d3edc9929418c1b24c5439a0fd'], + }), + ('ahds', '0.2.4', { + 'checksums': ['3356115351f7f6089f44c6f6503daa4985f158b7dfb730ef88ab3c6a7f8cc1a6'], + }), + ('styled', '0.2.0', { + 'checksums': ['91ab8022913de87fe1a614d3caeebafe046fd20cdd7d821a61738c1ce86e7276'], + }), + ('numpy-stl', '2.17.1', { + 'modulename': 'stl', + 'checksums': ['36c920192f445dd57f091a63629bdda5a9274d47513a33ac2efad12737394b7a'], + }), + ('python-utils', '3.3.3', { + 'checksums': ['3b1c8b706e40e91280eec5fa72ea730880a166cee99afa5555b863d55664478d'], + }), + ('RandomWords', '0.4.0', { + 'modulename': 'random_words', + 'checksums': ['0bb64dc14f7f5d96597e9a08e185b874a3ea20955a1acce632b87122d66d3d6b'], + }), + ('SimpleParse', '2.2.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['2c1b130017e708a2c87b3a6119b5844f08a0d53b9e4c9d48da5e6c409798e979'], + }), + ('sfftk-rw', '0.7.2', { + 'modulename': 'sfftkrw', + 'source_urls': ['https://github.com/emdb-empiar/sfftk-rw/archive/refs/tags/'], + 'sources': [{'filename': '%(name)s-%(version)s.tar.gz', 'download_filename': 'v%(version)s.tar.gz'}], + 'checksums': ['c858377d987090aa08984e8ae8dd09d5553eabc3bbea5c0ecc9994c06d474500'], + }), + (name, version, { + 'checksums': ['f165d377d4b7d42bc800a08f220169b7baf5e2faafe337beb77ee0754d52e038'], + }), +] + +sanity_check_commands = [ + "sff -h", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb index 45fe90615536..61c743acfc39 100644 --- a/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb @@ -33,8 +33,8 @@ dependencies = [ ] postinstallcmds = [ - """echo exec java -jar \$EBROOTTRIMMOMATIC/trimmomatic-*.jar '"$@"' > %(installdir)s/bin/trimmomatic""", - """echo exec java -jar $EBROOTPILON/pilon-*.jar '"$@"' > %(installdir)s/bin/pilon""", + """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", ] diff --git a/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb index b5a0a68a8c93..dedb0be30446 100644 --- a/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb @@ -34,8 +34,8 @@ dependencies = [ ] postinstallcmds = [ - """echo exec java -jar \$EBROOTTRIMMOMATIC/trimmomatic-*.jar '"$@"' > %(installdir)s/bin/trimmomatic""", - """echo exec java -jar $EBROOTPILON/pilon-*.jar '"$@"' > %(installdir)s/bin/pilon""", + """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", ] 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 index dfc9a1c39436..8c9d1678e1d8 100644 --- a/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb +++ b/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb @@ -33,8 +33,8 @@ dependencies = [ ] postinstallcmds = [ - """echo exec java -jar \$EBROOTTRIMMOMATIC/trimmomatic-*.jar '"$@"' > %(installdir)s/bin/trimmomatic""", - """echo exec java -jar $EBROOTPILON/pilon-*.jar '"$@"' > %(installdir)s/bin/pilon""", + """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", ] diff --git a/easybuild/easyconfigs/s/silhouetteRank/silhouetteRank-1.0.5.13-foss-2022a.eb b/easybuild/easyconfigs/s/silhouetteRank/silhouetteRank-1.0.5.13-foss-2022a.eb new file mode 100644 index 000000000000..8d1dc071c822 --- /dev/null +++ b/easybuild/easyconfigs/s/silhouetteRank/silhouetteRank-1.0.5.13-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'silhouetteRank' +version = '1.0.5.13' + +homepage = 'https://pypi.org/project/silhouetteRank' +description = """silhouetteRank is a tool for finding spatially variable genes based on computing silhouette + coefficient from binarized spatial gene expression data""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4b3e3b9c3e84e67df96b7c441fd072a1a1a72b9f9790491fe3274259b3ef666a'] + +dependencies = [ + ('Python', '3.10.4'), + ('Seaborn', '0.12.1'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('R', '4.2.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'silhouetteRank'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/silx/silx-1.0.0-foss-2021b.eb b/easybuild/easyconfigs/s/silx/silx-1.0.0-foss-2021b.eb new file mode 100644 index 000000000000..97bd26ccbdcb --- /dev/null +++ b/easybuild/easyconfigs/s/silx/silx-1.0.0-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'silx' +version = '1.0.0' + +homepage = "http://www.silx.org/" +description = """The silx project provides a collection of Python packages to support the +development of data assessment, reduction and analysis applications at synchrotron radiation facilities.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('PyOpenGL', '3.1.6'), + ('matplotlib', '3.4.3'), + ('Mako', '1.1.4'), + ('Pillow', '8.3.2'), + ('FabIO', '0.14.0'), + ('Qtconsole', '5.3.2'), + ('PyOpenCL', '2021.2.13'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hdf5plugin', '3.2.0', { + 'checksums': ['8900ab06df2a20f88c9c56ecf45a99655e08ba4d730706f8798b4ea2158b291a'], + }), + (name, version, { + 'checksums': ['1cf910f6e8097cb842e687bb81e1286b5cfc9e0213edef99a614b8b7dc5bf714'], + }), +] + +modextrapaths = { + 'HDF5_PLUGIN_PATH': 'lib/python%(pyshortver)s/site-packages/hdf5plugin/plugins', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/simint/simint-0.7-GCC-11.2.0-lmax-5-vec-avx-psi4.eb b/easybuild/easyconfigs/s/simint/simint-0.7-GCC-11.2.0-lmax-5-vec-avx-psi4.eb new file mode 100644 index 000000000000..be3968e7c305 --- /dev/null +++ b/easybuild/easyconfigs/s/simint/simint-0.7-GCC-11.2.0-lmax-5-vec-avx-psi4.eb @@ -0,0 +1,78 @@ +# For the various build options see here: +# https://www.bennyp.org/research/simint/README.txt +# lmax is set to 5 which is widely used it seems +# vec is set to avx, which should work on most platforms +# This might be changed to other values, if required +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'simint' +version = '0.7' +local_lmax = '5' +# supported: {scalar, sse, avx, avxfma, micavx512} +# scalar ONLY FOR USE WITH simint-scalar (and only useful for benchmarks), micavx512 experimental! +local_vec = 'avx' + +# custom configuration, to be used as dependency for PSI4 +versionsuffix = '-lmax-%s-vec-%s-psi4' % (local_lmax, local_vec) + +homepage = 'https://www.bennyp.org/research/simint/' +description = """Simint is a vectorized implementation of the Obara-Saika (OS) +method of calculating electron repulsion integrals. Speedup is gained by +vectorizing the primitive loop of the OS algorithm, with additional vectorization +and optimizations left to the compiler.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://www.bennyp.org/research/simint/download/'] +sources = ['%(name)s-v%(version)s.tar.bz2'] +checksums = ['9851fa2323924d4732dd611b366219f4408c8561556abb5e4fa6dbb64a8f919c'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), +] + +local_common_configopts = '-DSIMINT_MAXAM=%s ' % local_lmax +local_common_configopts += '-DSIMINT_VECTOR=%s ' % local_vec +local_common_configopts += '-DENABLE_TESTS=ON ' +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +# Run test to valicate accuracy. +# List of all available tests. Running all of them will take quite some time! +# local_tests = [ +# 'Al2Cl6.6-31gss.mol', 'anthracene.aug-cc-pvqz.mol', 'benzene.aug-cc-pvtz.mol', 'C4H4Cl2F2.dzp.mol', +# 'ethane.roos-ano-tz.mol', 'R-camphor.roos-ano-tz.mol', 'water.sto-3g.mol', 'Al2Cl6.aug-cc-pvqz.mol', +# 'anthracene.aug-cc-pvtz.mol', 'benzene.dzp.mol', 'C4H4Cl2F2.roos-ano-tz.mol', 'ethane.sto-3g.mol', +# 'R-camphor.sto-3g.mol', 'Al2Cl6.aug-cc-pvtz.mol', 'anthracene.dzp.mol', 'benzene.roos-ano-tz.mol', +# 'C4H4Cl2F2.sto-3g.mol', 'water.6-31gss.mol', 'Al2Cl6.dzp.mol', 'anthracene.roos-ano-tz.mol', +# 'benzene.sto-3g.mol', 'ethane.6-31gss.mol', 'R-camphor.6-31gss.mol', 'water.aug-cc-pvqz.mol', +# 'Al2Cl6.roos-ano-tz.mol', 'anthracene.sto-3g.mol', 'C4H4Cl2F2.6-31gss.mol', 'ethane.aug-cc-pvqz.mol', +# 'R-camphor.aug-cc-pvqz.mol', 'water.aug-cc-pvtz.mol', 'Al2Cl6.sto-3g.mol', 'benzene.6-31gss.mol', +# 'C4H4Cl2F2.aug-cc-pvqz.mol', 'ethane.aug-cc-pvtz.mol', 'R-camphor.aug-cc-pvtz.mol water.dzp.mol', +# ] + +# This runs fast but does not give any guarantee if the installation is numerically correct! +local_tests = ['ethane.sto-3g.mol'] + +# Run selected tests: +sanity_check_commands = [ + 'cd %%(builddir)s/easybuild_obj/ && ' + 'OMP_NUM_THREADS=4 test/test_eri ../%%(name)s-v%%(version)s/test/dat/%s' % x for x in local_tests +] + +postinstallcmds = [ + "echo 'Please check results of the test(s) run in sanity check command manually to see if there are any errors'", +] + +sanity_check_paths = { + 'files': ['lib/libsimint.a', 'lib/libsimint.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/siscone/siscone-3.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/siscone/siscone-3.0.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..5ca8d172b3a9 --- /dev/null +++ b/easybuild/easyconfigs/s/siscone/siscone-3.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'siscone' +version = '3.0.5' + +homepage = 'https://siscone.hepforge.org/' +description = """Hadron Seedless Infrared-Safe Cone jet algorithm""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://siscone.hepforge.org/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['08c63ad96516970c0ef5c030de2e626d6760efda8ece20dee410a515b7acf1e8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['lib/libsiscone.%s' % SHLIB_EXT], + 'dirs': ['include/siscone'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb b/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb index efb97279b3fb..28ea88977886 100644 --- a/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb +++ b/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2016b'} source_urls = ['https://github.com/cosmo-epfl/sketchmap/archive/'] sources = ['%s.tar.gz' % local_commit] -buildopts = 'CXX="$CXX" MAKEDEPEND="$CXX -M \$(CXXFLAGS)" LLAPACK="$LIBLAPACK_MT"' +buildopts = r'CXX="$CXX" MAKEDEPEND="$CXX -M \$(CXXFLAGS)" LLAPACK="$LIBLAPACK_MT"' files_to_copy = ['bin'] diff --git a/easybuild/easyconfigs/s/smfishHmrf/smfishHmrf-1.3.3-foss-2022a.eb b/easybuild/easyconfigs/s/smfishHmrf/smfishHmrf-1.3.3-foss-2022a.eb new file mode 100644 index 000000000000..8fc1afb78542 --- /dev/null +++ b/easybuild/easyconfigs/s/smfishHmrf/smfishHmrf-1.3.3-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'smfishHmrf' +version = '1.3.3' + +homepage = 'https://pypi.org/project/smfishHmrf' +description = "smFish spatial pattern mining and cell type prediction" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2fed45be8b5a5d47657cd4c8e9023b9ea6624863fc55a12afda092c6be37ca93'] + +dependencies = [ + ('Python', '3.10.4'), + ('Seaborn', '0.12.1'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('Java', '11', '', SYSTEM), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'smfishHmrf'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snakemake/snakemake-7.18.2-foss-2021b.eb b/easybuild/easyconfigs/s/snakemake/snakemake-7.18.2-foss-2021b.eb new file mode 100644 index 000000000000..4f440890d239 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-7.18.2-foss-2021b.eb @@ -0,0 +1,93 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '7.18.2' + +homepage = 'https://snakemake.readthedocs.io' +description = "The Snakemake workflow management system is a tool to create reproducible and scalable data analyses." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('GitPython', '3.1.24'), + ('IPython', '7.26.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.7', { + 'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'], + }), + ('amply', '0.1.5', { + 'checksums': ['ad717b490b6b7055909faa195e82a4432b706f8f95854050172f42931e478426'], + }), + ('PuLP', '2.7.0', { + 'checksums': ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'], + }), + ('smart_open', '6.2.0', { + 'checksums': ['1b4df5c8365218f3852c507451920ccad606c80b0acb4e67508e50ba9b5d2632'], + }), + ('connection_pool', '0.0.3', { + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('reretry', '0.11.1', { + 'checksums': ['4ae1840ae9e443822bb70543c485bb9c45d1d009e32bd6809f2a9f2839149f5d'], + }), + ('throttler', '1.2.1', { + 'checksums': ['8b23d3485a96d98484024a850c1887ccc685bead17e86c8a9e4b0335e7d74778'], + # workaround for https://github.com/uburuntu/throttler/issues/3 + 'preinstallopts': "touch readme.md requirements-dev.txt && ", + }), + ('dpath', '2.0.6', { + 'checksums': ['5a1ddae52233fbc8ef81b15fb85073a81126bb43698d3f3a1b6aaf561a46cdc0'], + }), + ('plac', '1.3.5', { + 'checksums': ['38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090'], + }), + # yte requires PyYAML >= 6.0 + ('PyYAML', '6.0', { + 'checksums': ['68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2'], + 'modulename': 'yaml', + }), + ('yte', '1.5.1', { + 'checksums': ['6d0b315b78af83276d78f5f67c107c84238f772a76d74f4fc77905b46f3731f5'], + }), + (name, version, { + # patch is needed for clusters that do not support copying the full env into the batch job + # 'patches': ['snakemake-%(version)s_fix_jobs.patch'], + 'checksums': [ + '23f52b9a0c86da3b974a3cfc097fa82b41c49dab05543c0d18377c854852f771', # snakemake-7.18.2 + # '916875eaf4869c65b93098e362b8676cf55c6e37067a54b191f34b13e06c37e3', # snakemake-6.6.1_fix_jobs.patch + ], + }), +] + +# SNAKEMAKE_LOAD_MODULE is needed for snakemake-6.6.1_fix_jobs.patch to work +# local_snakemake_load is the command for loading this module (here: default EB module naming scheme) +# local_snakemake_load = 'module load %(module_name)s' +# modextravars = {'SNAKEMAKE_LOAD_MODULE': local_snakemake_load} + +sanity_check_paths = { + 'files': ['bin/snakemake'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/snakemake'], +} + +sanity_check_commands = ['snakemake --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/snakemake/snakemake-7.22.0-foss-2022a.eb b/easybuild/easyconfigs/s/snakemake/snakemake-7.22.0-foss-2022a.eb new file mode 100644 index 000000000000..13db0e39c4e8 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-7.22.0-foss-2022a.eb @@ -0,0 +1,92 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '7.22.0' + +homepage = 'https://snakemake.readthedocs.io' +description = "The Snakemake workflow management system is a tool to create reproducible and scalable data analyses." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('GitPython', '3.1.27'), + ('IPython', '8.5.0'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.9', { + 'checksums': ['f41a34490d44934b533a7bdaff979ee8a47203fd2d8a746db83f2d5ab12458b9'], + }), + ('amply', '0.1.5', { + 'checksums': ['ad717b490b6b7055909faa195e82a4432b706f8f95854050172f42931e478426'], + }), + ('PuLP', '2.7.0', { + 'checksums': ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'], + }), + ('smart-open', '6.3.0', { + 'sources': ['smart_open-%(version)s.tar.gz'], + 'checksums': ['d5238825fe9a9340645fac3d75b287c08fbb99fb2b422477de781c9f5f09e019'], + }), + ('connection-pool', '0.0.3', { + 'sources': ['connection_pool-%(version)s.tar.gz'], + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('reretry', '0.11.8', { + 'checksums': ['f2791fcebe512ea2f1d153a2874778523a8064860b591cd90afc21a8bed432e3'], + }), + ('throttler', '1.2.2', { + 'checksums': ['d54db406d98e1b54d18a9ba2b31ab9f093ac64a0a59d730c1cf7bb1cdfc94a58'], + }), + ('dpath', '2.1.4', { + 'checksums': ['3380a77d0db4abf104125860ff6eb4bd07c97c65b81aad42a609717089a1bed0'], + }), + ('plac', '1.3.5', { + 'checksums': ['38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090'], + }), + ('yte', '1.5.1', { + 'checksums': ['6d0b315b78af83276d78f5f67c107c84238f772a76d74f4fc77905b46f3731f5'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + (name, version, { + # patch is needed for clusters that do not support copying the full env into the batch job + # 'patches': ['snakemake-%(version)s_fix_jobs.patch'], + 'checksums': [ + '68d7bb4ab7555f7b58a3ba748a880024df919042cfb670da231886385de697cd', # snakemake-7.22.0 + # '916875eaf4869c65b93098e362b8676cf55c6e37067a54b191f34b13e06c37e3', # snakemake-6.6.1_fix_jobs.patch + ], + }), +] + +# SNAKEMAKE_LOAD_MODULE is needed for snakemake-6.6.1_fix_jobs.patch to work +# local_snakemake_load is the command for loading this module (here: default EB module naming scheme) +# local_snakemake_load = 'module load %(module_name)s' +# modextravars = {'SNAKEMAKE_LOAD_MODULE': local_snakemake_load} + +sanity_check_paths = { + 'files': ['bin/snakemake'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/snakemake'], +} + +sanity_check_commands = ['snakemake --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..5f980fff33b4 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.1.9' + +homepage = 'https://github.com/google/snappy' +description = """Snappy is a compression/decompression library. It does not aim +for maximum compression, or compatibility with any other compression library; +instead, it aims for very high speeds and reasonable compression.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/snappy/archive/'] +sources = ['%(version)s.tar.gz'] +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 = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +# Disable building tests and benchmarks - we're not using them and they require googletest and benchmark source code +_configopts = '-DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF' +configopts = ['%s' % _configopts, '-DBUILD_SHARED_LIBS=ON %s' % _configopts] + +sanity_check_paths = { + 'files': ['lib64/libsnappy.a', 'lib64/libsnappy.%s' % SHLIB_EXT, 'include/snappy.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spaCy/spaCy-3.4.4-foss-2022a.eb b/easybuild/easyconfigs/s/spaCy/spaCy-3.4.4-foss-2022a.eb new file mode 100644 index 000000000000..80d6185e427d --- /dev/null +++ b/easybuild/easyconfigs/s/spaCy/spaCy-3.4.4-foss-2022a.eb @@ -0,0 +1,82 @@ +easyblock = 'PythonBundle' + +name = 'spaCy' +version = '3.4.4' + +homepage = 'https://spacy.io/' +description = "Industrial-strength Natural Language Processing (NLP) in Python." + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +exts_list = [ + ('spacy-legacy', '3.0.10', { + 'checksums': ['16104595d8ab1b7267f817a449ad1f986eb1f2a2edf1050748f08739a479679a'], + }), + ('spacy-loggers', '1.0.4', { + 'checksums': ['e6f983bf71230091d5bb7b11bf64bd54415eca839108d5f83d9155d0ba93bf28'], + }), + ('cymem', '2.0.7', { + 'checksums': ['e6034badb5dd4e10344211c81f16505a55553a7164adc314c75bd80cf07e57a8'], + }), + ('murmurhash', '1.0.9', { + 'checksums': ['fe7a38cb0d3d87c14ec9dddc4932ffe2dbc77d75469ab80fd5014689b0e07b58'], + }), + ('preshed', '3.0.8', { + 'checksums': ['6c74c70078809bfddda17be96483c41d06d717934b07cab7921011d81758b357'], + }), + ('blis', '0.7.9', { + 'checksums': ['29ef4c25007785a90ffc2f0ab3d3bd3b75cd2d7856a9a482b7d0dac8d511a09d'], + }), + ('confection', '0.0.3', { + 'checksums': ['4fec47190057c43c9acbecb8b1b87a9bf31c469caa0d6888a5b9384432fdba5a'], + }), + ('thinc', '8.1.6', { + 'checksums': ['9241c37761f004fe684e637d2b4d8b79addebabc64e343aa1cba144fad2c9b47'], + }), + ('ml_datasets', '0.2.0', { + 'checksums': ['3f9c8901f8d6be3dab5b23ec3a6c01e619a60d0184696b1030cde2e3086943f1'], + }), + ('wasabi', '0.10.1', { + 'checksums': ['c8e372781be19272942382b14d99314d175518d7822057cb7a97010c4259d249'], + }), + ('srsly', '2.4.5', { + 'checksums': ['c842258967baa527cea9367986e42b8143a1a890e7d4a18d25a36edc3c7a33c7'], + }), + ('catalogue', '2.0.8', { + 'checksums': ['b325c77659208bfb6af1b0d93b1a1aa4112e1bb29a4c5ced816758a722f0e388'], + }), + ('typer', '0.7.0', { + 'checksums': ['ff797846578a9f2a201b53442aedeb543319466870fbe1c701eab66dd7681165'], + }), + ('pathy', '0.10.1', { + 'checksums': ['4cd6e71b4cd5ff875cfbb949ad9fa5519d8d1dbe69d5fc1d1b23aa3cb049618b'], + }), + ('smart-open', '6.3.0', { + 'source_tmpl': 'smart_open-%(version)s.tar.gz', + 'checksums': ['d5238825fe9a9340645fac3d75b287c08fbb99fb2b422477de781c9f5f09e019'], + }), + ('tqdm', '4.64.1', { + 'checksums': ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('langcodes', '3.3.0', { + 'checksums': ['794d07d5a28781231ac335a1561b8442f8648ca07cd518310aeb45d6f0807ef6'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['e500cf2cb5f1849461a7928fa269703756069bdfb71559065240af6d0208b08c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-11.2.0.eb b/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-11.2.0.eb new file mode 100644 index 000000000000..b8da6b502900 --- /dev/null +++ b/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-11.2.0.eb @@ -0,0 +1,45 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'spaln' +version = '2.4.12' + +homepage = 'https://github.com/ogotoh/spaln' +description = """Spaln (space-efficient spliced alignment) is a stand-alone program that maps + and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +# disable use of -march=native, which makes compilation fail due to missing header files like fwd2s1_simd.h; +# see also https://github.com/ogotoh/spaln/issues/56 +toolchainopts = {'optarch': False} + +source_urls = ['https://github.com/ogotoh/spaln/archive/'] +sources = ['ver%(version)s.tar.gz'] +checksums = ['0c5f842131409686dbaad01778960f53f1ebba8dd83d55b454ec4bf1b6bde2af'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), +] + +start_dir = 'src' + +# we need to make sure not to pass --prefix, otherwise the configure script gets stuck in an infinite loop... +prefix_opt = '--exec_prefix=' + +configopts = "--exec_prefix=%(installdir)s/bin --table_dir=%(installdir)s/table --alndbs_dir=%(installdir)s/seqdb " +configopts += "--use_zlib=1" +fix_perl_shebang_for = ['seqdb/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['makdbs', 'makmdm', 'sortgrcd', 'spaln']], + 'dirs': ['seqdb', 'table'], +} + +sanity_check_commands = ["spaln -h 2>&1 | grep 'SPALN version %(version)s'"] +modextrapaths = { + 'PATH': 'seqdb', + 'PERL5LIB': 'seqdb', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spaln/spaln-2.4.13f-GCC-11.3.0.eb b/easybuild/easyconfigs/s/spaln/spaln-2.4.13f-GCC-11.3.0.eb new file mode 100644 index 000000000000..0bb954fe5337 --- /dev/null +++ b/easybuild/easyconfigs/s/spaln/spaln-2.4.13f-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'spaln' +version = '2.4.13f' + +homepage = 'https://github.com/ogotoh/spaln' +description = """Spaln (space-efficient spliced alignment) is a stand-alone program that maps + and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +# disable use of -march=native, which makes compilation fail due to missing header files like fwd2s1_simd.h; +# see also https://github.com/ogotoh/spaln/issues/56 +toolchainopts = {'optarch': False} + +source_urls = ['https://github.com/ogotoh/spaln/archive/'] +sources = ['ver.%(version)s.tar.gz'] +checksums = ['024fdcf58e38373983092280a7e10ff9c7e246e7d2465c165e158512e686225e'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Perl', '5.34.1'), +] + +start_dir = 'src' + +# we need to make sure not to pass --prefix, otherwise the configure script gets stuck in an infinite loop... +prefix_opt = '--exec_prefix=' + +configopts = "--exec_prefix=%(installdir)s/bin --table_dir=%(installdir)s/table --alndbs_dir=%(installdir)s/seqdb " +configopts += "--use_zlib=1" +fix_perl_shebang_for = ['seqdb/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['makdbs', 'makmdm', 'sortgrcd', 'spaln']], + 'dirs': ['seqdb', 'table'], +} + +sanity_check_commands = ["spaln -h 2>&1 | grep 'SPALN version %(version)s'"] +modextrapaths = { + 'PATH': 'seqdb', + 'PERL5LIB': 'seqdb', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7-foss-2022a.eb b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7-foss-2022a.eb new file mode 100644 index 000000000000..3c3a686982be --- /dev/null +++ b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'sparse-neighbors-search' +version = '0.7' + +homepage = 'https://github.com/joachimwolff/sparse-neighbors-search' +description = """A Python/C++ implementation of an approximate nearest neighbor search for sparse data structures + based on the idea of local sensitive hash functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('umap-learn', '0.5.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'patches': ['sparse-neighbors-search-%(version)s_include-stddef.patch'], + 'source_urls': ['https://github.com/joachimwolff/sparse-neighbors-search/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + {'0.7.tar.gz': '4c824eacb1d3c3fafba31eb5803b6291fc098be278b1eb8a63fd9cc7d998621b'}, + {'sparse-neighbors-search-0.7_include-stddef.patch': + '33f7b4fd0de7a2f8fbab19abc7d47a125ac971cf0fe8c8a24a21c0ddde0a8102'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7_include-stddef.patch b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7_include-stddef.patch new file mode 100644 index 000000000000..a06fb73fe008 --- /dev/null +++ b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7_include-stddef.patch @@ -0,0 +1,13 @@ +fix for "error: size_t was not declared in this scope" +see also https://github.com/joachimwolff/sparse-neighbors-search/issues/10 +author: Kenneth Hoste (HPC-UGent) +--- sparse-neighbors-search-0.7/sparse_neighbors_search/computation/typeDefinitionsBasic.h.orig 2023-02-13 18:33:53.877631417 +0100 ++++ sparse-neighbors-search-0.7/sparse_neighbors_search/computation/typeDefinitionsBasic.h 2023-02-13 18:33:57.576622509 +0100 +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #define MAX_VALUE std::numeric_limits::max() + diff --git a/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..e41d4c3729fb --- /dev/null +++ b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Updated from previous easyconfig +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to GCCcore-11.3.0 +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'sparsehash' +version = '2.0.4' + +homepage = 'https://github.com/sparsehash/sparsehash' +description = """ + An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! + The SparseHash library contains several hash-map implementations, including + implementations that optimize for space or speed. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +sanity_check_paths = { + 'files': ['include/google/type_traits.h'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..37e99e711245 --- /dev/null +++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.11.0' + +homepage = 'https://github.com/gabime/spdlog' +description = 'Very fast, header-only/compiled, C++ logging library.' +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/spdlog/spdlog.h'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-gomkl-2021a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-gomkl-2021a.eb new file mode 100644 index 000000000000..6079d940a724 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-gomkl-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.1' + +homepage = 'https://pypi.python.org/pypi/spglib' +description = "Spglib for Python. Spglib is a library for finding and handling crystal symmetries written in C." + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['9fd2fefbd83993b135877a69c498d8ddcf20a9980562b65b800cfb4cdadad003'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.2-gfbf-2022b.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.2-gfbf-2022b.eb new file mode 100644 index 000000000000..76b889951436 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.2-gfbf-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '2.0.2' + +homepage = 'https://pypi.python.org/pypi/spglib' +description = "Spglib for Python. Spglib is a library for finding and handling crystal symmetries written in C." + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['1d081ec22da4ab4fc3198e9445ddad6dec2261c43927831151d93e39422610aa'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..256f29f77b51 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'spglib' +version = '2.0.2' + +homepage = 'https://spglib.github.io/spglib/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/spglib/spglib/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['10e44a35099a0a5d0fc6ee0cdb39d472c23cb98b1f5167c0e2b08f6069f3db1e'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +postinstallcmds = ["cd %(installdir)s/include && mkdir spglib && ln -s ../spglib.h spglib/"] + +sanity_check_paths = { + 'files': [ + 'include/spglib.h', + 'lib/libsymspg.a', + 'lib/libsymspg.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/sradownloader/sradownloader-3.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/sradownloader/sradownloader-3.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3dbf97a9a7ed --- /dev/null +++ b/easybuild/easyconfigs/s/sradownloader/sradownloader-3.9-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'sradownloader' +version = '3.9' + +homepage = "https://github.com/s-andrews/sradownloader" +description = """SRAdownloader takes the annotation table from the SRA run selector tool +and retrieves the raw fastq files for the selected samples""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/s-andrews/sradownloader/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dee44a8476fc11d3306019fe608295fc3b19f0c0073061ef71f1c0101dc587cc'] + +dependencies = [ + ('Python', '3.10.4'), +] + +modextrapaths = { + 'PATH': '', +} + +sanity_check_paths = { + 'files': ['sradownloader'], + 'dirs': [], +} + +sanity_check_commands = [ + 'sradownloader -h', + 'sradownloader --version' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b.eb b/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b.eb new file mode 100644 index 000000000000..527256b2790e --- /dev/null +++ b/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'stardist' +version = '0.8.3' + +homepage = 'https://github.com/stardist/stardist' +description = "Object Detection with Star-convex Shapes." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('TensorFlow', '2.7.1'), + ('numba', '0.54.1'), + ('imageio', '2.13.5'), + ('scikit-image', '0.19.1'), + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + ('edt', '2.3.0', { + 'checksums': ['220e2086fdf32bbd8964df76b3e1a42061ece1f4b9ea95ec83a094d24d258664'], + }), + (name, version, { + 'checksums': ['8ac1f6165ca8e8496651c6e2b49ce57d6d574dfb22bf6f63ddaec1f64b8868d1'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/stardist-predict2d', 'bin/stardist-predict3d'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "stardist-predict2d --help", + "stardist-predict3d --help", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2022a.eb new file mode 100644 index 000000000000..7b353348d047 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.13.1' + +homepage = 'https://www.statsmodels.org/' +description = """Statsmodels is a Python module that allows users to explore data, estimate statistical models, +and perform statistical tests.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + (name, version, { + 'checksums': ['006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/svist4get/reportlab-3.6.12-fontconfig.patch b/easybuild/easyconfigs/s/svist4get/reportlab-3.6.12-fontconfig.patch new file mode 100644 index 000000000000..92e6ce513694 --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/reportlab-3.6.12-fontconfig.patch @@ -0,0 +1,25 @@ +Patch to make sure the fontconfig from EasyBuild will be found +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/reportlab-3.6.12.orig/setup.py b/reportlab-3.6.12/setup.py +index 4b380b6..2ccfa93 100644 +--- a/reportlab-3.6.12.orig/setup.py ++++ b/reportlab-3.6.12/setup.py +@@ -277,14 +277,11 @@ class inc_lib_dirs: + # darwin ports installation directories + aDir(L, "/opt/local/lib") + aDir(I, "/opt/local/include") +- aDir(I, "/usr/local/include") +- aDir(L, "/usr/local/lib") +- aDir(I, "/usr/include") +- aDir(L, "/usr/lib") +- aDir(I, "/usr/include/freetype2") + if addrSize==64: +- aDir(L, "/usr/lib/lib64") +- aDir(L, "/usr/lib/x86_64-linux-gnu") ++ freepath = os.getenv("EBROOTFREETYPE") ++ aDir(L, pjoin(freepath, "lib64")) ++ aDir(I, pjoin(freepath, "include/freetype2")) ++ + else: + aDir(L, "/usr/lib/lib32") + prefix = sysconfig.get_config_var("prefix") diff --git a/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2020b.eb b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2020b.eb new file mode 100644 index 000000000000..a6339d51f19e --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2020b.eb @@ -0,0 +1,61 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'svist4get' +version = '1.3.1' + +homepage = 'https://github.com/art-egorov/svist4get' +description = """Svist4get is a simple bioinformatics tool for visualization of +genomic signal tracks in user-defined genomic windows, either arbitrary selected +by genomic coordinates or anchored to particular transcripts or genes.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('pybedtools', '0.8.2'), + ('Biopython', '1.78'), + ('Pillow', '8.0.1'), + ('ImageMagick', '7.0.10-35'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('reportlab', '3.6.9', { + 'patches': ['reportlab-3.6.12-fontconfig.patch'], + 'checksums': ['5d0cc3682456ad213150f6dbffe7d47eab737d809e517c316103376be548fb84', + # reportlab-3.6.12-fontconfig.patch: + '2cc9b40e09650b7404ee9c4d72b134739acc89bacac3da58131cef2308726297'], + }), + ('configs', '3.0.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['a5ab09e04e441dac6aa856a71fbf5ffc62954352630f79d311b8f8a31d9ce19c'], + }), + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('Wand', '0.6.10', { + 'checksums': ['373f4a7f2866c868c31ce910e1f9b36a92d132640a20068ec17cea3284fedc57'], + }), + ('statistics', '1.0.3.5', { + 'checksums': ['2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138'], + }), + (name, version, { + 'checksums': ['22311fdc956cca531dac7ba924744e8f870a57bc6f27cbe4e8ba9854117e720c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/svist4get', 'bin/svist4get_copier'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "svist4get --help", + "svist4get -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.10.1-intel-2022a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.10.1-intel-2022a.eb new file mode 100644 index 000000000000..ef36e3b6591a --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.10.1-intel-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'sympy' +version = '1.10.1' + +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': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5939eeffdf9e152172601463626c022a2c27e75cf6278de8d401d50c9d58787b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('gmpy2', '2.1.2'), +] + +download_dep_fail = True +use_pip = True + +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/s/sympy/sympy-1.11.1-intel-2022a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.11.1-intel-2022a.eb new file mode 100644 index 000000000000..38b1a2916d34 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.11.1-intel-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'sympy' +version = '1.11.1' + +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': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e32380dce63cb7c0108ed525570092fd45168bdae2faa17e528221ef72e88658'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('gmpy2', '2.1.2'), +] + +download_dep_fail = True +use_pip = True + +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/s/synthcity/synthcity-0.2.4-foss-2022a.eb b/easybuild/easyconfigs/s/synthcity/synthcity-0.2.4-foss-2022a.eb new file mode 100644 index 000000000000..2d2a1ab0f5da --- /dev/null +++ b/easybuild/easyconfigs/s/synthcity/synthcity-0.2.4-foss-2022a.eb @@ -0,0 +1,167 @@ +easyblock = 'PythonBundle' + +name = 'synthcity' +version = '0.2.4' + +local_pytorch_version = '1.12.0' + +homepage = 'https://github.com/vanderschaarlab/synthcity' +description = """A library for generating and evaluating synthetic tabular data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('lifelines', '0.27.4'), + ('SciPy-bundle', '2022.05'), + ('pydantic', '1.10.4'), + ('Redis', '7.0.8'), + ('scikit-learn', '1.1.2'), + ('SHAP', '0.41.0'), + ('PyTorch', local_pytorch_version), + ('XGBoost', '1.7.2'), + ('tqdm', '4.64.0'), + ('Mako', '1.2.0'), + ('PyYAML', '6.0'), + ('fastai', '2.7.10'), + ('h5py', '3.7.0'), + ('networkx', '2.8.4'), + ('protobuf', '3.19.4'), + ('Arrow', '8.0.0'), + ('pybind11', '2.9.2'), + ('PyTorch-Lightning', '1.8.4'), + ('spaCy', '3.4.4'), + ('tensorboard', '2.10.0'), + ('torchvision', '0.13.1'), + ('Brotli-python', '1.0.9'), + ('statsmodels', '0.13.1'), + ('imbalanced-learn', '0.10.1'), + ('Greenlet', '2.0.2'), + ('Optuna', '3.1.0'), + ('Cython', '0.29.33'), + ('cython-blis', '0.9.1'), + ('torchtext', '0.14.1', '-PyTorch-%s' % local_pytorch_version), + ('IPython', '8.5.0'), + ('MONAI', '1.0.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('decaf_synthetic_data', '0.1.6', { + 'modulename': 'decaf', + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['dc51502f9f72b3fbdbef697238d72ae6b8457f76efc9763a747970ba543d4e0f'], + }), + ('feather-format', '0.4.1', { + 'modulename': 'feather', + 'checksums': ['45f67e3745d394d4f160ca6d636bbfd4f8b68d01199dc1649b6e487d3e878903'], + }), + ('fflows', '0.0.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['18de7a7b98e3708ff2d5ae9f10fad625740230c4de6447906b7ca477667b78fb'], + }), + ('fsspec', '2022.7.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['36c5a8e7c4fc20cf32ef6934ac0a122accc8a593ddc8478d30c3ca4dbbd95500'], + }), + ('functorch', '0.2.0', { + 'source_urls': ['https://github.com/pytorch/%(name)s/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['ea6446b60d5e0847140e1a0dcb91d8a7de2b5844bba7c3f7560eb5020a05881f'], + }), + ('geomloss', '0.2.5', { + 'checksums': ['dcd851cc3c9625f384d4c18d235a790821162c34a2be503a61966b355b98456e'], + }), + ('inflate64', '0.3.1', { + 'checksums': ['b52dd8fefd2ba179e5dfa18d6eca7e2fc822584616271c039d5ef1f9ca90c71c'], + }), + ('keopscore', '2.1.1', { + 'checksums': ['07b4d254a28a9d4a43153663856677263dd7112912efacbad83c2a76ea0836f0'], + }), + ('loguru', '0.6.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4e2414d534a2ab57573365b3e6d0234dfb1d84b68b7f3b948e6fb743860a77c3'], + }), + ('multivolumefile', '0.2.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['237f4353b60af1703087cf7725755a1f6fcaeeea48421e1896940cd1c920d678'], + }), + ('nflows', '0.14', { + 'checksums': ['6299844a62f9999fcdf2d95cb2d01c091a50136bd17826e303aba646b2d11b55'], + }), + ('opacus', '1.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ef5d6f2aab56901d714ee56fd177a3627d14d820b2ec49cb8bc8a6f52c326507'], + }), + ('opt_einsum', '3.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147'], + }), + ('pgmpy', '0.1.21', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['3c442320e7822892813b4eb56e048729d3bde053a707b5bb032685af6b372246'], + }), + ('py7zr', '0.20.4', { + 'checksums': ['1d01f98ea1e1f5c49940358691b2076f9a5848056426541e783de33834f59e21'], + }), + ('pybcj', '1.0.1', { + 'modulename': 'bcj', + 'checksums': ['8b682ed08caabfb7c042d4be083e28ddc692afb1deff5567111f8855071b75c3'], + }), + ('pycox', '0.2.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['9ea3c64a4a650ccf6c96cf512712de330f2d75de32122d86995c7cd37ff105d1'], + }), + ('pycryptodomex', '3.17', { + 'modulename': 'Crypto', + 'checksums': ['0af93aad8d62e810247beedef0261c148790c52f3cd33643791cc6396dd217c1'], + }), + ('pykeops', '2.1.1', { + 'checksums': ['1931823c746345ce5a5805adad6baa1add772c6fe1800375f7f9a3ddb38b6f71'], + }), + ('pyppmd', '1.0.0', { + 'checksums': ['075c9bd297e3b0a87dd7aeabca7fee668218acbe69ecc1c6511064558de8840f'], + }), + ('pyts', '0.12.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['acd66b0cf1fd17d9ce6449335f5da30701f65fdee185d4b918726b62ca6af79d'], + }), + ('pyzstd', '0.15.4', { + 'checksums': ['de07ac54f57642f186732075cdce2be3d4a30228c3b17a6d8c6053765dc6eec8'], + }), + ('texttable', '1.6.7', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['b7b68139aa8a6339d2c320ca8b1dc42d13a7831a346b446cb9eb385f0c76310c'], + }), + ('thinc', '8.1.9', { + 'checksums': ['8a1e65529c6d0796271d2a7e5ca6ea013fcb7dad69ec609d5093a25808107f51'], + # we are using blis 0.9.1 + # thinc has problems with blis>0.8.0 on Windows only (https://github.com/explosion/thinc/pull/772) + 'preinstallopts': 'sed -i "s/blis>=0.7.8,<0.8.0/blis>=0.7.8/g" setup.cfg && ', + }), + ('torchtuples', '0.2.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['186625230a149cc09f64116d51b203ffefe78160f5a0445adad195893663f55b'], + }), + ('tsai', '0.3.5', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['f5b888f7b968d1826a74eab3b8fa9559c6985d8532c017a4d85809e6c8e6cadd'], + }), + ('xgbse', '0.2.3', { + 'source_urls': ['https://github.com/loft-br/xgboost-survival-embeddings/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9e6b71539b2b533c00eddfe7681cdd541f393d9573594eca358d263b141c127d'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['424448d420331743458bf63558a06a5fbefbad19392718cd0a755d4a4878476c'], + }), +] + +sanity_check_commands = [ + "python -c 'from synthcity.plugins import Plugins'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/sysbench/sysbench-1.0.20-GCC-12.2.0.eb b/easybuild/easyconfigs/s/sysbench/sysbench-1.0.20-GCC-12.2.0.eb new file mode 100644 index 000000000000..8634f5e8d18f --- /dev/null +++ b/easybuild/easyconfigs/s/sysbench/sysbench-1.0.20-GCC-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'sysbench' +version = '1.0.20' + +homepage = 'https://github.com/akopytov/sysbench' +description = """sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. + It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex + workloads that do not involve a database server.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'akopytov' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libtool', '2.4.7'), + ('MariaDB', '10.11.2'), + ('PostgreSQL', '15.2'), # optional +] + +preconfigopts = './autogen.sh &&' +configopts = '--with-pgsql ' # optional + +sanity_check_paths = { + 'files': ['bin/sysbench'], + 'dirs': ['bin', 'share'] +} + +sanity_check_commands = ['sysbench --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb b/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb old mode 100644 new mode 100755 index 595fe3195804..27cae837eedc --- a/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb +++ b/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb @@ -13,7 +13,6 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://github.com/mortazavilab/%(name)s/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] -# patches = ['TALON-%(version)s_less_strict_deps.patch'] checksums = [ 'aeb1c1f46a4c757a8bb866b9a4446186f0f280e9391933a040de9dad30453649', # v5.0.tar.gz ] diff --git a/easybuild/easyconfigs/t/TALON/TALON-5.0_less_strict_deps.patch b/easybuild/easyconfigs/t/TALON/TALON-5.0_less_strict_deps.patch deleted file mode 100644 index ae167de7749f..000000000000 --- a/easybuild/easyconfigs/t/TALON/TALON-5.0_less_strict_deps.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ruN TALON-5.0/requirements.txt TALON-5.0_edit/requirements.txt ---- TALON-5.0/requirements.txt 2020-03-20 05:13:53.000000000 +0100 -+++ TALON-5.0_edit/requirements.txt 2021-05-26 14:36:01.257975762 +0200 -@@ -1,4 +1,4 @@ - pandas - pyfaidx --pysam==0.15.4 -+pysam>=0.15.4 - pybedtools -diff -ruN TALON-5.0/setup.py TALON-5.0_edit/setup.py ---- TALON-5.0/setup.py 2020-03-20 05:13:53.000000000 +0100 -+++ TALON-5.0_edit/setup.py 2021-05-26 14:36:06.873983709 +0200 -@@ -49,7 +49,7 @@ - python_requires=">=3.6", - install_requires=[ - "pandas", -- "pysam==0.15.4", -+ "pysam>=0.15.4", - "pybedtools", - "pyfaidx" - ], diff --git a/easybuild/easyconfigs/t/TBA/TBA-1.0-foss-2020b.eb b/easybuild/easyconfigs/t/TBA/TBA-1.0-foss-2020b.eb new file mode 100644 index 000000000000..c3f0e23f2d8a --- /dev/null +++ b/easybuild/easyconfigs/t/TBA/TBA-1.0-foss-2020b.eb @@ -0,0 +1,65 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'Tarball' + +name = 'TBA' +version = '1.0' + +homepage = 'https://github.com/jenhantao/tba' +description = """TBA (a Transcription factor Binding Analysis): +TBA is a multi-functional machine learning tool for identifying +transcription factors associated with genomic features""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/jenhantao/tba/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['97acb78e045bbd066d67213c84417f2af7f48fde1f513be22cbb46ad2966ae2c'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Biopython', '1.78'), + ('scikit-learn', '0.23.2'), + ('Seaborn', '0.11.1'), + ('matplotlib', '3.3.3'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('idr', '2.0.3', { + 'source_urls': ['https://github.com/nboley/idr/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['63e3be099b2deadfa8c7ccc3ab83659afe683f6a35bd41b2319c6ad58ca74de6'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), +] + +postinstallcmds = [ + "mv %(installdir)s/model_training/* %(installdir)s/bin ", + "mv %(installdir)s/default_motifs %(installdir)s/share ", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/train_model_default.sh', 'bin/train_classifier.py', + 'bin/create_features.py', 'bin/idr'], + 'dirs': ['share'], +} + +sanity_check_commands = [ + "idr --version", + "train_classifier.py -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p3r1-foss-2021b.eb b/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p3r1-foss-2021b.eb new file mode 100644 index 000000000000..a0cee771e9cf --- /dev/null +++ b/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p3r1-foss-2021b.eb @@ -0,0 +1,87 @@ +easyblock = 'Binary' + +name = 'TELEMAC-MASCARET' +version = '8p3r1' + +homepage = 'http://www.opentelemac.org' +description = """TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having +been used in the context of many studies throughout the world, it has become one of the major standards in its field.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'extra_fcflags': "-fallow-invalid-boz"} + +source_urls = ['https://gitlab.pam-retd.fr/otm/telemac-mascaret/-/archive/v%(version)s/'] +sources = ['telemac-mascaret-v%(version)s.tar.gz'] +checksums = ['e37ae6b7eefca0e544c6431308e43828d439be08701356814dd1e04ca762fb7d'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # provides numpy, scipy + ('matplotlib', '3.4.3'), + ('HDF5', '1.12.1'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.2'), + ('MUMPS', '5.4.1', '-metis'), +] + +extract_sources = True +unpack_options = '--strip-components=1' + +buildininstalldir = True + +local_tweak_cfg_cmd = ' '.join([ + "sed -i -e 's/S9.gfortran/easybuild/g'", + # strip out use of AED, GOTM, MED (optional dependencies) + r"-e 's/\(^[a-z]*_aed:\).*/\1/g' -e 's/\(^[a-z]*_gotm:\).*/\1/g' -e 's/\(^[a-z]*_med:\).*/\1/g'", + # replace -O2 with desired compiler options + '-e "s/-O2/$F90FLAGS/g"', + # fix linker option for BLAS + '-e "s/ -lblas/ $LIBBLAS/g"', + # downgrade Fortran compiler error to warning + "-e 's/^fflags_gfo:/fflags_gfo: -fallow-invalid-boz/g'", + "$HOMETEL/configs/systel.easybuild.cfg", +]) + +install_cmd = ' && '.join([ + "export HOMETEL=$PWD", + # add Python scripts to $PATH and $PYTHONPATH + "export PATH=$HOMETEL/scripts/python3/:$PATH", + "export PYTHONPATH=$HOMETEL/scripts/python3:$PYTHONPATH", + # force python to flush its output + "export PYTHONUNBUFFERED=1", + "cp $HOMETEL/configs/systel.edf.cfg $HOMETEL/configs/systel.easybuild.cfg", + local_tweak_cfg_cmd, + "export SYSTELCFG=$HOMETEL/configs/systel.easybuild.cfg", + "export USETELCFG=easybuild", + "export SCALAPACKHOME=$EBROOTSCALAPACK", + "export METISHOME=$EBROOTMETIS", + "export SCOTCHHOME=$EBROOTSCOTCH", + "export MUMPSHOME=$EBROOTMUMPS", + "export HDF5HOME=$EBROOTHDF5", + "config.py", + "compile_telemac.py -j %(parallel)s", +]) + +sanity_check_paths = { + 'files': ['builds/easybuild/bin/telemac2d', 'builds/easybuild/bin/telemac3d', + 'builds/easybuild/lib/libtelemac2d.%s' % SHLIB_EXT, 'builds/easybuild/lib/libtelemac3d.%s' % SHLIB_EXT], + 'dirs': ['scripts/python3'], +} + +sanity_check_commands = [ + "tmpdir=$(mktemp -d) && cp -a %(installdir)s/examples/telemac2d/gouttedo $tmpdir/ && chmod -R u+w $tmpdir && " + "cd $tmpdir/gouttedo && telemac2d.py t2d_gouttedo.cas", +] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'builds/easybuild/lib', + 'PATH': 'scripts/python3', + 'PYTHONPATH': 'scripts/python3', +} + +modextravars = { + 'SYSTELCFG': '%(installdir)s/configs/systel.easybuild.cfg', + 'USETELCFG': 'easybuild', +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/t/TFEA/TFEA-1.1.4-foss-2020b-muMerge-1.1.0.eb b/easybuild/easyconfigs/t/TFEA/TFEA-1.1.4-foss-2020b-muMerge-1.1.0.eb new file mode 100644 index 000000000000..37bf2e3548cb --- /dev/null +++ b/easybuild/easyconfigs/t/TFEA/TFEA-1.1.4-foss-2020b-muMerge-1.1.0.eb @@ -0,0 +1,66 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'TFEA' +version = '1.1.4' +_mumergever = '1.1.0' +versionsuffix = '-muMerge-%s' % _mumergever + + +homepage = 'https://github.com/Dowell-Lab/TFEA' +description = """Transcription Factor Enrichment Analysis """ + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('SciPy-bundle', '2020.11'), + ('pybedtools', '0.8.2'), + ('psutil', '5.9.3'), + ('SWIG', '4.0.2'), + ('ncurses', '6.2'), + ('cURL', '7.72.0'), + ('XZ', '5.2.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ujson', '5.5.0', { + 'checksums': ['b25077a971c7da47bd6846a912a747f6963776d90720c88603b1b55d81790780'], + }), + ('pysam', '0.15.2', { + 'checksums': ['d049efd91ed5b1af515aa30280bc9cb46a92ddd15d546c9b21ee68a6ed4055d9'], + }), + ('HTSeq', '2.0.2', { + 'checksums': ['e2c7442d6ff3f97293cfa0da276576f0996eae0a66eb3c2006332ef198f7ea09'], + 'modulename': '%(name)s', + }), + ('mumerge', '1.1.0', { + 'source_urls': ['https://github.com/Dowell-Lab/mumerge/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f8afd360800567ddb4e7b602ed63ef30d22eb41d7bfbd1dc323295cdc8a98bf3'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'patches': ['tfea-1.1.4-README.md.patch'], + 'checksums': [('fa74d0e4ab11fa7ca125d86b76ee1cb66480374a220ab01d61433d4302cb9b3a'), + ('92e53d05c2422e422e6744d42afdd04ffc267a743f6a39c9c6957be3c6bf3b30')], + 'modulename': 'TFEA' + }), +] + +sanity_check_paths = { + 'files': ['bin/TFEA', 'bin/TFEA-annotate', 'bin/TFEA-simulate'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "TFEA --help", + "TFEA-simulate -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TFEA/tfea-1.1.4-README.md.patch b/easybuild/easyconfigs/t/TFEA/tfea-1.1.4-README.md.patch new file mode 100644 index 000000000000..4cf540c49214 --- /dev/null +++ b/easybuild/easyconfigs/t/TFEA/tfea-1.1.4-README.md.patch @@ -0,0 +1,754 @@ +Missing README.md added +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/tfea-1.1.4.orig/setup.py b/tfea-1.1.4/setup.py +index 416aa4e..14d21ff 100644 +--- a/tfea-1.1.4.orig/setup.py ++++ b/tfea-1.1.4/setup.py +@@ -3,7 +3,7 @@ import TFEA + + with open("README.md", "r") as fh: + long_description = fh.read() +- ++ + setuptools.setup( + name="tfea", + version=TFEA.__version__, #Version read from __init__.py +diff --git a/tfea-1.1.4/README.md b/tfea-1.1.4/README.md +new file mode 100644 +index 0000000..5e3975a +--- /dev/null ++++ b/tfea-1.1.4/README.md +@@ -0,0 +1,733 @@ ++

Transcription Factor Enrichment Analysis (TFEA)

++

Table of Contents

++ ++1. Pipeline ++2. Installation and Requirements ++ - TFEA ++ - DESeq ++ - Bedtools ++ - Samtools ++ - MEME Suite ++ - Image Magick ++ - FIJI Modules ++4. Basic Usage ++ - Testing TFEA ++ - Running TFEA ++5. Advanced Usage ++ - Configuration File ++ - Using SBATCH ++ - Pre-Processed Inputs ++ - Secondary Analysis (MD, MDD) ++ - Measuring TF FPKM ++ - Generating Simulated Data ++ - Rerunning TFEA ++ - Help Message ++6. Example Output ++7. Contact Information ++ ++

++ ++

TFEA Pipeline

++ ++![TFEA Pipeline](https://github.com/jdrubin91/TFEA/blob/master/README_images/TFEAPipelinev5.png) ++ ++

++ ++

Installation and Requirements

++ ++

TFEA

++ ++To install, this package and all python3 dependencies: ++ ++``` ++python3 -m pip install tfea ++``` ++ ++This should take no longer than several minutes. ++ ++Once successfully installed, you should be able to run the tfea command from anywhere, try: ++ ++``` ++TFEA --help ++``` ++ ++*Note:* If you plan to run TFEA only on FIJI using the --sbatch flag, then you only need to install DESeq and DESeq2. Otherwise, follow the instructions below for installing all TFEA dependencies. ++ ++

DESeq

++ TFEA uses DESeq or DESeq2 (depending on replicate number) to rank inputted bed files based on fold change significance. If on FIJI, make sure all gcc modules are unloaded before installing DESeq or DESeq2. This can be accomplished with: ++ ++ ``` ++ module unload gcc ++ ``` ++ ++ or ++ ++ ``` ++ module purge ++ ``` ++ ++ To install DESeq and DESeq2 type in your terminal: ++ ++ ``` ++ R ++ ++ > if (!requireNamespace("BiocManager", quietly = TRUE)) ++ > install.packages("BiocManager") ++ ++ > BiocManager::install("DESeq") ++ > BiocManager::install("DESeq2") ++ ``` ++ ++

Bedtools

++ TFEA uses Bedtools to do several genomic computations. Instructions for installing bedtools can be found here: ++ ++ Bedtools Installation ++ ++ If you are on FIJI compute cluster, bedtools is available as a module: ++ ++ ``` ++ module load bedtools/2.25.0 ++ ``` ++ ++

Samtools

++ TFEA uses samtools to index bam files. Samtools download and install instructions can be found here: ++ Samtools Download and Install ++ ++ If you are on FIJI compute cluster, bedtools is available as a module: ++ ++ ``` ++ module load samtools/1.8 ++ ``` ++ ++

MEME Suite

++ TFEA uses the MEME suite to scan sequences from inputted bed files for motif hits using the background atcg distribution form inputted bed file regions. TFEA also uses the MEME suite to generate motif logos for html display. Instructions for downloading and installing the MEME suite can be found here: ++ ++ MEME Download and Installation ++ ++ If you are on FIJI compute cluster, the meme suite is available as a module: ++ ++ ``` ++ module load meme/5.0.3 ++ ``` ++ ++

Image Magick

++ TFEA uses the meme2images script within MEME to produce motif logo figures. This requires Image Magick, which is a common linux utility package sometimes pre-installed on machines. To check if you have Image Magick installed try: ++ ++ ``` ++ identify -version ++ ``` ++ ++ If you do not have Image Magick installed, follow these instructions: ++ ++ Image Magick Download and Installation ++ ++

FIJI Modules

++ Below is a summary of all FIJI modules needed to run TFEA. ++ ++ ``` ++ module load python/3.6.3 ++ module load python/3.6.3/matplotlib/1.5.1 ++ module load python/3.6.3/scipy/0.17.1 ++ module load python/3.6.3/numpy/1.14.1 ++ module load python/3.6.3/htseq/0.9.1 ++ module load python/3.6.3/pybedtools/0.7.10 ++ ++ module load samtools/1.8 ++ module load bedtools/2.25.0 ++ module load meme/5.0.3 ++ ``` ++ ++

++

BasicUsage

++

Testing TFEA

++To make sure TFEA is installed properly, run the following tests: ++ ++*Note:* If you chose to skip installations because you were going to run TFEA using the --sbatch flag, make sure you load the appropriate modules on FIJI or these tests will fail. ++ ++``` ++TFEA --test-install ++TFEA --test-full ++``` ++ ++These should each take no longer than several minutes to run ++ ++If on a compute cluster with slurm the --sbatch flag is compatible with --test-full and is recommended on FIJI. Execute like so: ++ ++``` ++TFEA --test-full --sbatch your_email@address.com ++``` ++ ++

Running TFEA

++Once you've run the above tests successfully, you should be ready to run the full version of TFEA. Below are the minimum required inputs to run the full TFEA pipeline. Test files are provided in './TFEA/test/test_files' within this repository. ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--bed1 ./TFEA/test/test_files/SRR1105736.tfit_bidirs.chr22.bed ./TFEA/test/test_files/SRR1105737.tfit_bidirs.chr22.bed \ ++--bed2 ./TFEA/test/test_files/SRR1105738.tfit_bidirs.chr22.bed ./TFEA/test/test_files/SRR1105739.tfit_bidirs.chr22.bed \ ++--bam1 ./TFEA/test/test_files/SRR1105736.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105737.sorted.chr22.subsample.bam \ ++--bam2 ./TFEA/test/test_files/SRR1105738.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105739.sorted.chr22.subsample.bam \ ++--label1 DMSO --label2 Nutlin \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

Advanced Usage

++

Configuration File

++TFEA can be run exclusively through the command line using flags. Alternatively, TFEA can be run using a configuration file (.ini) that takes in flags as variables. For example: ++ ++``` ++TFEA --config ./TFEA/test/test_files/test_config.ini ++``` ++ ++This can be helpful to keep track of different TFEA runs and because you can use variables within the config file to clean up your input. For documentation on config files and what you can do with them see Supported INI File Structure and Interpolation of values (ExtendedInterpolation) ++ ++*Notes:* ++ ++1. Section headers (ex: `[OUTPUT]`) don't matter but you need to have at least ONE section header to be a viable .ini file. ++2. Capitalization of variables doesn't matter. ++3. Feel free to specify any additional variables you like (variables are bash-like), TFEA will only parse variables that match a flag input. ++4. If an input is provided both as a flag and in a configuration file, TFEA prioritizes the command line flag input. ++ ++Below is an example of a configuration file (./test_files/test_config.ini): ++ ++ ```bash ++[OUTPUT] ++OUTPUT='./TFEA/test/test_files/test_output/' ++LABEL1='Condition 1' ++LABEL2='Condition 2' ++ ++[DATA] ++TEST_FILES='./TFEA/test/test_files/' ++BED1=[${TEST_FILES}+'SRR1105736.tfit_bidirs.chr22.bed',${TEST_FILES}+'SRR1105737.tfit_bidirs.chr22.bed'] ++BED2=[${TEST_FILES}+'SRR1105738.tfit_bidirs.chr22.bed',${TEST_FILES}+'SRR1105739.tfit_bidirs.chr22.bed'] ++BAM1=[${TEST_FILES}+'SRR1105736.sorted.chr22.subsample.bam', ${TEST_FILES}+'SRR1105737.sorted.chr22.subsample.bam'] ++BAM2=[${TEST_FILES}+'SRR1105738.sorted.chr22.subsample.bam', ${TEST_FILES}+'SRR1105739.sorted.chr22.subsample.bam'] ++ ++[MODULES] ++TEST_FILES='./TFEA/test/test_files/' #You need to re-initialize variables within each [MODULE] ++FIMO_MOTIFS=${TEST_FILES}+'test_database.meme' ++GENOMEFASTA=${TEST_FILES}+'chr22.fa' ++ ++[OPTIONS] ++OUTPUT_TYPE='html' ++PLOTALL=True ++``` ++ ++ ++

Using SBATCH

++Specifying the `--sbatch` flag will submit TFEA to a compute cluster assuming you are logged into one. If the `--sbatch` flag is specified, it MUST be followed by an e-mail address to send job information to. For example: ++ ++ ++``` ++TFEA --config ./TFEA/test/test_files/test_config.ini --sbatch your_email@address.com ++``` ++ ++Additionally, the following flags can be used to change some of the job parameters: ++ ++``` ++ --cpus CPUS Number of processes to run in parallel. Warning: ++ Increasing this value will significantly increase ++ memory footprint. Default: 1 ++ --mem MEM Amount of memory to request forsbatch script. Default: ++ 50gb ++``` ++ ++*Note:* `--cpus` also works without the `--sbatch` flag ++ ++ ++

Using Pre-processed Inputs

++TFEA has several pipeline elements to it that a user may bypass by providing downstream pre-processed files. These files can be generated by TFEA if running the full pipeline and may also be used to speed up reruns of TFEA. Below are the three types of pre-processed inputs, short descriptions, an example of the file, and a usage example with TFEA (in some cases there are other inputs needed to go along with the pre-processed file). If multiple pre-processed inputs specified, TFEA will use the most downstream one. ++ ++

combined_file

++ ++A sorted (by chrom, start, stop) bed file containing regions of interest ++ ++Example (./test_files/test_combined_file.bed) ++``` ++#chrom start stop ++chr22 10683195 10683999 ++chr22 16609343 16609405 ++chr22 16901069 16902599 ++chr22 17036962 17037636 ++chr22 17158022 17160214 ++... ++``` ++ ++Usage with TFEA ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--combined_file ./TFEA/test/test_files/test_combined_file.bed \ ++--bam1 ./TFEA/test/test_files/SRR1105736.sorted.chr22.subsample.bam ./test_files/SRR1105737.sorted.chr22.subsample.bam \ ++--bam2 ./TFEA/test/test_files/SRR1105738.sorted.chr22.subsample.bam ./test_files/SRR1105739.sorted.chr22.subsample.bam \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

ranked_file

++ ++A ranked bed file with regions of interest. ++ ++*Note:* Specifying a ranked_file turns off some plotting functionality ++ ++Example (./test_files/test_ranked_file.bed) ++ ++``` ++#chrom start stop ++chr22 50794870 50797870 ++chr22 21554591 21557591 ++chr22 50304644 50307644 ++chr22 39096295 39099295 ++chr22 31176104 31179104 ++... ++``` ++ ++Usage with TFEA ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--ranked_file ./TFEA/test/test_files/test_ranked_file.bed \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

fasta_file

++ ++A ranked fasta file with regions of interest (sequences must have unique names but these names aren't used for anything). ++ ++*Note:* Specifying a fasta_file turns off some plotting functionality ++ ++Example (./test_files/test_fasta_file.bed) ++ ++``` ++>chr22:50794870-50797870 ++ccgccccacactgacgcagt...ccgcctcagcctcctaaa ++>chr22:21554591-21557591 ++cttggggagagcagaagcca...gtgcagtggtgcaatctt ++>chr22:50304644-50307644 ++CTGAGCACCCCCCACCAGCCA...GGAGACGGGGCCTTTGT ++... ++``` ++ ++Usage with TFEA ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--fasta_file ./TFEA/test/test_files/test_fasta_file.fa \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

Secondary Analysis

++TFEA can also perform MD-Score analysis and differential MD-Score analysis. This can be switched on easily if running the full pipeline: ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--combined_file ./TFEA/test/test_files/test_combined_file.bed \ ++--bam1 ./TFEA/test/test_files/SRR1105736.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105737.sorted.chr22.subsample.bam \ ++--bam2 ./TFEA/test/test_files/SRR1105738.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105739.sorted.chr22.subsample.bam \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme \ ++--md --mdd ++``` ++ ++These secondary analyses can also take pre-processed input similar to TFEA. See the 'Secondary Analysis Inputs' section in the help message for more information. ++ ++

Measuring TF FPKM

++TFEA will also measure the FPKM of TF genes within your data if desired. This requires input into the `--motif_annotations` flag which is a bed file with motif names as the 4th column. Example: ++ ++``` ++chr1 3698045 3733079 P73_HUMAN.H11MO.0.A 0 + ++chr1 6579990 6589212 ZBT48_HUMAN.H11MO.0.C 0 + ++chr1 15941868 15948495 ZBT17_HUMAN.H11MO.0.A 0 - ++chr1 23359447 23368005 ZN436_HUMAN.H11MO.0.C 0 - ++``` ++ ++This special bed file can be generated from a .meme database file using a tab-separated 2-column file containing motif names to gene names and a gene annotation file: ++ ++Example of a motif_to_gene.tsv (this was generated on the HOCOMOCO v11 website): ++ ++``` ++Model Transcription factor ++ANDR_HUMAN.H11MO.0.A AR ++AP2A_HUMAN.H11MO.0.A TFAP2A ++AP2C_HUMAN.H11MO.0.A TFAP2C ++ASCL1_HUMAN.H11MO.0.A ASCL1 ++``` ++ ++Example of gene annotations: ++ ++``` ++chr1 11873 14409 DDX11L1;NR_046018;chr1:11873-14409 0 + ++chr1 14361 29370 WASH7P;NR_024540;chr1:14361-29370 0 - ++chr1 17368 17436 MIR6859-1;NR_106918;chr1:17368-17436 0 - ++chr1 17368 17436 MIR6859-4;NR_128720;chr1:17368-17436 0 - ++chr1 17368 17436 MIR6859-3;NR_107063;chr1:17368-17436 0 - ++``` ++ ++The script works by looking for gene names that correspond to each motif within the 4th column of the gene annotation file. It expects the 4th column to be ';' delimited. ++ ++Already generated motif_annotation.bed files (and also intermediate .tsv files) are located within './motif_files/' ++ ++

Generating Simulated Data

++TFEA has a subpackage that is capable of generating simulated data for testing. If you have installed TFEA, it can be invoked with: ++ ++```TFEA-simulate --help``` ++ ++The purpose of this subpackage is to embed motif instances into fasta sequences that can be generated randomly or be from an experimental dataset (e.g. untreated control sample). There are several key flags that control this process (each of these may be a comma-delimited list of values that would indicate multiple instances of motif adding): ++ ++`--distance_mu` : This flag controls where the center of the distribution is located (note: only normal distributions are supported at this point) ++ ++`--distance_sigma` : Controls the standard deviation of the normal distribution ++ ++`--rank_range` : Controls the range of sequences in which to add a motif ++ ++`--motif_number` : Controls the number of motifs to add to your range of sequences ++ ++ ++

Rerunning TFEA

++TFEA can be easily rerun given one or multiple TFEA output folders. This works simply by rerunning the rerun.sh script which contains all command-line flag inputs. TFEA also automatically creates a copy of your configuration file (if used) within the output folder which is then also used when rerunning (so no need to worry about editing the original configuration file). To rerun a single TFEA output folder: ++ ++``` ++TFEA --rerun ./TFEA/test/test_files/test_output ++``` ++ ++The `--rerun` flag also supports patterns containing wildcards to rerun all TFEA output folders that match. For example: ++ ++``` ++TFEA --rerun ./TFEA/test/test_files/test* ++``` ++ ++This works by looking recursively into all folders and subfolders for rerun.sh scripts and then executing `sh rerun.sh`, so use with caution! ++ ++

Help Message

++Below are all the possible flags that can be provided to TFEA with a short description and default values. ++ ++``` ++usage: TFEA [-h] [--output DIR] ++ [--bed1 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]]] ++ [--bed2 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]]] ++ [--bam1 [BAM1 [BAM1 ...]]] [--bam2 [BAM2 [BAM2 ...]]] ++ [--label1 LABEL1] [--label2 LABEL2] [--config CONFIG] ++ [--sbatch SBATCH] [--test-install] [--test-full] ++ [--combined_file COMBINED_FILE] [--ranked_file RANKED_FILE] ++ [--fasta_file FASTA_FILE] [--md] [--mdd] ++ [--md_bedfile1 MD_BEDFILE1] [--md_bedfile2 MD_BEDFILE2] ++ [--mdd_bedfile1 MDD_BEDFILE1] [--mdd_bedfile2 MDD_BEDFILE2] ++ [--md_fasta1 MD_FASTA1] [--md_fasta2 MD_FASTA2] ++ [--mdd_fasta1 MDD_FASTA1] [--mdd_fasta2 MDD_FASTA2] ++ [--mdd_pval MDD_PVAL] [--mdd_percent MDD_PERCENT] ++ [--combine {intersect/merge,merge all,tfit clean,tfit remove small,False}] ++ [--rank {deseq,fc,False}] [--scanner {fimo,genome hits}] ++ [--enrichment {auc,auc_bgcorrect}] [--debug] ++ [--genomefasta GENOMEFASTA] [--fimo_motifs FIMO_MOTIFS] ++ [--fimo_thresh FIMO_THRESH] [--fimo_background FIMO_BACKGROUND] ++ [--genomehits GENOMEHITS] [--singlemotif SINGLEMOTIF] ++ [--permutations PERMUTATIONS] [--largewindow LARGEWINDOW] ++ [--smallwindow SMALLWINDOW] [--dpi DPI] [--padjcutoff PADJCUTOFF] ++ [--plotall] [--output_type {txt,html}] [--cpus CPUS] [--mem MEM] ++ [--motif_annotations MOTIF_ANNOTATIONS] [--bootstrap BOOTSTRAP] ++ [--basemean_cut BASEMEAN_CUT] [--rerun [RERUN [RERUN ...]]] ++ [--gc GC] ++ ++Transcription Factor Enrichment Analysis (TFEA) ++ ++optional arguments: ++ -h, --help show this help message and exit ++ ++Main Inputs: ++ Inputs required for full pipeline ++ ++ --output DIR, -o DIR Full path to output directory. If it exists, overwrite ++ its contents. ++ --bed1 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]] ++ Bed files associated with condition 1 ++ --bed2 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]] ++ Bed files associated with condition 2 ++ --bam1 [BAM1 [BAM1 ...]] ++ Sorted bam files associated with condition 1. Must be ++ indexed. ++ --bam2 [BAM2 [BAM2 ...]] ++ Sorted bam files associated with condition 2. Must be ++ indexed. ++ --label1 LABEL1 An informative label for condition 1 ++ --label2 LABEL2 An informative label for condition 2 ++ --config CONFIG, -c CONFIG ++ A configuration file that a user may use instead of ++ specifying flags. Command line flags will overwrite ++ options within the config file. See examples in the ++ config_files folder. ++ --sbatch SBATCH, -s SBATCH ++ Submits an sbatch (slurm) job. If specified, input an ++ e-mail address. ++ --test-install, -ti Checks whether all requirements are installed and ++ command-line runnable. ++ --test-full, -t Performs unit testing on full TFEA pipeline. ++ ++Processed Inputs: ++ Input options for pre-processed data ++ ++ --combined_file COMBINED_FILE ++ A single bed file combining regions of interest. ++ --ranked_file RANKED_FILE ++ A bed file containing each regions rank as the 4th ++ column. ++ --fasta_file FASTA_FILE ++ A fasta file containing sequences to be analyzed, ++ ranked by the user. ++ ++Secondary Analysis Inputs: ++ Input options for performing MD-Score and Differential MD-Score analysis ++ ++ --md Switch that controls whether to perform MD analysis. ++ --mdd Switch that controls whether to perform differential ++ MD analysis. ++ --md_bedfile1 MD_BEDFILE1 ++ A bed file for MD-Score analysis associated with ++ condition 1. ++ --md_bedfile2 MD_BEDFILE2 ++ A bed file for MD-Score analysis associated with ++ condition 2. ++ --mdd_bedfile1 MDD_BEDFILE1 ++ A bed file for Differential MD-Score analysis ++ associated with condition 1. ++ --mdd_bedfile2 MDD_BEDFILE2 ++ A bed file for Differential MD-Score analysis ++ associated with condition 2. ++ --md_fasta1 MD_FASTA1 ++ A fasta file for MD-Score analysis associated with ++ condition 1. ++ --md_fasta2 MD_FASTA2 ++ A fasta file for MD-Score analysis associated with ++ condition 2. ++ --mdd_fasta1 MDD_FASTA1 ++ A fasta file for Differential MD-Score analysis ++ associated with condition 1. ++ --mdd_fasta2 MDD_FASTA2 ++ A fasta file for Differential MD-Score analysis ++ associated with condition 2. ++ --mdd_pval MDD_PVAL P-value cutoff for retaining differential regions. ++ Default: 0.2 ++ --mdd_percent MDD_PERCENT ++ Percentage cutoff for retaining differential regions. ++ Default: False ++ ++Module Switches: ++ Switches for different modules ++ ++ --combine {intersect/merge,merge all,tfit clean,tfit remove small,False} ++ Method for combining input bed files ++ --rank {deseq,fc,False} ++ Method for ranking combined bed file ++ --scanner {fimo,genome hits} ++ Method for scanning fasta files for motifs ++ --enrichment {auc,auc_bgcorrect} ++ Method for calculating enrichment ++ --debug Print memory and CPU usage to stderr ++ ++Scanner Options: ++ Options for performing motif scanning ++ ++ --genomefasta GENOMEFASTA ++ Genomic fasta file ++ --fimo_motifs FIMO_MOTIFS ++ Full path to a .meme formatted motif databse file. ++ Some databases included in motif_databases folder. ++ --fimo_thresh FIMO_THRESH ++ P-value threshold for calling FIMO motif hits. ++ Default: 1e-6 ++ --fimo_background FIMO_BACKGROUND ++ Options for choosing mononucleotide background ++ distribution to use with FIMO. {'largewindow', ++ 'smallwindow', int, file} ++ --genomehits GENOMEHITS ++ A folder containing bed files with pre-calculated ++ motif hits to a genome. For use with 'genome hits' ++ scanner option. ++ --singlemotif SINGLEMOTIF ++ Option to run analysis on a subset of motifs within ++ specified motif database or genome hits. Can be a ++ single motif or a comma-separated list of motifs. ++ ++Enrichment Options: ++ Options for performing enrichment analysis ++ ++ --permutations PERMUTATIONS ++ Number of permutations to perfrom for calculating ++ p-value. Default: 1000 ++ --largewindow LARGEWINDOW ++ The size (bp) of a large window around input regions ++ that captures background. Default: 1500 ++ --smallwindow SMALLWINDOW ++ The size (bp) of a small window arount input regions ++ that captures signal. Default: 150 ++ ++Output Options: ++ Options for the output. ++ ++ --dpi DPI Resolution of output figures. Default: 100 ++ --padjcutoff PADJCUTOFF ++ A p-adjusted cutoff value that determines some ++ plotting output. ++ --plotall Plot graphs for all motifs.Warning: This will make ++ TFEA run much slower andwill result in a large output ++ folder. ++ --output_type {txt,html} ++ Specify output type. Selecting html will increase ++ processing time and memory usage. Default: txt ++ ++Miscellaneous Options: ++ Other options. ++ ++ --cpus CPUS Number of processes to run in parallel. Note: ++ Increasing this value will significantly increase ++ memory footprint. Default: 1 ++ --mem MEM Amount of memory to request forsbatch script. Default: ++ 50gb ++ --motif_annotations MOTIF_ANNOTATIONS ++ A bed file specifying genomic coordinates for genes ++ corresponding to motifs. Motif name must be in the 4th ++ column and match what is in the database. ++ --bootstrap BOOTSTRAP ++ Amount to subsample motifhits to. Set to False to turn ++ off. Default: False ++ --basemean_cut BASEMEAN_CUT ++ Basemean cutoff value for inputted regions. Default: 0 ++ --rerun [RERUN [RERUN ...]] ++ Rerun TFEA in all folders of aspecified directory. ++ Default: False ++ --gc GC Perform GC-correction. Default: True ++``` ++ ++

++ ++

Example Output

++TFEA will output all files and folders into the directory specified by the `--output` flag. The output directory structure is as follows: ++ ++``` ++./TFEA/test/test_output ++│ rerun.sh ++│ test_config.ini ++│ inputs.txt ++│ results.txt ++│ md_results.txt ++│ mdd_results.txt ++│ results.html ++│ ++└───e_and_o ++│ TFEA_test_output.err ++│ TFEA_test_output.out ++│ ++└───plots ++│ logo_rcMOTIF.eps ++│ logo_rcMOTIF.png ++│ logoMOTIF.eps ++│ logoMOTIF.png ++│ MOTIF_enrichment_plot.png ++│ MOTIF_simulation_plot.png ++│ MOTIF.results.html ++│ ++└───temp_files ++ combined_file.mergeall.bed ++ count_file.bed ++ count_file.header.bed ++ DESeq.R ++ DESeq.Rout ++ DESeq.res.txt ++ markov_background.txt ++ ranked_file.bed ++ ranked_file.fa ++``` ++ ++A brief description of the files contained within this output directory are below: ++ ++

rerun.sh

++This bash script can be used at any time to regenerate a TFEA output folder in its entirety, run it using: ++ ++``` ++sh ./TFEA/test/test_output/rerun.sh ++``` ++ ++

test_config.ini

++ ++TFEA copies the config file you are using into the output directoy. This file is then referenced by rerun.sh. ++ ++ ++

inputs.txt

++ ++A .txt file that contains all user-provided inputs into TFEA ++ ++

results.txt

++Contains TFEA results tab-delimited in .txt format. For example: ++ ++``` ++#TF AUC Events p-val p-adj ++P53_HUMAN.H11MO.0.A 0.2795355012578686 5 0.02464223619276762 0.04928447238553524 ++SP2_HUMAN.H11MO.0.A -0.04994116666412335 114 0.027169601555608307 0.054339203111216615 ++``` ++ ++TF = The name of the motif analyzed ++ ++AUC = Area under the curve ++ ++Events = Number of motif hits within smallwindow ++ ++p-val = P-value ++ ++p-adj = adjusted p-value (Bonferroni) ++ ++

md_results.txt and mdd_results.txt

++Contains tab-delimited results for secondary MD-Score (MDS) and Differential MD-Score (MDD) analysis if these flags were specified ++ ++

results.html

++ ++The main results html (if `--output_type 'html'` specified). For example: ++ ++![TFEA Pipeline](https://github.com/jdrubin91/TFEA/blob/master/README_images/ExampleResults.png) ++ ++1. TFEA MA-plot - An MA-like plot with each dot representing a TF motif analyzed (red=significant below specified p-adj cutoff). On the y-axis is the area under the curve (AUC) which is the main TFEA statistic. On the x-axis is the log10 of the number of motif hits within the largewindow input ++ ++2. TFEA Volcano Plot - Similar to the MA-Plot, each dot is a TF motif (red=significant below specified p-adj cutoff). X-axis = area under the curve (AUC). Y-axis = -log10 of the p-adjusted value. Dashed line is the specified p-adjusted cutoff. ++ ++3. DE-Seq MA-plot - An actual MA-plot where each dot represents a region specified by the user. On the x-axis is the log10 of the average expression across conditions and replicates. On the y-axis is the log2 fold change between both conditions. The dots on this plot are colored based on how they are ranked. ++ ++4. Link to inputs.txt file, MD MA-plot and volcano (if `--md` specified), MDD MA-plot and volcano (if `--mdd` specified), and a table of time to perform each module in TFEA and the total time to run TFEA. ++ ++5. A list of TF motifs analyzed that have positive AUC values (headers correspond to the same headers as in results.txt). If red, then this TF motif was significant below the p-adj cutoff. Clickable links will direct to a separate MOTIF.results.html file contained within the plots/ directory in output. ++ ++6. A list of TF motifs analyzed that have negative AUC values (headers correspond to the same headers as in results.txt). If red, then this TF motif was significant below the p-adj cutoff. Clickable links will direct to a separate MOTIF.results.html file contained within the plots/ directory in output. ++ ++

MOTIF.results.html

++ ++Each signficant TF motif (or all motifs if `--plotall` specified) will produce its own MOTIF.results.html file contained within the plots/ directory in the specified output directory. All images are also self-contained within the plots/ folder. For example: ++ ++![TFEA Pipeline](https://github.com/jdrubin91/TFEA/blob/master/README_images/ExampleMotifResults.png) ++ ++1. Results for this specific motif (identical to what's reported in results.html) ++ ++2. Enrichment line plot - The running sum statistic (green) for the specified TF motif. The blue dashed line indicates the random background expectation. The area under the curve (AUC) is calculated as the area between the green and dashed blue line (directional). ++ ++3. Score bar plot - Quantification of the amount added to the running sum statistic at any given point. ++ ++4. Motif hit scatter plot - The actual motif hits for each region centered on the region and bounded by the largewindow input. ++ ++5. Rank metric fill plot - A visual representation of the ranking metric used (log10(DE-Seq p-value) with direction dependent on fold change) ++ ++6. Meta plot - A meta plot of read coverage over regions separated by quartiles. ++ ++7. Heat map - A heatmap of motif hits for each quartile ++ ++8. The forward motif logo ++ ++9. The reverse complement motif logo ++ ++10. Simulation plot - The distribution of simulated AUC values (number of simulations specified with `--permutations` flag). The observed AUC is the red bar. ++ ++

++ ++

Contact Information

++Jonathan.Rubin@colorado.edu ++ diff --git a/easybuild/easyconfigs/t/TM-align/TM-align-20190822-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TM-align/TM-align-20190822-GCC-11.3.0.eb new file mode 100644 index 000000000000..df013e222a02 --- /dev/null +++ b/easybuild/easyconfigs/t/TM-align/TM-align-20190822-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CmdCp' + +name = 'TM-align' +version = '20190822' + +homepage = 'https://zhanglab.ccmb.med.umich.edu/RNA-align/TMalign/' +description = """This package unifies protein structure alignment and RNA structure alignment + into the standard TM-align program for single chain structure alignment, MM-align program for + multi-chain structure alignment, and TM-score program for sequence dependent structure superposition.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://zhanggroup.org/TM-align/'] +sources = ['TMtools%(version)s.tar.gz'] +checksums = ['bf81b636f222f6a6960963875e9c95dc034498f8c6fbd7cd2e66b6fde9856798'] + +_cmd = '$F77 $FCFLAGS TMalign.f -o TMalign' +_cmd += ' && $F77 $FCFLAGS TMscore.f -o TMscore' + +cmds_map = [('.*', _cmd)] + +files_to_copy = [ + (['TMalign', 'TMscore'], 'bin') +] + +sanity_check_paths = { + 'files': ['bin/TMalign', 'bin/TMscore'], + 'dirs': [], +} + +sanity_check_commands = [ + 'TMalign -h', + 'TMscore -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.14.0-foss-2020b.eb b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.14.0-foss-2020b.eb new file mode 100644 index 000000000000..862d4fe55c1f --- /dev/null +++ b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.14.0-foss-2020b.eb @@ -0,0 +1,82 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'TOBIAS' +version = '0.14.0' + +homepage = 'https://github.com/loosolab/TOBIAS' +description = """TOBIAS is a collection of command-line bioinformatics tools +for performing footprinting analysis on ATAC-seq data.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Seaborn', '0.11.1'), + ('pybedtools', '0.8.2'), + ('pyBigWig', '0.3.18'), + ('scikit-learn', '0.23.2'), + ('PyYAML', '5.3.1'), + ('XlsxWriter', '1.4.0'), + ('svist4get', '1.3.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('adjustText', '0.7.3', { + 'checksums': ['b90e275a95b4d980cbbac7967914b8d66477c09bc346a0b3c9e2125bba664b06'], + 'modulename': 'adjustText', + }), + ('botocore', '1.28.2', { + 'checksums': ['9890005735652555d1183b44bad729603d26922dc08e261e1e0a35a7bf26ba38'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.6.0', { + 'checksums': ['2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947'], + }), + ('boto3', '1.25.2', { + 'checksums': ['43a93f8cecd882cccb2815cd76fc07a73b076027ab092a1c7cede89cb9b075f8'], + }), + ('kneed', '0.7.0', { + 'checksums': ['340d67fa183a72b0afae19846dd246a6fb7204e8d54243d8b8d3d9932f887c6e'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('MOODS-python', '1.9.4.1', { + 'checksums': ['b3b5e080cb0cd13c0fd175d0ee0d453fde3e42794fa7ac39a4f6db1ac5ddb4cc'], + 'modulename': 'MOODS', + }), + ('flit_core', '3.7.1', { + 'checksums': ['14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('PyPDF2', '2.11.1', { + 'checksums': ['3c7badd512c21711eb1789c2eadbf96279289c0f94452ee54a86473bfbefd732'], + 'modulename': 'PyPDF2', + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['ac74c35f981d499425147054f82142d22e52858d402d0c63ab7e8481bd156589'], + }), +] + +sanity_check_paths = { + 'files': ['bin/TOBIAS', 'bin/cluster_sites_by_overlap.py', 'bin/moods-dna.py', 'bin/jp.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "TOBIAS --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.2.0.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..5bfab710a6b5 --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.3.1' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7586f0be7dc88dddba4d4e42059b84baa2688a2784bdc1d1f37112ab3edb88e1'] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +sanity_check_paths = { + 'files': ['include/toml-f/GNU-11.2.0/tomlf.mod', 'lib/libtoml-f.a'], + 'dirs': ['include/toml-f/GNU-11.2.0', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOPAS/TOPAS-3.9-foss-2022b.eb b/easybuild/easyconfigs/t/TOPAS/TOPAS-3.9-foss-2022b.eb new file mode 100644 index 000000000000..294567fbc073 --- /dev/null +++ b/easybuild/easyconfigs/t/TOPAS/TOPAS-3.9-foss-2022b.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'TOPAS' +version = '3.9' + +homepage = 'https://www.topasmc.org' +description = """TOPAS wraps and extends the Geant4 Simulation Toolkit to make advanced Monte Carlo simulation of all +forms of radiotherapy easier to use for medical physicists.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('expat', '2.4.9'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('Qt5', '5.15.7'), + ('HarfBuzz', '5.3.1'), + ('GDCM', '3.0.21'), + ('CLHEP', '2.4.6.4'), +] + +local_geant4_configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +local_geant4_configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF -DGEANT4_BUILD_MULTITHREADED=ON " + +components = [ + # TOPAS required Geant4 10.x, which must be built with multi-threading support + ('Geant4', '10.7.4', { + 'github_account': 'Geant4', + 'source_urls': [GITHUB_SOURCE], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}], + 'checksums': ['602b41dfee1fa6b33b026d00c5bd940155d7e5d0b3495230a87e2a25b28f9996'], + 'start_dir': 'geant4-%(version)s', + 'configopts': local_geant4_configopts, + }), + (name, version, { + 'easyblock': 'CMakeMake', + 'download_instructions': "Manual download required, see https://www.topasmc.org/download", + 'sources': ['topas_%(version_major)s_%(version_minor)s.zip'], + 'checksums': ['57739f8df5fe58f47b2cc5ac646b4776ab137d52640c6e5b1f6cd199ed3c7b0f'], + 'start_dir': 'topas_%(version_major)s_%(version_minor)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/topas', 'lib/libchemistry.a', 'lib/libG4run.%s' % SHLIB_EXT, 'lib/libmain.a', 'lib/libphysics.a'], + 'dirs': ['examples', 'include'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCC-10.3.0.eb b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCC-10.3.0.eb new file mode 100644 index 000000000000..c7b4a835f151 --- /dev/null +++ b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'TRF' +version = '4.09.1' + +homepage = 'https://tandem.bu.edu/trf/trf.html' +description = """Tandem Repeats Finder: a program to analyze DNA sequences.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'Benson-Genomics-Lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/trf'], + 'dirs': [], +} + +sanity_check_commands = ["trf -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..42fc644514be --- /dev/null +++ b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'TRF' +version = '4.09.1' + +homepage = 'https://tandem.bu.edu/trf/trf.html' +description = """Tandem Repeats Finder: a program to analyze DNA sequences.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'Benson-Genomics-Lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/trf'], + 'dirs': [], +} + +sanity_check_commands = ["trf -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.98-cluster_only-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.98-cluster_only-GCC-11.3.0.eb new file mode 100644 index 000000000000..f78645721885 --- /dev/null +++ b/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.98-cluster_only-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'TWL-NINJA' +version = '0.98-cluster_only' + +homepage = 'https://github.com/TravisWheelerLab/NINJA' +description = "Nearly Infinite Neighbor Joining Application." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'gnu++11', 'openmp': True, 'opt': True} + +source_urls = ['https://github.com/TravisWheelerLab/NINJA/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['55675e1a9d51eddb3decc9a7570b6bcddb12e8a922cf1ca0a1ea43995793c9db'] + +start_dir = 'NINJA' +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [(['NINJA/Ninja'], 'bin'), 'NINJA/README', 'README.md', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/Ninja'], + 'dirs': [], +} + +sanity_check_commands = ['Ninja --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..d86abbb9d4db --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.12' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.7.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.7.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 000000000000..f6ed3b365e2b --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.7.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow-Datasets' +version = '4.7.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/datasets' +description = """ +TensorFlow Datasets is a collection of datasets ready to use, with TensorFlow or other Python ML frameworks, such as +Jax. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('tqdm', '4.61.2'), + ('TensorFlow', '2.6.0', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('googleapis-common-protos', '1.56.4', { + 'modulename': 'google', + 'checksums': ['c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417'], + }), + ('tensorflow_metadata', '1.10.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e3ff528496105c0d73b2a402877525b1695635378fbe5c1b47ac7b3780816bb3'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'source_tmpl': SOURCELOWER_TAR_GZ, + 'checksums': ['590faf3763bc14757906b36c718389eeded533ee8ae4d030ede140db86aca4cd'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.8.3-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.8.3-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 000000000000..febc69e21029 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.8.3-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow-Datasets' +version = '4.8.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/datasets' +description = """ +TensorFlow Datasets is a collection of datasets ready to use, with TensorFlow or other Python ML frameworks, such as +Jax. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1') +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('Python', '3.9.6'), + ('tqdm', '4.62.3'), + ('TensorFlow', '2.7.1', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('googleapis-common-protos', '1.56.4', { + 'modulename': 'google', + 'checksums': ['c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417'], + }), + ('tensorflow_metadata', '1.12.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4b86df305e5c8252df4c99a25074958f3772db57276fa6bd6a4d14fe482d8bc9'], + }), + ('etils', '1.0.0', { + 'checksums': ['d10982f7702422bea8635d5284b8bed629f51919fc122ac1e1e4abf45ec8f785'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['5c9464c8a455347af0a5c1b6fe6636f2ecfa022001549a766c26d2e6cdd42bfc'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..dc20d8bac90a --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,230 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.11.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', version, { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['ea3b64acfff3d9a244f06178c9bdedcbdd3f125b67d0888dba8229498d06468b'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.1', { + 'checksums': ['5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe'], + }), + ('google-auth', '2.16.0', { + 'modulename': 'google.auth', + 'checksums': ['ed7057a101af1146f0554a769930ac9de506aeca4fd5af6543ebe791851a9fbd'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', '2.11.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0c7529f3f43691e8cc2ece8e564c2e103c51ade317c6af626d415239b5088018'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('keras', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['38c6fff0ea9a8b06a2717736565c92a73c8cd9b1c239e7125ccb188b7848f65e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Version <= 0.4.0 required by TF: https://github.com/tensorflow/tensorflow/issues/56244 + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + # (newer) pythran and beniget in SciPy-Bundle require gast 0.5 + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.11.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['7a97c02d502fde98a0336aadcab15b37169744d5bf6966af7d576c7a3f0a89f4'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + '%(name)s-2.4.0_dont-use-var-lock.patch', + '%(name)s-2.5.0-fix-alias-violation-in-absl.patch', + '%(name)s-2.5.0_fix-crash-on-shutdown.patch', + '%(name)s-2.8.4_exclude-xnnpack-on-ppc.patch', + '%(name)s-2.8.4_resolve-gcc-symlinks.patch', + '%(name)s-2.9.1_remove-duplicate-gpu-tests.patch', + '%(name)s-%(version)s_disable-avx512-extensions.patch', + '%(name)s-%(version)s_fix-eigen-atan-on-PPC.patch', + '%(name)s-%(version)s_fix-eigen-gemm-on-PPC.patch', + '%(name)s-%(version)s_fix-link-error.patch', + '%(name)s-%(version)s_remove-libclang-and-io-gcs-deps.patch', + ], + 'checksums': [ + {'v2.11.0.tar.gz': '99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.11.0_disable-avx512-extensions.patch': + 'fb8e7694b5d2377cc44e6674ff85a7c50dc725f2f507cbcfda65f129f534b1cc'}, + {'TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch': + 'd9f4779f72ffd2c5f9c5da0a7735328dd25756515edccf603087dba2bf4d1612'}, + {'TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch': + '4f18ff0563b0ef8556904db1bb4974f8068bf0d2ee1effb24e0c779eb32517e3'}, + {'TensorFlow-2.11.0_fix-link-error.patch': + '0a2f5c9c5be425f305bdc08f5a5ffce210e66f6ad4120d94ea0209246fc0449f'}, + {'TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch': + '21d5723ab4e9a3be349cf3d57bb55cbe43e28785a8c8b19c52cee9dcc4dcf0de'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_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.11.0-foss-2022a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a.eb new file mode 100644 index 000000000000..8d80022bd98b --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a.eb @@ -0,0 +1,226 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.11.0' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', version, { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['ea3b64acfff3d9a244f06178c9bdedcbdd3f125b67d0888dba8229498d06468b'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.1', { + 'checksums': ['5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe'], + }), + ('google-auth', '2.16.0', { + 'modulename': 'google.auth', + 'checksums': ['ed7057a101af1146f0554a769930ac9de506aeca4fd5af6543ebe791851a9fbd'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', '2.11.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0c7529f3f43691e8cc2ece8e564c2e103c51ade317c6af626d415239b5088018'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('keras', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['38c6fff0ea9a8b06a2717736565c92a73c8cd9b1c239e7125ccb188b7848f65e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Version <= 0.4.0 required by TF: https://github.com/tensorflow/tensorflow/issues/56244 + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + # (newer) pythran and beniget in SciPy-Bundle require gast 0.5 + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.11.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['7a97c02d502fde98a0336aadcab15b37169744d5bf6966af7d576c7a3f0a89f4'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + '%(name)s-2.4.0_dont-use-var-lock.patch', + '%(name)s-2.5.0-fix-alias-violation-in-absl.patch', + '%(name)s-2.5.0_fix-crash-on-shutdown.patch', + '%(name)s-2.8.4_exclude-xnnpack-on-ppc.patch', + '%(name)s-2.8.4_resolve-gcc-symlinks.patch', + '%(name)s-2.9.1_remove-duplicate-gpu-tests.patch', + '%(name)s-%(version)s_disable-avx512-extensions.patch', + '%(name)s-%(version)s_fix-eigen-atan-on-PPC.patch', + '%(name)s-%(version)s_fix-eigen-gemm-on-PPC.patch', + '%(name)s-%(version)s_fix-link-error.patch', + '%(name)s-%(version)s_remove-libclang-and-io-gcs-deps.patch', + ], + 'checksums': [ + {'v2.11.0.tar.gz': '99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.11.0_disable-avx512-extensions.patch': + 'fb8e7694b5d2377cc44e6674ff85a7c50dc725f2f507cbcfda65f129f534b1cc'}, + {'TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch': + 'd9f4779f72ffd2c5f9c5da0a7735328dd25756515edccf603087dba2bf4d1612'}, + {'TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch': + '4f18ff0563b0ef8556904db1bb4974f8068bf0d2ee1effb24e0c779eb32517e3'}, + {'TensorFlow-2.11.0_fix-link-error.patch': + '0a2f5c9c5be425f305bdc08f5a5ffce210e66f6ad4120d94ea0209246fc0449f'}, + {'TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch': + '21d5723ab4e9a3be349cf3d57bb55cbe43e28785a8c8b19c52cee9dcc4dcf0de'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_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.11.0_disable-avx512-extensions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_disable-avx512-extensions.patch new file mode 100644 index 000000000000..491872e541ea --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_disable-avx512-extensions.patch @@ -0,0 +1,19 @@ +(Some of the) AVX512 extensions to Eigen introduced by TensorFlow are broken and return wrong values. +So disable them for now to keep AVX512 in the other code parts working. +See https://github.com/tensorflow/tensorflow/issues/49944 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tsl/framework/fixedpoint/FixedPoint.h b/tensorflow/tsl/framework/fixedpoint/FixedPoint.h +index bb3def15189..85affe89c54 100644 +--- a/tensorflow/tsl/framework/fixedpoint/FixedPoint.h ++++ b/tensorflow/tsl/framework/fixedpoint/FixedPoint.h +@@ -20,7 +20,7 @@ limitations under the License. + #include "tensorflow/tsl/framework/fixedpoint_types.h" + + // Use optimized implementations whenever available +-#if defined(EIGEN_VECTORIZE_AVX512DQ) || defined(EIGEN_VECTORIZE_AVX512BW) ++#if 0 + #include "tensorflow/tsl/framework/fixedpoint/PacketMathAVX512.h" + #include "tensorflow/tsl/framework/fixedpoint/TypeCastingAVX512.h" + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch new file mode 100644 index 000000000000..3d57bed62cbb --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch @@ -0,0 +1,38 @@ +Fix compilation failure on PowerPC: +external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/GenericPacketMath.h:862:67: error: no matching function for call to 'atan(const __vector(2) double&)' + +Add the upstream commit https://gitlab.com/libeigen/eigen/-/commit/886aad136111eeeb7604e1d17f62efcc4d824568 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/eigen3/disable-atan-on-ppc.patch b/third_party/eigen3/disable-atan-on-ppc.patch +new file mode 100644 +index 00000000000..4614799b66a +--- /dev/null ++++ b/third_party/eigen3/disable-atan-on-ppc.patch +@@ -0,0 +1,13 @@ ++diff --git a/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Eigen/src/Core/arch/AltiVec/PacketMath.h ++index 37398de15..d9ddb5e35 100644 ++--- a/Eigen/src/Core/arch/AltiVec/PacketMath.h +++++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h ++@@ -2708,7 +2708,7 @@ template<> struct packet_traits : default_packet_traits ++ HasAbs = 1, ++ HasSin = 0, ++ HasCos = 0, ++- HasATan = 1, +++ HasATan = 0, ++ HasLog = 0, ++ HasExp = 1, ++ HasSqrt = 1, +diff --git a/third_party/eigen3/workspace.bzl b/third_party/eigen3/workspace.bzl +index 91f471c3def..9fa96a38310 100644 +--- a/third_party/eigen3/workspace.bzl ++++ b/third_party/eigen3/workspace.bzl +@@ -14,6 +14,7 @@ def repo(): + tf_http_archive( + name = "eigen_archive", + build_file = "//third_party/eigen3:eigen_archive.BUILD", ++ patch_file = ["//third_party/eigen3:disable-atan-on-ppc.patch"], + sha256 = EIGEN_SHA256, + strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT), + urls = tf_mirror_urls("https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT)), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch new file mode 100644 index 000000000000..1cbf1a35a039 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch @@ -0,0 +1,72 @@ +Fix a SIGSEGV in e.g. //tensorflow/core/grappler/optimizers:arithmetic_optimizer_test_cpu +See https://gitlab.com/libeigen/eigen/-/issues/2608 + +fix-ppc-gemm.patch based on https://gitlab.com/libeigen/eigen/-/merge_requests/1208 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/eigen3/fix-ppc-gemm.patch b/third_party/eigen3/fix-ppc-gemm.patch +new file mode 100644 +index 00000000000..c674c4b590e +--- /dev/null ++++ b/third_party/eigen3/fix-ppc-gemm.patch +@@ -0,0 +1,46 @@ ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h ++index 3b3b558..44f9e16 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h ++@@ -1760,7 +1760,7 @@ EIGEN_ALWAYS_INLINE void gemm_cols( ++ gemm_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, remaining_rows, pAlpha, pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_extra_cols( +++EIGEN_ALWAYS_INLINE void gemm_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, ++@@ -2194,7 +2194,7 @@ EIGEN_ALWAYS_INLINE void gemm_complex_cols( ++ gemm_complex_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_cols( +++EIGEN_ALWAYS_INLINE void gemm_complex_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h b/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h ++index 28868ca..1ac6629 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h ++@@ -30,8 +30,8 @@ EIGEN_ALWAYS_INLINE void gemm_extra_row( ++ const Packet& pAlpha, ++ const Packet& pMask); ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_extra_cols( +++template +++EIGEN_ALWAYS_INLINE void gemm_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, ++@@ -67,7 +67,7 @@ EIGEN_ALWAYS_INLINE void gemm_complex_extra_row( ++ const Packet& pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_cols( +++EIGEN_ALWAYS_INLINE void gemm_complex_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, +diff --git a/third_party/eigen3/workspace.bzl b/third_party/eigen3/workspace.bzl +index 6c8744aeec4..2a2a7b474c9 100644 +--- a/third_party/eigen3/workspace.bzl ++++ b/third_party/eigen3/workspace.bzl +@@ -14,7 +14,7 @@ def repo(): + tf_http_archive( + name = "eigen_archive", + build_file = "//third_party/eigen3:eigen_archive.BUILD", +- patch_file = ["//third_party/eigen3:disable-atan-on-ppc.patch"], ++ patch_file = ["//third_party/eigen3:disable-atan-on-ppc.patch", "//third_party/eigen3:fix-ppc-gemm.patch"], + sha256 = EIGEN_SHA256, + strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT), + urls = tf_mirror_urls("https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT)), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-link-error.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-link-error.patch new file mode 100644 index 000000000000..a492897700d3 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-link-error.patch @@ -0,0 +1,39 @@ +Fix errors during build such as +Traceback (most recent call last): + File "/bazel-root/21e00dc5c04b924b70ed7bedd0c3533e/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/create_tensorflow.python_api_tf_python_api_gen_v2.runfiles/org_tensorflow/tensorflow/python/pywrap_tensorflow.py", line 62, in + from tensorflow.python._pywrap_tensorflow_internal import * +ImportError: /bazel-root/21e00dc5c04b924b70ed7bedd0c3533e/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/create_tensorflow.python_api_tf_python_api_gen_v2.runfiles/org_tensorflow/tensorflow/python/_pywrap_tensorflow_internal.so: undefined symbol: LLVMInitializePowerPCAsmParser + +See https://github.com/tensorflow/tensorflow/pull/59326 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD b/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD +index 587d4b184c0..5ff10743cf8 100644 +--- a/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD ++++ b/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD +@@ -250,7 +250,23 @@ cc_library( + "@llvm-project//mlir:Parser", + "@llvm-project//mlir:Pass", + "@llvm-project//mlir:ToLLVMIRTranslation", +- ], ++ ] + select({ ++ "//tensorflow:arm_any": [ ++ "@llvm-project//llvm:AArch64AsmParser", ++ ], ++ "//tensorflow:linux_ppc64le": [ ++ "@llvm-project//llvm:PowerPCAsmParser", ++ ], ++ "//tensorflow:macos_arm64": [ ++ "@llvm-project//llvm:AArch64AsmParser", ++ ], ++ "//tensorflow:linux_s390x": [ ++ "@llvm-project//llvm:SystemZAsmParser", ++ ], ++ "//conditions:default": [ ++ "@llvm-project//llvm:X86AsmParser", ++ ], ++ }), + ) + + cc_library( diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch new file mode 100644 index 000000000000..77b9f524938d --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch @@ -0,0 +1,38 @@ +This combines two patches from TensorFlow 2.7.1. + +tensorflow-io-gcs-filesystem is not available as a binary for all architectures and +building it requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Patch added by Simon Branford (University of Birmingham) +Updated by Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 74a1962c334..e8f6eabe4a6 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -88,7 +88,6 @@ REQUIRED_PACKAGES = [ + 'gast >= 0.2.1, <= 0.4.0', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'libclang >= 13.0.0', + 'numpy >= 1.20', + 'opt_einsum >= 2.3.2', + 'packaging', +@@ -105,8 +104,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0', +- 'tensorflow-io-gcs-filesystem >= 0.23.1;platform_machine!="arm64" or ' + +- 'platform_system!="Darwin"', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb index b7a9a39b8658..503325ea6d70 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb @@ -161,6 +161,7 @@ exts_list = [ '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.3_fix-aarch64-build.patch', ], 'checksums': [ '233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c', # v2.5.0.tar.gz @@ -180,7 +181,9 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, ], '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', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb index c49c3eddf104..10c4b07d14d4 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb @@ -163,6 +163,7 @@ exts_list = [ 'TensorFlow-2.5.0_fix-cub-cuda-dep.patch', 'TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch', 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.3_fix-aarch64-build.patch', ], 'checksums': [ '233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c', # v2.5.0.tar.gz @@ -185,7 +186,7 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-CUDA10-build.patch 'f6b44c82855bd2892ca67b528076acdaa75d8b9158aa25d84c808d1ce4d89256', # TensorFlow-2.5.0_fix-cub-cuda-dep.patch @@ -194,6 +195,8 @@ exts_list = [ 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, ], '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', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb index b4daf67aaa3a..3ca12b1e6358 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb @@ -167,6 +167,7 @@ exts_list = [ '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.3_fix-aarch64-build.patch', ], 'checksums': [ '233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c', # v2.5.0.tar.gz @@ -189,11 +190,13 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, ], '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', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch index 5d80e47df8fb..eaed0decf234 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch @@ -1,37 +1,42 @@ -The comment is not true, the function actually takes the arguments as it should -Hence just redefine the function +Fix compile error on ARM: +> ./tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h:132:58: error: cannot convert 'int32x2_t' to 'int8x8_t' -Author: Alexander Grund (TU Dresden) +From https://github.com/tensorflow/tensorflow/pull/53782 + +From 4463f25d1622d162f870ff685da20f2c6df5bc6a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sat, 15 Jan 2022 21:06:27 +0100 +Subject: [PATCH] Fix casting in vdotq_four_lane_s32() in TFLite + +When building with GCC and dotprod ARM extension enabled, +vreinterpret_s32_s8() casts int8x8_t to int32x2_t. However, third +argument of vdotq_lane_s32() expects parameter of type int8x8_t. +--- + .../optimized/depthwiseconv_3x3_filter_common.h | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h b/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h -index 916edd561ff..9c8025dac49 100644 +index 916edd561ff32..c519a81bc864d 100644 --- a/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h +++ b/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h -@@ -122,26 +122,7 @@ inline int32x4_t vpaddq_s32(int32x4_t a, int32x4_t b) { - #endif // !__aarch64__ - - #ifdef __ARM_FEATURE_DOTPROD --// The vdotq_lane_s32 takes int8x8t for the rhs parameter, whereas the actual --// instruction selects from between 4 32-bit (4x8-bit packed) sub-registers, an --// unusual interpretation of "lane". --inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs, -- int8x16_t rhs, const int lane) { -- switch (lane) { -- case 0: +@@ -129,16 +129,14 @@ inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs, + int8x16_t rhs, const int lane) { + switch (lane) { + case 0: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 0); -- case 1: ++ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 0); + case 1: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 1); -- case 2: ++ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 1); + case 2: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)), - 0); -- case 3: -- default: ++ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 0); + case 3: + default: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)), - 1); -- } --} -- -+#define vdotq_four_lane_s32 vdotq_lane_s32 - #else ++ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 1); + } + } - inline int32x4_t vdotq_s32(int32x4_t acc, int8x16_t lhs, int8x16_t rhs) { 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 index 32ddf1501b5f..a476bb464a63 100644 --- 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 @@ -171,6 +171,7 @@ exts_list = [ '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_fix-aarch64-build.patch', 'TensorFlow-2.5.3_relax-required-versions.patch', ], 'checksums': [ @@ -194,7 +195,7 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch @@ -205,6 +206,8 @@ exts_list = [ 'e82db520e5e22f97c0dde2166f0d1a29e7ea828c2b4dfbc79dccc0d4cde5d95d', # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, # TensorFlow-2.5.3_relax-required-versions.patch 'e108c3877cf4a0cadc179290ec2098683367688bbbbc7d6fa9a321eb7020443c', ], 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 index 5405077833ee..1f3e1cc73129 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb @@ -165,6 +165,7 @@ exts_list = [ '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_fix-aarch64-build.patch', 'TensorFlow-2.5.3_relax-required-versions.patch', ], 'checksums': [ @@ -187,7 +188,7 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch @@ -196,6 +197,8 @@ exts_list = [ 'e82db520e5e22f97c0dde2166f0d1a29e7ea828c2b4dfbc79dccc0d4cde5d95d', # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, # TensorFlow-2.5.3_relax-required-versions.patch 'e108c3877cf4a0cadc179290ec2098683367688bbbbc7d6fa9a321eb7020443c', ], diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_fix-aarch64-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_fix-aarch64-build.patch new file mode 100644 index 000000000000..c45e97f766f1 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_fix-aarch64-build.patch @@ -0,0 +1,24 @@ +Without this tf_to_kernel fails to link on AARCH64 + +Picked from https://github.com/tensorflow/tensorflow/commit/4933ada8c2b4b523acc94baea2609f0cce70a083 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/platform/default/build_config.bzl b/tensorflow/core/platform/default/build_config.bzl +index d0dadd12108..bf6c631fdf6 100644 +--- a/tensorflow/core/platform/default/build_config.bzl ++++ b/tensorflow/core/platform/default/build_config.bzl +@@ -795,9 +795,10 @@ def tf_google_mobile_srcs_only_runtime(): + return [] + + def if_llvm_aarch64_available(then, otherwise = []): +- # TODO(b/...): The TF XLA build fails when adding a dependency on +- # @llvm/llvm-project/llvm:aarch64_target. +- return otherwise ++ return select({ ++ "//tensorflow:linux_aarch64": then, ++ "//conditions:default": otherwise, ++ }) + + def if_llvm_system_z_available(then, otherwise = []): + return select({ diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb index 21750d02e0a8..9bc60b3e2e68 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb @@ -184,7 +184,7 @@ exts_list = [ # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb index cb0493abde26..2a4c68371cff 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb @@ -177,7 +177,7 @@ exts_list = [ # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb index 6f8467a3d683..634b72ba92b9 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb @@ -17,7 +17,6 @@ builddependencies = [ ('git', '2.33.1', '-nodocs'), ('pybind11', '2.7.1'), ('UnZip', '6.0'), - ('LLVM', '12.0.1'), # for debugging with llvm-symbolizer, to be removed ] dependencies = [ ('CUDA', '11.4.1', '', SYSTEM), @@ -223,7 +222,7 @@ exts_list = [ # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.7.1_fix_protobuf_error_message.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb index e54e43b8deb5..e2c8fdba601e 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb @@ -16,7 +16,6 @@ builddependencies = [ ('git', '2.33.1', '-nodocs'), ('pybind11', '2.7.1'), ('UnZip', '6.0'), - ('LLVM', '12.0.1'), # for debugging with llvm-symbolizer, to be removed ] dependencies = [ ('Python', '3.9.6'), @@ -219,7 +218,7 @@ exts_list = [ # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', # TensorFlow-2.5.0_fix-crash-on-shutdown.patch '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.7.1_fix_protobuf_error_message.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b.eb new file mode 100644 index 000000000000..fdeaf3afa245 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b.eb @@ -0,0 +1,210 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.8.4' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '4.2.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.33.1', '-nodocs'), + ('pybind11', '2.7.1'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.6'), + ('h5py', '3.6.0'), + ('cURL', '7.78.0'), + ('dill', '0.3.4'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.5.0'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.36'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), + ('networkx', '2.6.3'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('tensorflow_estimator', '2.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['bee8e0520c60ae7eaf6ca8cb46c5a9f4b45725531380db8fbe38fcb48478b6bb'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('Werkzeug', '2.1.2', { + 'checksums': ['1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.3.7', { + 'checksums': ['cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874'], + }), + ('grpcio', '1.46.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['4835b0f5fedbee3a3d6eea48f4e65dffd30b52c078690fa97ddc9fcea1e3b35d'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.1.0', { + 'checksums': ['8b3b8fa53f564762e5b221e9896798951e7f915513abf2ba072ce0f07f3f5a98'], + }), + ('google-auth', '2.6.6', { + 'modulename': 'google.auth', + 'checksums': ['1ba4938e032b73deb51e59c4656a00e0939cf0b1112575099f136babb4563312'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('tensorboard', '2.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + ('absl-py', '1.0.0', { + 'modulename': 'absl', + 'checksums': ['ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea'], + }), + (name, version, { + '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.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-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + ], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # 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', + # All tests in this directory fail with segfault (TensorFlow Graph IR) + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + # Fails on e.g. AMD EPYC and known to be flaky on Mac: https://github.com/tensorflow/tensorflow/issues/56717 + '-//tensorflow/python/data/experimental/kernel_tests/service:fault_tolerance_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, + 'checksums': [ + {'v2.8.4.tar.gz': 'c08a222792bdbff9da299c7885561ee27b95d414d1111c426efac4ccdce92cde'}, + {'TensorFlow-2.1.0_fix-cuda-build.patch': + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a'}, + {'TensorFlow-2.4.0_add-ldl.patch': '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'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-arm-vector-intrinsics.patch': + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch': + 'f78526a34d85f4dda59b160b576aa3a3126db7073a58c4e3b1424923f6a21483'}, + {'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch': + '10a6daad2ef65d649a6d4a6659f97f833359b3c35d3ce15e63d2db2e331a6a35'}, + {'TensorFlow-2.7.1_fix_cpu_count.patch': + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch new file mode 100644 index 000000000000..1a0938252be1 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch @@ -0,0 +1,18 @@ +XNNPACK is not supported on PowerPC so disable it by default. +See https://github.com/tensorflow/tensorflow/issues/58768 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/BUILD b/tensorflow/lite/BUILD +index 198f949b341..d15dcf9a80d 100644 +--- a/tensorflow/lite/BUILD ++++ b/tensorflow/lite/BUILD +@@ -709,6 +709,8 @@ cc_library( + deps = select({ + "//tensorflow:macos": [], + "//tensorflow:fuchsia": [], ++ # XNNPACK is not supported on PPC ++ "//tensorflow:linux_ppc64le": [], + "//conditions:default": [":tflite_with_xnnpack_enabled"], + }), + ) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch new file mode 100644 index 000000000000..b9f3afe50d02 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch @@ -0,0 +1,34 @@ +This combines two patches from TensorFlow 2.7.1. + +tensorflow-io-gcs-filesystem is not available as a binary for all architectures and +building it requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Patch added by Simon Branford (University of Birmingham) + +--- tensorflow/tools/pip_package/setup.py.orig 2022-11-29 16:42:19.016145000 +0000 ++++ tensorflow/tools/pip_package/setup.py 2022-11-29 16:42:39.287641518 +0000 +@@ -78,7 +78,6 @@ + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', + 'keras_preprocessing >= 1.1.1', # 1.1.0 needs tensorflow==1.7 +- 'libclang >= 9.0.1', + 'numpy >= 1.20', + 'opt_einsum >= 2.3.2', + # TODO(b/182876485): Protobuf 3.20 results in linker errors on Windows +@@ -101,7 +100,6 @@ + 'tensorboard >= 2.8, < 2.9', + 'tensorflow-estimator >= 2.8, < 2.9', + 'keras >= 2.8.0rc0, < 2.9', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + ] + + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch new file mode 100644 index 000000000000..42cdce7c9fd0 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch @@ -0,0 +1,28 @@ +Fix for "undeclared inclusion(s) in rule" errors when the installation directory +for GCC is hosted in a path that is a symlink to another path. + +From https://github.com/tensorflow/tensorflow/pull/56360 + +From b3a8fdbcb79e723f8d62f86bddcfdfb73fe76291 Mon Sep 17 00:00:00 2001 +From: Jinzhe Zeng +Date: Sat, 4 Jun 2022 19:06:58 -0400 +Subject: [PATCH] resolve gcc_host_compiler_path in a symlink directory + +Resolves a missing dependency declarations error, when gcc_host_compiler_path is in a symlink directory resolving to other directories. +--- + configure.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.py b/configure.py +index bf338bdda2297..77af09a22a05d 100644 +--- a/configure.py ++++ b/configure.py +@@ -619,7 +619,7 @@ def prompt_loop_or_load_from_env(environ_cp, + 'Assuming to be a scripting mistake.' % + (var_name, n_ask_attempts)) + +- if resolve_symlinks and os.path.islink(val): ++ if resolve_symlinks: + val = os.path.realpath(val) + environ_cp[var_name] = val + return val diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch new file mode 100644 index 000000000000..7701d85e6126 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch @@ -0,0 +1,55 @@ +TensorFlow adds some GPU tests twice increasing the runtime of the test suite. +This filters out the test part meant for CPU. + +See https://github.com/tensorflow/tensorflow/issues/47081 +From https://github.com/tensorflow/tensorflow/pull/59129 + +Author: Alexander Grund (TU Dresden) +--- + tensorflow/tensorflow.bzl | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 649c8e22dcc95..d3fc0e3221497 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1461,22 +1461,23 @@ def tf_gpu_cc_test( + linkopts = [], + **kwargs): + targets = [] +- tf_cc_test( +- name = name, +- size = size, +- srcs = srcs, +- args = args, +- data = data, +- extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), +- kernels = kernels, +- linkopts = linkopts, +- linkstatic = linkstatic, +- suffix = "_cpu", +- tags = tags, +- deps = deps, +- **kwargs +- ) +- targets.append(name + "_cpu") ++ if 'gpu' not in tags: ++ tf_cc_test( ++ name = name, ++ size = size, ++ srcs = srcs, ++ args = args, ++ data = data, ++ extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), ++ kernels = kernels, ++ linkopts = linkopts, ++ linkstatic = linkstatic, ++ suffix = "_cpu", ++ tags = tags, ++ deps = deps, ++ **kwargs ++ ) ++ targets.append(name + "_cpu") + tf_cc_test( + name = name, + size = size, diff --git a/easybuild/easyconfigs/t/Theano/Theano-1.0.4-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/Theano/Theano-1.0.4-foss-2018b-Python-3.6.6.eb new file mode 100644 index 000000000000..ed46151ae767 --- /dev/null +++ b/easybuild/easyconfigs/t/Theano/Theano-1.0.4-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Theano' +version = "1.0.4" +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://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': '2018b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['35c9bbef56b61ffa299265a42a4e8f8cb5a07b2997dabaef0f8830b397086913'] + +dependencies = [('Python', '3.6.6')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/theano-cache', 'bin/theano-nose'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-CVE-2021-42260.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-CVE-2021-42260.patch new file mode 100644 index 000000000000..d9eeb45c73b5 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-CVE-2021-42260.patch @@ -0,0 +1,23 @@ +Description: In stamp always advance the pointer if *p= 0xef + . + The current implementation only advanced if 0xef is followed + by two non-zero bytes. In case of malformed input (0xef should be + the start byte of a three byte character) this leads to an infinite + loop. (CVE-2021-42260) +Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/ + +--- a/tinyxmlparser.cpp ++++ b/tinyxmlparser.cpp +@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding ) + else + { p +=3; ++col; } // A normal character. + } ++ else ++ { ++ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so ++ // there is something wrong here. Just advance the pointer to evade infinite loops ++ ++p; ++ } + } + else + { diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..502a6576d665 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.2.0.eb @@ -0,0 +1,60 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'TinyXML' +version = '2.6.2' + +homepage = 'https://sourceforge.net/projects/tinyxml' +description = """TinyXML is a simple, small, minimal, C++ XML parser that can be easily integrating + into other programs. It reads XML and creates C++ objects representing the XML document. The + objects can be manipulated, changed, and saved again as XML. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % version.replace('.', '_')] +patches = [ + '%(name)s-2.6.2-enforce-use-stl.patch', + '%(name)s-2.6.2-entity-encoding.patch', + '%(name)s-2.6.2-CVE-2021-42260.patch', + '%(name)s-2.6.2-tagindex-type.patch' +] +checksums = [ + {'tinyxml_2_6_2.tar.gz': '15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'}, + {'TinyXML-2.6.2-enforce-use-stl.patch': '16a5b5e842eb0336be606131e5fb12a9165970f7bd943780ba09df2e1e8b29b1'}, + {'TinyXML-2.6.2-entity-encoding.patch': 'c5128e03933cd2e22eb85554d58f615f4dbc9177bd144cae2913c0bd7b140c2b'}, + {'TinyXML-2.6.2-CVE-2021-42260.patch': '3c4a6d9606944f54be5f108f278bb9137d78c6da9aa369a3d3faf87077a0a4bd'}, + {'TinyXML-2.6.2-tagindex-type.patch': 'cd1a1888ca0be64bb2cccc0c90eb070f3c789b8b9b7e02946ab8c4d38340424d'}, +] + +builddependencies = [('binutils', '2.37')] + +buildopts = ' '.join([ + 'CXXFLAGS="$CXXFLAGS $CPPFLAGS -DTIXML_USE_STL" CXX="$CXX" LDFLAGS="$LDFLAGS" LD="$LD"', + # build a shared library + '&& $CXX -shared -Wl,-soname,lib%(namelower)s.so.%(version)s -o lib%(namelower)s.so.%(version)s $LDFLAGS *.o', +]) + +_incs = ['tinystr.h', 'tinyxml.h'] +_libs = ['lib%(namelower)s.so.%(version)s'] + +files_to_copy = [ + (_incs, 'include'), + (_libs, 'lib'), +] + +postinstallcmds = [' && '.join([ + "cd %(installdir)s/lib", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major_minor)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so", +])] + +sanity_check_paths = { + 'files': ['include/%s' % i for i in _incs] + ['lib/%s' % l for l in _libs], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1810c449235c --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'TinyXML' +version = '2.6.2' + +homepage = 'https://sourceforge.net/projects/tinyxml' +description = """TinyXML is a simple, small, minimal, C++ XML parser that can be easily integrating + into other programs. It reads XML and creates C++ objects representing the XML document. The + objects can be manipulated, changed, and saved again as XML. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % version.replace('.', '_')] +patches = [ + '%(name)s-2.6.2-enforce-use-stl.patch', + '%(name)s-2.6.2-entity-encoding.patch', + '%(name)s-2.6.2-CVE-2021-42260.patch', + '%(name)s-2.6.2-tagindex-type.patch', +] +checksums = [ + {'tinyxml_2_6_2.tar.gz': '15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'}, + {'TinyXML-2.6.2-enforce-use-stl.patch': '16a5b5e842eb0336be606131e5fb12a9165970f7bd943780ba09df2e1e8b29b1'}, + {'TinyXML-2.6.2-entity-encoding.patch': 'c5128e03933cd2e22eb85554d58f615f4dbc9177bd144cae2913c0bd7b140c2b'}, + {'TinyXML-2.6.2-CVE-2021-42260.patch': '3c4a6d9606944f54be5f108f278bb9137d78c6da9aa369a3d3faf87077a0a4bd'}, + {'TinyXML-2.6.2-tagindex-type.patch': 'cd1a1888ca0be64bb2cccc0c90eb070f3c789b8b9b7e02946ab8c4d38340424d'}, +] + +builddependencies = [('binutils', '2.38')] + +buildopts = ' '.join([ + 'CXXFLAGS="$CXXFLAGS $CPPFLAGS -DTIXML_USE_STL" CXX="$CXX" LDFLAGS="$LDFLAGS" LD="$LD"', + # build a shared library + '&& $CXX -shared -Wl,-soname,lib%(namelower)s.so.%(version)s -o lib%(namelower)s.so.%(version)s $LDFLAGS *.o', +]) + +_incs = ['tinystr.h', 'tinyxml.h'] +_libs = ['lib%(namelower)s.so.%(version)s'] + +files_to_copy = [ + (_incs, 'include'), + (_libs, 'lib'), +] + +postinstallcmds = [' && '.join([ + "cd %(installdir)s/lib", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major_minor)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so", +])] + +sanity_check_paths = { + 'files': ['include/%s' % i for i in _incs] + ['lib/%s' % l for l in _libs], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-enforce-use-stl.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-enforce-use-stl.patch new file mode 100644 index 000000000000..f930ba9c2c83 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-enforce-use-stl.patch @@ -0,0 +1,18 @@ +Description: TinyXml is built with TIXML_USE_STL, so we have to + enforce it when the library is used. +Author: Felix Geyer + +diff -Nur tinyxml-2.5.3/tinyxml.h tinyxml-2.5.3.patch/tinyxml.h +--- tinyxml-2.5.3/tinyxml.h 2007-05-07 00:41:23.000000000 +0200 ++++ tinyxml-2.5.3.patch/tinyxml.h 2009-07-08 22:32:03.000000000 +0200 +@@ -26,6 +26,10 @@ + #ifndef TINYXML_INCLUDED + #define TINYXML_INCLUDED + ++#ifndef TIXML_USE_STL ++ #define TIXML_USE_STL ++#endif ++ + #ifdef _MSC_VER + #pragma warning( push ) + #pragma warning( disable : 4530 ) diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-entity-encoding.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-entity-encoding.patch new file mode 100644 index 000000000000..7a8d87859103 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-entity-encoding.patch @@ -0,0 +1,58 @@ +Description: TinyXML incorrectly encodes text element containing an ampersand followed by either x or #. +Origin: http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559 + +diff -u -r1.105 tinyxml.cpp +--- a/tinyxml.cpp ++++ b/tinyxml.cpp +@@ -57,30 +57,7 @@ + { + unsigned char c = (unsigned char) str[i]; + +- if ( c == '&' +- && i < ( (int)str.length() - 2 ) +- && str[i+1] == '#' +- && str[i+2] == 'x' ) +- { +- // Hexadecimal character reference. +- // Pass through unchanged. +- // © -- copyright symbol, for example. +- // +- // The -1 is a bug fix from Rob Laveaux. It keeps +- // an overflow from happening if there is no ';'. +- // There are actually 2 ways to exit this loop - +- // while fails (error case) and break (semicolon found). +- // However, there is no mechanism (currently) for +- // this function to return an error. +- while ( i<(int)str.length()-1 ) +- { +- outString->append( str.c_str() + i, 1 ); +- ++i; +- if ( str[i] == ';' ) +- break; +- } +- } +- else if ( c == '&' ) ++ if ( c == '&' ) + { + outString->append( entity[0].str, entity[0].strLength ); + ++i; +diff -u -r1.89 xmltest.cpp +--- a/xmltest.cpp ++++ b/xmltest.cpp +@@ -1340,6 +1340,16 @@ + }*/ + } + ++ #ifdef TIXML_USE_STL ++ { ++ TiXmlDocument xml; ++ xml.Parse("foo&#xa+bar"); ++ std::string str; ++ str << xml; ++ XmlTest( "Entity escaping", "foo&#xa+bar", str.c_str() ); ++ } ++ #endif ++ + /* 1417717 experiment + { + TiXmlDocument xml; diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-tagindex-type.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-tagindex-type.patch new file mode 100644 index 000000000000..0b1d09b80432 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-tagindex-type.patch @@ -0,0 +1,23 @@ +Author: Mike +Description: use size_t for tagIndex instead of int (and casting tag->length) + https://gitlab.nektar.info/nektar/nektar/-/blob/master/cmake/scripts/tinyxml.patch +--- tinyxmlparser.cpp 2017-10-03 16:05:35.999295200 +0100 ++++ tinyxmlparser.cpp 2017-10-03 16:05:58.556565300 +0100 +@@ -655,7 +655,7 @@ + + while ( in->good() ) + { +- int tagIndex = (int) tag->length(); ++ size_t tagIndex = tag->length(); + while ( in->good() && in->peek() != '>' ) + { + int c = in->get(); +@@ -958,7 +958,7 @@ + // We should be at a "<", regardless. + if ( !in->good() ) return; + assert( in->peek() == '<' ); +- int tagIndex = (int) tag->length(); ++ size_t tagIndex = tag->length(); + + bool closingTag = false; + bool firstCharFound = false; diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..cbc6929a7bae --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.12' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +patches = ['Tk-8.6.4_different-prefix-with-tcl.patch'] +checksums = [ + {'tk8.6.12-src.tar.gz': '12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630'}, + {'Tk-8.6.4_different-prefix-with-tcl.patch': '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d'}, +] + +builddependencies = [('binutils', '2.39')] +dependencies = [ + ('Tcl', version), + ('X11', '20221110'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.8-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..49050c25e632 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.8-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.10.8' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a'] + +builddependencies = [ + ('binutils', '2.39'), + ('libffi', '3.4.4'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Tk', '8.6.12'), + ('zlib', '1.2.12'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.3.0-Python-2.7.18.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.3.0-Python-2.7.18.eb new file mode 100644 index 000000000000..d3260e3dfcb5 --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.3.0-Python-2.7.18.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics +# Biozentrum - University of Basel +# Modified by: Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'TopHat' +version = '2.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/' +description = "TopHat is a fast splice junction mapper for RNA-Seq reads." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'gnu++98', 'pic': True} + +github_account = 'infphilo' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'tophat-2.0.13-zlib.patch', + 'TopHat-2.1.2_fix-configure.patch', +] +checksums = [ + {'v2.1.2.tar.gz': '15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1'}, + {'tophat-2.0.13-zlib.patch': 'a33075c2affda995ddbd250933dbcaf94f68768b1eebead58a69705fc40306ef'}, + {'TopHat-2.1.2_fix-configure.patch': '5b92002848632f727381860f87f6b1b8867b60db6298c49b8387e5c61af9850d'}, +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('Boost', '1.79.0'), + ('zlib', '1.2.12'), + ('Python', '2.7.18', '-bare'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-boost=$EBROOTBOOST' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["tophat --help 2>&1 | grep 'TopHat maps short sequences'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2_fix-configure.patch b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2_fix-configure.patch new file mode 100644 index 000000000000..c717d95cce6c --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2_fix-configure.patch @@ -0,0 +1,13 @@ +fix for "error: AM_INIT_AUTOMAKE expanded multiple times" +author: Kenneth Hoste (HPC-UGent) +--- tophat-2.1.2/configure.ac.orig 2018-05-24 17:24:31.000000000 +0200 ++++ tophat-2.1.2/configure.ac 2023-03-10 14:44:29.924070336 +0100 +@@ -108,8 +108,6 @@ + CXXFLAGS="$CXXFLAGS $BAM_CPPFLAGS $BOOST_CPPFLAGS -I./SeqAn-1.4.2" + LDFLAGS="$BAM_LDFLAGS $BOOST_LDFLAGS $user_LDFLAGS" + +-AM_INIT_AUTOMAKE([-Wall foreign tar-pax foreign]) +- + # makefiles to configure + AC_CONFIG_FILES([Makefile src/Makefile]) + diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.24.0-foss-2022a.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.24.0-foss-2022a.eb new file mode 100644 index 000000000000..fc965d151e3f --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.24.0-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.24.0' + +homepage = 'https://github.com/huggingface/transformers' +description = """ +State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Rust', '1.60.0'), # required for setuptools-rust, which is needed for tokenizers +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('regex', '2022.10.31', { + 'checksums': ['a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83'], + }), + ('tokenizers', '0.13.2', { + 'checksums': ['f9525375582fd1912ac3caa2f727d36c86ff8c0c6de45ae1aaff90f87f33b907'], + }), + ('huggingface-hub', '0.10.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276'], + }), + ('transformers', version, { + 'checksums': ['486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a.eb b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a.eb new file mode 100644 index 000000000000..42acaf50b995 --- /dev/null +++ b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a.eb @@ -0,0 +1,48 @@ +# easyblock = 'CMakeMake' + +name = 'Trilinos' +version = '13.4.1' + +homepage = 'https://trilinos.org' +description = """The Trilinos Project is an effort to develop algorithms and enabling technologies + within an object-oriented software framework for the solution of large-scale, complex multi-physics + engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True, 'strict': True} + +source_urls = ['https://github.com/trilinos/Trilinos/archive/refs/tags/'] +sources = ['trilinos-release-%s.tar.gz' % '-'.join(version.split('.'))] +patches = ['Trilinos-13.4.1_fix-seacas-NC-constants.patch'] +checksums = [ + {'trilinos-release-13-4-1.tar.gz': '5465cbff3de7ef4ac7d40eeff9d99342c00d9d20eee0a5f64f0a523093f5f1b3'}, + {'Trilinos-13.4.1_fix-seacas-NC-constants.patch': + 'df6215589abf582197a963c49ba853c1eca788261a1b1834099e7679794e9eed'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('SWIG', '4.0.2'), + ('Doxygen', '1.9.4'), + ('Perl', '5.34.1', '-minimal'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost.Python', '1.79.0'), + ('Boost', '1.79.0'), + ('SCOTCH', '7.0.1'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('MATIO', '1.5.23'), + ('GLM', '0.9.9.8'), + ('X11', '20220504'), +] + +forward_deps = False +build_tests = False +configopts = '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION=ON ' +configopts += '-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON ' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1_fix-seacas-NC-constants.patch b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1_fix-seacas-NC-constants.patch new file mode 100644 index 000000000000..14ded8805ab2 --- /dev/null +++ b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1_fix-seacas-NC-constants.patch @@ -0,0 +1,38 @@ +From 5e1b19181110c52b76d13e3f60da2c8cf678c941 Mon Sep 17 00:00:00 2001 +From: Greg Sjaardema +Date: Tue, 7 Jun 2022 11:08:05 -0600 +Subject: [PATCH] EXODUS: Handle newer versions of netCDF symbols + +--- + packages/seacas/libraries/exodus/src/ex_utils.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/packages/seacas/libraries/exodus/src/ex_utils.c b/packages/seacas/libraries/exodus/src/ex_utils.c +index 4c1cb9969e..9b3084e2fb 100644 +--- a/packages/seacas/libraries/exodus/src/ex_utils.c ++++ b/packages/seacas/libraries/exodus/src/ex_utils.c +@@ -1,5 +1,5 @@ + /* +- * Copyright(C) 1999-2021 National Technology & Engineering Solutions ++ * Copyright(C) 1999-2022 National Technology & Engineering Solutions + * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + * NTESS, the U.S. Government retains certain rights in this software. + * +@@ -1741,8 +1741,12 @@ void ex__compress_variable(int exoid, int varid, int type) + for details on SZIP library and parameters. + */ + +- /* const int NC_SZIP_EC = 4; */ /* Selects entropy coding method for szip. */ +- const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#if !defined(NC_SZIP_EC) ++ const int NC_SZIP_EC = 4; /* Selects entropy coding method for szip. */ ++#endif ++#if !defined(NC_SZIP_NN) ++ const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#endif + /* Even and between 4 and 32; typical values are 8, 10, 16, 32 */ + const int SZIP_PIXELS_PER_BLOCK = + file->compression_level == 0 ? 32 : file->compression_level; +-- +GitLab + diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..b5f27e64489e --- /dev/null +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# Updated to version 0.6.2: Pavel Grochal (INUITS) +# Updated to version 0.6.5: Alex Domingo (VUB) +# Updated to version 0.6.7 by J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Trim_Galore' +version = '0.6.10' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/' +description = """Trim Galore! is a wrapper script to automate quality and adapter +trimming as well as quality control, with some added functionality to remove biased +methylation positions for RRBS sequence files (for directional, non-directional +(or paired-end) sequencing).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/FelixKrueger/TrimGalore/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3a4e414fc658d6eb4356f1572351204e8475a9d7dc79f6798270b57d35bda017'] + +dependencies = [ + ('Python', '3.9.6'), + ('Java', '11', '', SYSTEM), + ('pigz', '2.6'), + ('Perl', '5.34.0'), + ('cutadapt', '3.5'), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), +] + +postinstallcmds = [ + "mkdir %(installdir)s/bin && mv %(installdir)s/%(namelower)s %(installdir)s/bin/%(namelower)s", +] + +fix_perl_shebang_for = ['bin/%(namelower)s'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s', '-v')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..0779ba13c452 --- /dev/null +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# Updated to version 0.6.2: Pavel Grochal (INUITS) +# Updated to version 0.6.5: Alex Domingo (VUB) +# Updated to version 0.6.7 by J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Trim_Galore' +version = '0.6.10' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/' +description = """Trim Galore! is a wrapper script to automate quality and adapter +trimming as well as quality control, with some added functionality to remove biased +methylation positions for RRBS sequence files (for directional, non-directional +(or paired-end) sequencing).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/FelixKrueger/TrimGalore/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3a4e414fc658d6eb4356f1572351204e8475a9d7dc79f6798270b57d35bda017'] + +dependencies = [ + ('Python', '3.10.4'), + ('Java', '11', '', SYSTEM), + ('pigz', '2.7'), + ('Perl', '5.34.1'), + ('cutadapt', '4.2'), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), +] + +postinstallcmds = [ + "mkdir %(installdir)s/bin && mv %(installdir)s/%(namelower)s %(installdir)s/bin/%(namelower)s", +] + +fix_perl_shebang_for = ['bin/%(namelower)s'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s', '-v')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2022a.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2022a.eb new file mode 100644 index 000000000000..b808967c6196 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2022a.eb @@ -0,0 +1,63 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: Custom +# +# Notes:: +## + +name = 'Trinity' +version = '2.15.1' + +homepage = 'https://trinityrnaseq.github.io' +description = """Trinity represents a novel method for the efficient and robust de novo reconstruction + of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, + Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/trinityrnaseq/trinityrnaseq/releases/download/%(name)s-v%(version)s'] +sources = ['trinityrnaseq-v%(version)s.FULL.tar.gz'] +patches = ['Trinity-%(version)s_fix-bamsifter.patch'] +checksums = [ + {'trinityrnaseq-v2.15.1.FULL.tar.gz': 'ba37e5f696d3d54e8749c4ba439901a3e97e14a4314a5229d7a069ad7b1ee580'}, + {'Trinity-2.15.1_fix-bamsifter.patch': 'f374d446f06b8059a3b7cc57c286fc20d79b43ac222f48244ab83fb410997d1d'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), +] + +# for reference, list of dependencies in the container image used upstream: +# https://github.com/trinityrnaseq/trinityrnaseq/blob/master/Docker/Dockerfile +dependencies = [ + ('Java', '11', '', SYSTEM), + ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM), + ('picard', '2.25.1', '-Java-%(javaver)s', SYSTEM), + ('GATK', '4.3.0.0', '-Java-%(javaver)s'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('BLAST+', '2.13.0'), + ('BLAT', '3.7'), + ('Bowtie', '1.3.1'), + ('Bowtie2', '2.4.5'), + ('GMAP-GSNAP', '2023-02-17'), + ('HISAT2', '2.2.1'), + ('HTSlib', '1.15.1'), + ('Jellyfish', '2.3.0'), + ('kallisto', '0.48.0'), + ('ncurses', '6.3'), + ('RSEM', '1.3.3'), + ('Salmon', '1.9.0'), + ('SAMtools', '1.16.1'), + ('STAR', '2.7.10b'), + ('zlib', '1.2.12'), +] + +withsampledata = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1_fix-bamsifter.patch b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1_fix-bamsifter.patch new file mode 100644 index 000000000000..02c23f15c76a --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1_fix-bamsifter.patch @@ -0,0 +1,28 @@ +Fix build of Trinity plugin bamsifter: +* add missing headers +* use external HTSlib from EasyBuild environment +* use compilation flags from environment +author: Alex Domingo (Vrije Universiteit Brussel) +--- trinity-plugins/bamsifter/Makefile.orig 2023-02-23 03:02:38.789520000 +0100 ++++ trinity-plugins/bamsifter/Makefile 2023-02-23 03:04:57.927569000 +0100 +@@ -2,8 +2,8 @@ + + cwd = $(shell pwd) + +-sift_bam_max_cov: sift_bam_max_cov.cpp htslib/version.h +- g++ -std=c++11 -o _sift_bam_max_cov sift_bam_max_cov.cpp -Wall -O2 -L./htslib/build/lib/ -I./htslib/build/include -lhts ++sift_bam_max_cov: sift_bam_max_cov.cpp ++ g++ -std=c++11 $(CXXFLAGS) -Wall -I$(EBROOTHTSLIB)/include -L$(EBROOTHTSLIB)/lib -lhts -o _sift_bam_max_cov sift_bam_max_cov.cpp + + + htslib/version.h : +--- trinity-plugins/bamsifter/sift_bam_max_cov.cpp.orig 2023-02-23 03:05:19.083304000 +0100 ++++ trinity-plugins/bamsifter/sift_bam_max_cov.cpp 2023-02-23 03:05:35.521079515 +0100 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include "htslib/sam.h" + #include "htslib/bgzf.h" diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2020b.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2020b.eb new file mode 100644 index 000000000000..fabca76f18fa --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2020b.eb @@ -0,0 +1,49 @@ +## +# This is a contribution from DeepThought HPC Service, Flinders University, Adelaide, Australia +# Homepage: https://staff.flinders.edu.au/research/deep-thought +# +# Authors:: Robert Qiao +# License:: Custom +# +# Notes:: +## + +name = 'Trinity' +version = '2.9.1' + +homepage = 'https://trinityrnaseq.github.io' +description = """Trinity represents a novel method for the efficient and robust de novo reconstruction + of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, + Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/trinityrnaseq/trinityrnaseq/releases/download/v%(version)s'] +sources = ['trinityrnaseq-v%(version)s.FULL.tar.gz'] +checksums = ['98d98bc21cd5dd32b408ed52586d01a15873b49b96de3264d42616bdcfc9d455'] + +builddependencies = [ + ('Autotools', '20200321'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('ant', '1.10.9', '-Java-%(javaver)s', SYSTEM), + ('Perl', '5.32.0'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Bowtie2', '2.4.2'), + ('HTSlib', '1.11'), + ('Jellyfish', '2.3.0'), + ('kallisto', '0.46.2'), + ('ncurses', '6.2'), + ('Salmon', '1.4.0'), + ('SAMtools', '1.11'), + ('zlib', '1.2.11'), +] + +withsampledata = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-GCC-11.2.0.eb b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-GCC-11.2.0.eb new file mode 100644 index 000000000000..8260f1d0d1fe --- /dev/null +++ b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'tRNAscan-SE' +version = '2.0.12' + +homepage = 'https://github.com/UCSC-LoweLab/tRNAscan-SE' +description = "A program for detection of tRNA genes" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/UCSC-LoweLab/tRNAscan-SE/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b255c2c5e0255381194166f857ab2ea21c55aa7de409e201333ba615aa3dc61'] + +dependencies = [ + ('Perl', '5.34.0'), +] + +fix_perl_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/covels-SE', 'bin/tRNAscan-SE'], + 'dirs': ['include', 'lib/tRNAscan-SE'], +} + +sanity_check_commands = ["tRNAscan-SE --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tantan/tantan-40-GCC-11.2.0.eb b/easybuild/easyconfigs/t/tantan/tantan-40-GCC-11.2.0.eb new file mode 100644 index 000000000000..b6064225cd3c --- /dev/null +++ b/easybuild/easyconfigs/t/tantan/tantan-40-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'tantan' +version = '40' + +homepage = 'https://gitlab.com/mcfrith/tantan' +description = "tantan identifies simple regions / low complexity / tandem repeats in DNA or protein sequences" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/mcfrith/tantan/-/archive/%(version)s/'] +sources = ['tantan-%(version)s.tar.gz'] +checksums = ['61303c88cdf41fa5bcb5f77f674b4fac2a9bc0e4c9abb3b9d75af35c47162240'] + +skipsteps = ['configure'] + +installopts = "prefix=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/tantan'], + 'dirs': [], +} + +sanity_check_commands = ["tantan --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/task-spooler/task-spooler-1.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/task-spooler/task-spooler-1.0.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..89e79d4d650a --- /dev/null +++ b/easybuild/easyconfigs/t/task-spooler/task-spooler-1.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'task-spooler' +version = '1.0.2' + +homepage = 'http://viric.name/soft/ts/' +description = 'task spooler is a Unix batch system where the tasks spooled run one after the other.' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [homepage] +sources = ['ts-%(version)s.tar.gz'] +checksums = ['f73452aed80e2f9a7764883e9353aa7f40e65d3c199ad1f3be60fd58b58eafec'] + +builddependencies = [('binutils', '2.38')] + +skipsteps = ['configure'] +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/ts'], + 'dirs': [] +} + +sanity_check_commands = ["ts -h"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..27ca241e481d --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.24.01' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5659a1b973b1f947e36238cb17a00210ac4cff3b496f8f851acd77172ab91d7e'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('ncurses', '6.3')] + +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + +sanity_check_paths = { + 'files': ["bin/tcsh", "bin/csh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..f2a441e8129b --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.24.07' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['74e4e9805cbd9413ed34b4ffa1d72fc8d0ef81a5b79476854091416ce9336995'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('ncurses', '6.3')] + +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + +sanity_check_paths = { + 'files': ["bin/tcsh", "bin/csh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.5.1-foss-2022a.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.5.1-foss-2022a.eb new file mode 100644 index 000000000000..8a5ba42a91c0 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.5.1-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'tensorboardX' +version = '2.5.1' + +homepage = 'https://github.com/lanpa/tensorboardX' +description = "Tensorboard for PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, +# but TensorFlow is not needed to use tensorboardX +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'checksums': ['ea85a3446f22ce8a917fe4fa4d8a7a96222ef84ac835267d038c34bb99f6d61b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.16.0-foss-2021b.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.16.0-foss-2021b.eb new file mode 100644 index 000000000000..05bea7aff462 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.16.0-foss-2021b.eb @@ -0,0 +1,46 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Dugan Witherick (University of Warwick) +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'PythonBundle' + +name = 'tensorflow-probability' +version = '0.16.0' + +homepage = 'https://www.tensorflow.org/probability' +description = """TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('TensorFlow', '2.8.4'), + ('dm-tree', '0.1.6'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + (name, version, { + 'installopts': '--install-option="--release"', + 'modulename': 'tensorflow_probability', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/probability/archive/'], + 'checksums': ['0c8b8bb00403af56979f5c5cfda6fb3ea6f3e5efc4530ab66889415d230ebd81'], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tesseract/tesseract-5.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tesseract/tesseract-5.3.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..9bf893a4d12f --- /dev/null +++ b/easybuild/easyconfigs/t/tesseract/tesseract-5.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'tesseract' +version = '5.3.0' + +homepage = 'https://github.com/tesseract-ocr/tesseract' +description = """Tesseract is an optical character recognition engine""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'tesseract-ocr' +source_urls = [GITHUB_SOURCE] +sources = [ + '%(version)s.tar.gz', + { + 'source_urls': ['https://github.com/tesseract-ocr/tessdata_best/archive/'], + 'download_filename': '4.1.0.tar.gz', + 'filename': 'tessdata_best-4.1.0.tar.gz', + }, +] +checksums = [ + {'5.3.0.tar.gz': '7e70870f8341e5ea228af2836ce79a36eefa11b01b56177b4a8997f330c014b8'}, + {'tessdata_best-4.1.0.tar.gz': 'bb05b738298ae73e7130e2913ed002b49d94cd1cea508e63be1928fe47770b32'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0') +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('Leptonica', '1.83.0'), + ('libarchive', '3.6.1'), + ('ICU', '71.1'), + ('fontconfig', '2.14.0'), + ('GLib', '2.72.1'), + ('cairo', '1.17.4'), + ('Pango', '1.50.7'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +postinstallcmds = [ + 'rm %(builddir)s/tessdata_best-4.1.0/configs', + 'rm -rf %(builddir)s/tessdata_best-4.1.0/tessconfigs', + 'mv %(builddir)s/tessdata_best-4.1.0/* %(installdir)s/share/tessdata' +] + +modextrapaths = { + 'TESSDATA_PREFIX': 'share/tessdata', +} + +sanity_check_paths = { + 'files': ['bin/tesseract', 'lib/libtesseract.a', 'lib/libtesseract.%s' % SHLIB_EXT], + 'dirs': ['share/tessdata', 'include/tesseract'] +} + +sanity_check_commands = ['tesseract --version', 'tesseract --list-langs'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/texinfo/texinfo-6.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/texinfo/texinfo-6.8-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..c5b14ad74b1a --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-6.8-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '6.8' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4'] + +builddependencies = [('binutils', '2.37')] + +osdependencies = ['texlive'] + +preinstallopts = "make TEXMF=%(installdir)s/texmf install-tex && " + +# This will overwrite a users $TEXMFHOME so this module is best used as a build dependency +modextravars = {'TEXMFHOME': '%(installdir)s/texmf'} +modloadmsg = "\n\nWARNING: This texinfo module has (re)defined the value for the environment variable $TEXMFHOME.\n" +modloadmsg += "If you use a custom texmf directory (such as ~/texmf) you should copy files found in the\n" +modloadmsg += "new $TEXMFHOME to your custom directory and reset the value of $TEXMFHOME to point to that space:\n" +modloadmsg += "\tcp -r $TEXMFHOME/* /path/to/your/texmf\n" +modloadmsg += "\texport TEXMFHOME=/path/to/your/texmf\n\n" + +sanity_check_paths = { + 'files': [ + 'texmf/tex/texinfo/texinfo.tex', + 'bin/install-info', 'bin/makeinfo', 'bin/pdftexi2dvi', 'bin/pod2texi', 'bin/texi2pdf' + ], + 'dirs': ['bin', 'share', 'texmf'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texinfo/texinfo-7.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/texinfo/texinfo-7.0.2-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..ee3c6d3e6c82 --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-7.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '7.0.2' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['f211ec3261383e1a89e4555a93b9d017fe807b9c3992fb2dff4871dae6da54ad'] + +builddependencies = [('binutils', '2.38')] + +osdependencies = ['texlive'] + +preinstallopts = "make TEXMF=%(installdir)s/texmf install-tex && " + +# This will overwrite a users $TEXMFHOME so this module is best used as a build dependency +modextravars = {'TEXMFHOME': '%(installdir)s/texmf'} +modloadmsg = "\n\nWARNING: This texinfo module has (re)defined the value for the environment variable $TEXMFHOME.\n" +modloadmsg += "If you use a custom texmf directory (such as ~/texmf) you should copy files found in the\n" +modloadmsg += "new $TEXMFHOME to your custom directory and reset the value of $TEXMFHOME to point to that space:\n" +modloadmsg += "\tcp -r $TEXMFHOME/* /path/to/your/texmf\n" +modloadmsg += "\texport TEXMFHOME=/path/to/your/texmf\n\n" + +sanity_check_paths = { + 'files': [ + 'texmf/tex/texinfo/texinfo.tex', + 'bin/install-info', 'bin/makeinfo', 'bin/pdftexi2dvi', 'bin/pod2texi', 'bin/texi2pdf' + ], + 'dirs': ['bin', 'share', 'texmf'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/thirdorder/thirdorder-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/t/thirdorder/thirdorder-1.1.1-foss-2022a.eb new file mode 100644 index 000000000000..9ef61b93414b --- /dev/null +++ b/easybuild/easyconfigs/t/thirdorder/thirdorder-1.1.1-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' +name = 'thirdorder' +version = '1.1.1' + +homepage = 'https://bitbucket.org/sousaw/thirdorder/' +description = """A Python script to help create input files for computing anhamonic +interatomic force constants, harnessing the symmetries of the system to minimize the +number of required DFT calculations. A second mode of operation allows the user to +build the third-order IFC matrix from the results of those runs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('spglib', '2.0.2'), +] + +source_urls = ['https://bitbucket.org/sousaw/thirdorder/get/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f95e6371d78231d68028ec4e28d1d45ce60b1093e64f87e4b0cdb259375cd0d4'] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# Thirdorder need to be built using Cython and it needs to have a version in setup.py +preinstallopts = r'sed -i -e "s/^USE_CYTHON.*/USE_CYTHON=True/" ' +preinstallopts += r'-e "s/^\(setup(.*\))$/\1, version=\"%(version)s\")/" setup.py && ' + +options = {'modulename': 'thirdorder_core'} + +postinstallcmds = ["mkdir %(installdir)s/bin && cp thirdorder_*.py %(installdir)s/bin/"] + +sanity_check_paths = { + 'files': ['bin/thirdorder_%s.py' % x for x in ["castep", "espresso", "vasp"]], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d0b426f3ff87 --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.38')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..e241a9de1bce --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.39')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..de3e3e02e01f --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.3a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('make', '4.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.3'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/toil/toil-5.8.0-foss-2021a.eb b/easybuild/easyconfigs/t/toil/toil-5.8.0-foss-2021a.eb new file mode 100644 index 000000000000..55bde0edd839 --- /dev/null +++ b/easybuild/easyconfigs/t/toil/toil-5.8.0-foss-2021a.eb @@ -0,0 +1,126 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +easyblock = 'PythonBundle' + +name = 'toil' +version = '5.8.0' + +homepage = 'https://github.com/DataBiosphere/toil' +description = """A scalable, efficient, cross-platform (Linux/macOS) and easy-to-use workflow engine in pure Python.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('dill', '0.3.4'), + # For extras 'cwl' + ('cwltool', '3.1.20221008225030'), + ('PyYAML', '5.4.1'), + ('boto3', '1.20.13'), +] + +use_pip = True + +# TODO add pymesos, wes_client ? +exts_list = [ + ('typing-extensions', '4.4.0', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('addict', '2.4.0', { + 'checksums': ['b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494'], + }), + ('blessed', '1.19.1', { + 'checksums': ['9a0d099695bf621d4680dd6c73f6ad547f6a3442fbdbe80c4b1daa1edbc492fc'], + }), + ('prefixed', '0.4.2', { + 'checksums': ['81f4e3bc15046e772713ab80f08690e61c52cceb20141425754eab5b00b130c9'], + }), + ('enlighten', '1.11.1', { + 'checksums': ['57abd98a3d3f83484ef9f91f9255f4d23c8b3097ecdb647c7b9b0049d600b7f8'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('docker', '5.0.3', { + 'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'], + }), + ('py-tes', '0.4.2', { + 'modulename': 'tes', + 'checksums': ['f6926cd59b7dfc8e37840955bf1cc7c43ad4d99ba5eae100b6156c918617472c'], + }), + # extra cwl requirements + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('galaxy-containers', '22.1.1', { + 'modulename': 'galaxy.containers', + 'checksums': ['41e0003b18e580175d443cf21e9c2d2eb21a265c012164f7255cdb0c03a76334'], + }), + ('bleach', '5.0.1', { + 'checksums': ['0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c'], + }), + ('boltons', '21.0.0', { + 'checksums': ['65e70a79a731a7fe6e98592ecfb5ccf2115873d01dbc576079874629e5c90f13'], + }), + ('importlib-resources', '5.10.0', { + 'modulename': 'importlib_resources', + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668'], + }), + ('pycryptodome', '3.15.0', { + 'modulename': 'Crypto', + 'checksums': ['9135dddad504592bcc18b0d2d95ce86c3a5ea87ec6447ef25cfedea12d6018b8'], + }), + ('repoze.lru', '0.7', { + 'checksums': ['0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77'], + }), + ('Routes', '2.5.1', { + 'modulename': 'routes', + 'checksums': ['b6346459a15f0cbab01a45a90c3d25caf980d4733d628b4cc1952b865125d053'], + }), + ('zipstream-new', '1.1.8', { + 'modulename': 'zipstream', + 'checksums': ['b031fe181b94e51678389d26b174bc76382605a078d7d5d8f5beae083f111c76'], + }), + ('PyPubSub', '4.0.3', { + 'modulename': 'pubsub', + 'source_tmpl': 'Pypubsub-%(version)s-py3-none-any.whl', + 'checksums': ['7f716bae9388afe01ff82b264ba8a96a8ae78b42bb1f114f2716ca8f9e404e2a'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('galaxy-util', '22.1.1', { + 'modulename': 'galaxy.util', + 'checksums': ['70c1b79f2d2da64a7402f0dee70b4e4975ce49e14d6fa3a66d2e36f5ceb2bacf'], + }), + ('galaxy-tool-util', '22.1.4', { + 'modulename': 'galaxy.tool_util', + 'checksums': ['03e6ac9949c1422d3f872ffa7983180d6af07b5358ec4ed3b97180ebf43261d4'], + }), + (name, version, { + 'modulename': name, + 'use_pip_extras': 'cwl', + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5eb9b968ddfa7badd81287bfccd3ae38d62ad4b4020e911c1936d393ae1d25a2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/toil', 'bin/toil-cwl-runner'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["toil --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.12.1-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..ea5fce7f67ca --- /dev/null +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.12.1-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'tokenizers' +version = '0.12.1' + +homepage = 'https://github.com/huggingface/tokenizers' +description = "Fast State-of-the-Art Tokenizers optimized for Research and Production" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['070746f86efa6c873db341e55cf17bb5e7bdd5450330ca8eca542f5c3dab2c66'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Rust', '1.60.0'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/torchdata/torchdata-0.3.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/torchdata/torchdata-0.3.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb new file mode 100644 index 000000000000..5995d9c3e6f9 --- /dev/null +++ b/easybuild/easyconfigs/t/torchdata/torchdata-0.3.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'torchdata' +version = '0.3.0' +local_pytorch_version = '1.11.0' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/data' +description = """ +TorchData is a prototype library of common modular data loading primitives for +easily constructing flexible and performant data pipelines." +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'checksums': ['ac36188bf133cf5f1041a28ccb3ee82ba52d4b5d99617be37d64d740acd6cfd4'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..30864489390d --- /dev/null +++ b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'torchsampler' +version = '0.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ufoym/imbalanced-dataset-sampler' +description = """ +A (PyTorch) imbalanced dataset sampler for oversampling low classes and +undersampling high frequent ones.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), +] + +exts_list = [ + (name, version, { + 'checksums': ['6503acf0ff76888905595006a45c2a2fa017f7a13fffbfcddb3827ef8226ea78'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a.eb b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a.eb new file mode 100644 index 000000000000..3b4a760bfbc9 --- /dev/null +++ b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'torchsampler' +version = '0.1.2' + +homepage = 'https://github.com/ufoym/imbalanced-dataset-sampler' +description = """ +A (PyTorch) imbalanced dataset sampler for oversampling low classes and +undersampling high frequent ones.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), +] + +exts_list = [ + (name, version, { + 'checksums': ['6503acf0ff76888905595006a45c2a2fa017f7a13fffbfcddb3827ef8226ea78'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 000000000000..4a6496524393 --- /dev/null +++ b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'torchtext' +version = '0.14.1' +local_pytorch_version = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/text' +description = "Data loaders and abstractions for text and NLP" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# Sources are no longer available in PyPI, it only has wheels +source_urls = ['https://github.com/pytorch/text/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['torchtext-0.14.1_deps_fix.patch'] +checksums = [ + {'v0.14.1.tar.gz': 'fd1ef3da7d9c20408c740f7dc7d02ad52a6048b46368355a1a7326d3bc4f2e63'}, + {'torchtext-0.14.1_deps_fix.patch': '3830747bfb3624a94efa8c8132b1764277b38f3b80cc9f452fba2475465d7ec1'}, +] + +builddependencies = [ + ('RE2', '2022-06-01'), + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SentencePiece', '0.1.97'), + ('tqdm', '4.64.0'), + ('PyTorch', local_pytorch_version), + ('double-conversion', '3.2.0'), + ('utf8proc', '2.7.0'), +] + +download_dep_fail = True, +use_pip = True +sanity_pip_check = True, + +# Disable bundled libraries to use those from EB: RE2, SentencePiece +preinstallopts = "sed -i '/third_party/d;/^_init_submodule/d' setup.py && " + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1_deps_fix.patch b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1_deps_fix.patch new file mode 100644 index 000000000000..1212651426e4 --- /dev/null +++ b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1_deps_fix.patch @@ -0,0 +1,54 @@ +The error "string_view has not been declared in std" appears when not using C++17 +diff -u text/CMakeLists.txt.orig text/CMakeLists.txt +--- text/CMakeLists.txt.orig 2023-03-08 14:33:35.618931003 +0100 ++++ text/CMakeLists.txt 2023-03-08 14:35:03.169072623 +0100 +@@ -24,10 +24,10 @@ + if(env_cxx_standard GREATER -1) + message( + WARNING "C++ standard version definition detected in environment variable." +- "PyTorch requires -std=c++14. Please remove -std=c++ settings in your environment.") ++ "PyTorch requires -std=c++17. Please remove -std=c++ settings in your environment.") + endif() + +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_C_STANDARD 11) + + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +@@ -63,5 +63,10 @@ + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_COMPILED_WITH_CXX_ABI} -Wall ${TORCH_CXX_FLAGS}") + +-add_subdirectory(third_party) ++find_package(double-conversion) ++find_package(re2) ++find_library(SENTENCEPIECE_LIBRARY sentencepiece PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(SENTENCEPIECE_TRAIN_LIBRARY sentencepiece_train PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(UTF8PROC_LIBRARY utf8proc PATHS $ENV{UTF8PROC}/lib64) ++ + add_subdirectory(torchtext/csrc) +diff -u text/torchtext/csrc/CMakeLists.txt.orig text/torchtext/csrc/CMakeLists.txt +--- text/torchtext/csrc/CMakeLists.txt.orig 2023-03-08 14:11:53.387582628 +0100 ++++ text/torchtext/csrc/CMakeLists.txt 2023-03-08 14:16:11.159140070 +0100 +@@ -18,10 +18,6 @@ + set( + LIBTORCHTEXT_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) +@@ -119,10 +115,6 @@ + set( + EXTENSION_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a.eb new file mode 100644 index 000000000000..26cf963f6dad --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'torchvision' +version = '0.13.1' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c32fab734e62c7744dadeb82f7510ff58cc3bca1189d17b16aa99b08afc42249'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('Pillow-SIMD', '9.2.0'), + ('PyTorch', '1.12.0'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.64.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.64.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..9d126d81da5a --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.64.1-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.64.1' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..3391b0d006e9 --- /dev/null +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated by: +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'MakeCp' + +name = 'trimAl' +version = '1.4.1' + +homepage = 'https://github.com/scapella/trimal' +description = """EVB, FEP and LIE simulator.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'scapella' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] + +builddependencies = [ + ('binutils', '2.37'), + +] +start_dir = 'source' + +files_to_copy = [(['trimal', 'readal', 'statal'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/trimal', 'bin/readal', 'bin/statal'], + 'dirs': [] +} + +sanity_check_commands = ["trimal -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..8da2ca94e6c9 --- /dev/null +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated by: +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'MakeCp' + +name = 'trimAl' +version = '1.4.1' + +homepage = 'https://github.com/scapella/trimal' +description = """EVB, FEP and LIE simulator.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'scapella' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] + +builddependencies = [ + ('binutils', '2.38'), + +] +start_dir = 'source' + +files_to_copy = [(['trimal', 'readal', 'statal'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/trimal', 'bin/readal', 'bin/statal'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/trimesh/trimesh-3.17.1-foss-2022a.eb b/easybuild/easyconfigs/t/trimesh/trimesh-3.17.1-foss-2022a.eb new file mode 100644 index 000000000000..ad68fc7a786f --- /dev/null +++ b/easybuild/easyconfigs/t/trimesh/trimesh-3.17.1-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'trimesh' +version = '3.17.1' + +homepage = 'https://trimsh.org/' +description = """Trimesh is a Python (2.7- 3.3+) library for loading and using triangular meshes with an emphasis on +watertight meshes. The goal of the library is to provide a fully featured Trimesh object which allows for easy +manipulation and analysis, in the style of the excellent Polygon object in the Shapely library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['025bb2fa3a2e87bdd6873f11db45a7ca19216f2f8b6aed29140fca57e32c298e'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy required +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.4.0-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..ea51e13ece0f --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.4.0-GCCcore-10.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.4.0' + +homepage = 'https://github.com/python/typing/blob/master/typing_extensions/README.rst' +description = 'Typing Extensions - Backported and Experimental Type Hints for Python' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.0.0.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100644 index 000000000000..bfe211063d3b --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,57 @@ +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.0.0_link_against_existing_UCC_libs.patch', + '%(name)s-%(version)s_cuda_12_mem_ops.patch', +] +checksums = [ + {'v1.1.0.tar.gz': '74c8ba75037b5bd88cb703e8c8ae55639af3fecfd4428912a433c010c97b4df7'}, + {'UCC-CUDA-1.0.0_link_against_existing_UCC_libs.patch': + '9fa11cf6779174f4e9048df5812096e4261e1769d465cc7f34a6354398876856'}, + {'UCC-CUDA-1.1.0_cuda_12_mem_ops.patch': 'fc3ea1487d29dc626db2363ef5a79e7f0906f6a7507a363fa6167a812b143eb6'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', '1.1.0'), + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.16.2', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0_cuda_12_mem_ops.patch b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0_cuda_12_mem_ops.patch new file mode 100644 index 000000000000..36212b970db1 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0_cuda_12_mem_ops.patch @@ -0,0 +1,99 @@ +Backported fix for CUDA 12 https://github.com/openucx/ucc/pull/700 +Essentially just removes the deprecated checks for CUDA MEM OPS as they are required in CUDA 12 +author: micketeer@gmail.com +--- src/components/ec/cuda/ec_cuda.c.orig 2023-02-02 18:44:36.085221084 +0000 ++++ src/components/ec/cuda/ec_cuda.c 2023-02-02 18:47:23.726819030 +0000 +@@ -205,11 +205,10 @@ + { + ucc_ec_cuda_config_t *cfg = EC_CUDA_CONFIG; + ucc_status_t status; +- int device, num_devices, attr; ++ int device, num_devices; + CUdevice cu_dev; + CUresult cu_st; + cudaError_t cuda_st; +- const char *cu_err_st_str; + + ucc_ec_cuda.stream = NULL; + ucc_ec_cuda.stream_initialized = 0; +@@ -272,9 +271,14 @@ + } else { + ucc_ec_cuda.strm_task_mode = UCC_EC_CUDA_TASK_MEM_OPS; + ucc_ec_cuda.post_strm_task = ucc_ec_cuda_post_driver_stream_task; ++#if CUDA_VERSION < 12000 ++ CUresult cu_st; ++ CUdevice cu_dev; ++ int attr; + + cu_st = cuCtxGetDevice(&cu_dev); + if (cu_st != CUDA_SUCCESS){ ++ const char *cu_err_st_str; + cuGetErrorString(cu_st, &cu_err_st_str); + ec_debug(&ucc_ec_cuda.super, "cuCtxGetDevice() failed: %s", + cu_err_st_str); +@@ -297,6 +301,7 @@ + "CUDA MEM OPS are not supported or disabled"); + return UCC_ERR_NOT_SUPPORTED; + } ++#endif + } + ucc_ec_cuda.task_strm_type = cfg->task_strm_type; + ucc_spinlock_init(&ucc_ec_cuda.init_spinlock, 0); +--- src/components/tl/nccl/tl_nccl_context.c.orig 2023-02-03 15:17:09.358881676 +0000 ++++ src/components/tl/nccl/tl_nccl_context.c 2023-02-03 17:04:31.680185749 +0000 +@@ -101,13 +101,14 @@ + ucc_derived_of(config, ucc_tl_nccl_context_config_t); + int mem_ops_attr = 0; + ucc_status_t status; +- CUresult cu_st; +- CUdevice cu_dev; + + UCC_CLASS_CALL_SUPER_INIT(ucc_tl_context_t, &tl_nccl_config->super, + params->context); + memcpy(&self->cfg, tl_nccl_config, sizeof(*tl_nccl_config)); + if (self->cfg.sync_type != UCC_TL_NCCL_COMPLETION_SYNC_TYPE_EVENT) { ++#if CUDA_VERSION < 12000 ++ CUresult cu_st; ++ CUdevice cu_dev; + cu_st = cuCtxGetDevice(&cu_dev); + if (cu_st == CUDA_SUCCESS) { + cu_st = cuDeviceGetAttribute(&mem_ops_attr, +@@ -116,6 +117,9 @@ + } else { + tl_info(self->super.super.lib, "failed to get cuda device"); + } ++#else ++ mem_ops_attr = 1; ++#endif + if (mem_ops_attr == 0) { + if (self->cfg.sync_type == UCC_TL_NCCL_COMPLETION_SYNC_TYPE_MEMOPS) { + tl_error(self->super.super.lib, "memops not supported"); +--- config/m4/cuda.m4.orig 2023-02-03 17:04:44.367155175 +0000 ++++ config/m4/cuda.m4 2023-02-03 17:06:26.110909987 +0000 +@@ -15,6 +15,11 @@ + ARCH10="-gencode=arch=compute_75,code=sm_75" + ARCH11="-gencode=arch=compute_80,code=sm_80 \ + -gencode=arch=compute_80,code=compute_80" ++ARCH111="-gencode=arch=compute_86,code=sm_86 \ ++-gencode=arch=compute_86,code=compute_86" ++ARCH120="-gencode=arch=compute_90,code=sm_90 \ ++-gencode=arch=compute_90,code=compute_90" ++ + + AC_DEFUN([CHECK_CUDA],[ + AS_IF([test "x$cuda_checked" != "xyes"], +@@ -104,8 +109,12 @@ + [NVCC_CFLAGS="$NVCC_CFLAGS -O3 -g -DNDEBUG"]) + AS_IF([test "x$cuda_happy" = "xyes"], + [AS_IF([test "x$with_nvcc_gencode" = "xdefault"], +- [AS_IF([test $CUDA_MAJOR_VERSION -eq 11], +- [NVCC_ARCH="${ARCH8} ${ARCH9} ${ARCH10} ${ARCH11}"])], ++ [AS_IF([test $CUDA_MAJOR_VERSION -eq 12], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110} ${ARCH111} ${ARCH120}"], ++ [AS_IF([test $CUDA_MAJOR_VERSION -eq 11], ++ [AS_IF([test $CUDA_MINOR_VERSION -lt 1], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110}"], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110} ${ARCH111}"])])])], + [NVCC_ARCH="$with_nvcc_gencode"]) + AC_SUBST([NVCC_ARCH], ["$NVCC_ARCH"])]) + LDFLAGS="$save_LDFLAGS" diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..8c350bb641b0 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.1.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-%(version)s-multiple_component_paths.patch'] +checksums = [ + {'v1.1.0.tar.gz': '74c8ba75037b5bd88cb703e8c8ae55639af3fecfd4428912a433c010c97b4df7'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.13.1'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.1.0-multiple_component_paths.patch b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-multiple_component_paths.patch new file mode 100644 index 000000000000..0e13578b55fe --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-multiple_component_paths.patch @@ -0,0 +1,46 @@ +Adds support for multiple extra components paths to UCC +Was necessary to add, as they broke the logic we used for UCC_COMPONEN_PATH in 1.1.0, +then removed it completely in 1.2.0. +This patch also removes the need to copy over all the other plugins, thus supporting multiple external components. + +author: micketeer@gmail.com + +diff -ru ucc-1.1.0.orig/src/utils/ucc_component.c ucc-1.1.0.fixed/src/utils/ucc_component.c +--- ucc-1.1.0.orig/src/utils/ucc_component.c 2023-04-06 15:16:18.341729973 +0200 ++++ ucc-1.1.0.fixed/src/utils/ucc_component.c 2023-04-08 13:42:28.448319486 +0200 +@@ -128,6 +128,27 @@ + return UCC_ERR_INVALID_PARAM; + } + ++ char *extra_component_path = getenv("EB_UCC_EXTRA_COMPONENT_PATH"); ++ if (extra_component_path) { ++ // Add extra room for extra paths, braces and comma (+3): ++ pattern_size = ++ strlen(ucc_global_config.component_path) + strlen(framework_name) + 16 + strlen(extra_component_path) + 3; ++ full_pattern = (char *)ucc_malloc(pattern_size, "full_pattern"); ++ if (!full_pattern) { ++ ucc_error("failed to allocate %zd bytes for full_pattern", ++ pattern_size); ++ return UCC_ERR_NO_MEMORY; ++ } ++ ucc_snprintf_safe(full_pattern, pattern_size, "{%s,%s}/libucc_%s_*.so", ++ extra_component_path, ucc_global_config.component_path, framework_name); ++ // Replace ; typically used in PATHs variables with , for glob ++ char *current_pos = strchr(full_pattern, ';'); ++ while (current_pos) { ++ *current_pos = ','; ++ current_pos = strchr(current_pos, ';'); ++ } ++ glob(full_pattern, GLOB_BRACE, NULL, &globbuf); ++ } else { + pattern_size = + strlen(ucc_global_config.component_path) + strlen(framework_name) + 16; + full_pattern = (char *)ucc_malloc(pattern_size, "full_pattern"); +@@ -139,6 +160,7 @@ + ucc_snprintf_safe(full_pattern, pattern_size, "%s/libucc_%s_*.so", + ucc_global_config.component_path, framework_name); + glob(full_pattern, 0, NULL, &globbuf); ++ } + ucc_free(full_pattern); + n_loaded = 0; + diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb index ce3211904db0..ac5302556e36 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb @@ -16,14 +16,14 @@ toolchain = {'name': 'GCCcore', 'version': '11.2.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] -sources = ['ucx-%(version)s.tar.gz'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] patches = [ '%(name)s-%(version)s_link_against_existing_UCX_libs.patch', ] checksums = [ - 'b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647', # ucx-1.11.0.tar.gz - # UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch - 'e61328e95e96dae1754e9ec4c26accc4695cc8d83712bd109a93589e0da35ab3', + {'ucx-1.11.0.tar.gz': 'b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch index 765d880238ef..5020e1af7345 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch @@ -1,9 +1,9 @@ Make CUDA/ROCm plugins link against the existing ucs/ucm/uct libraries. Åke Sandgren, Mikael Öhman 2021-08-09 -diff -ru ucx-1.11.0.orig/configure.ac ucx-1.11.0/configure.ac ---- ucx-1.11.0.orig/configure.ac 2021-06-26 02:05:59.632558898 +0200 -+++ ucx-1.11.0/configure.ac 2021-06-26 02:08:39.330081752 +0200 +diff -ru ucx-1.11.2.orig/configure.ac ucx-1.11.2/configure.ac +--- ucx-1.11.2.orig/configure.ac 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/configure.ac 2023-01-03 10:29:43.816777145 +0100 @@ -29,13 +29,13 @@ AC_GNU_SOURCE AC_CONFIG_HEADERS([config.h]) @@ -25,9 +25,9 @@ diff -ru ucx-1.11.0.orig/configure.ac ucx-1.11.0/configure.ac AH_TOP([ #ifndef UCX_CONFIG_H -diff -ru ucx-1.11.0.orig/src/ucm/cuda/Makefile.am ucx-1.11.0/src/ucm/cuda/Makefile.am ---- ucx-1.11.0.orig/src/ucm/cuda/Makefile.am 2021-08-09 19:14:56.904346018 +0200 -+++ ucx-1.11.0/src/ucm/cuda/Makefile.am 2021-08-09 19:15:22.472286262 +0200 +diff -ru ucx-1.11.2.orig/src/ucm/cuda/Makefile.am ucx-1.11.2/src/ucm/cuda/Makefile.am +--- ucx-1.11.2.orig/src/ucm/cuda/Makefile.am 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/ucm/cuda/Makefile.am 2023-01-03 10:29:43.816777145 +0100 @@ -9,7 +9,7 @@ module_LTLIBRARIES = libucm_cuda.la libucm_cuda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) @@ -37,9 +37,21 @@ diff -ru ucx-1.11.0.orig/src/ucm/cuda/Makefile.am ucx-1.11.0/src/ucm/cuda/Makefi libucm_cuda_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \ $(patsubst %, -Xlinker %, $(CUDA_LDFLAGS)) \ -version-info $(SOVERSION) -diff -ru ucx-1.11.0.orig/src/uct/cuda/Makefile.am ucx-1.11.0/src/uct/cuda/Makefile.am ---- ucx-1.11.0.orig/src/uct/cuda/gdr_copy/Makefile.am 2021-08-09 19:16:59.146060323 +0200 -+++ ucx-1.11.0/src/uct/cuda/gdr_copy/Makefile.am 2021-08-09 19:17:27.915993083 +0200 +diff -ru ucx-1.11.2.orig/src/ucm/rocm/Makefile.am ucx-1.11.2/src/ucm/rocm/Makefile.am +--- ucx-1.11.2.orig/src/ucm/rocm/Makefile.am 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/ucm/rocm/Makefile.am 2023-01-03 10:32:04.931602717 +0100 +@@ -10,7 +10,7 @@ + module_LTLIBRARIES = libucm_rocm.la + libucm_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS) + libucm_rocm_la_CFLAGS = $(BASE_CFLAGS) $(ROCM_CFLAGS) +-libucm_rocm_la_LIBADD = ../libucm.la ++libucm_rocm_la_LIBADD = -lucm + libucm_rocm_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \ + $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \ + $(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \ +diff -ru ucx-1.11.2.orig/src/uct/cuda/gdr_copy/Makefile.am ucx-1.11.2/src/uct/cuda/gdr_copy/Makefile.am +--- ucx-1.11.2.orig/src/uct/cuda/gdr_copy/Makefile.am 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/uct/cuda/gdr_copy/Makefile.am 2023-01-03 10:29:43.816777145 +0100 @@ -10,7 +10,7 @@ libuct_cuda_gdrcopy_la_CFLAGS = $(BASE_CFLAGS) libuct_cuda_gdrcopy_la_LDFLAGS = $(CUDA_LDFLAGS) $(GDR_COPY_LDFLAGS) \ @@ -48,10 +60,10 @@ diff -ru ucx-1.11.0.orig/src/uct/cuda/Makefile.am ucx-1.11.0/src/uct/cuda/Makefi +libuct_cuda_gdrcopy_la_LIBADD = -lucs \ $(top_builddir)/src/uct/cuda/libuct_cuda.la \ $(CUDA_LIBS) - -diff -ru ucx-1.11.0.orig/src/uct/cuda/gdr_copy/Makefile.am ucx-1.11.0/src/uct/cuda/gdr_copy/Makefile.am ---- ucx-1.11.0.orig/src/uct/cuda/Makefile.am 2021-08-09 19:16:06.472183427 +0200 -+++ ucx-1.11.0/src/uct/cuda/Makefile.am 2021-08-09 19:16:38.201109272 +0200 + +diff -ru ucx-1.11.2.orig/src/uct/cuda/Makefile.am ucx-1.11.2/src/uct/cuda/Makefile.am +--- ucx-1.11.2.orig/src/uct/cuda/Makefile.am 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/uct/cuda/Makefile.am 2023-01-03 10:29:43.816777145 +0100 @@ -11,8 +11,8 @@ libuct_cuda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) libuct_cuda_la_CFLAGS = $(BASE_CFLAGS) $(CUDA_CFLAGS) @@ -63,4 +75,16 @@ diff -ru ucx-1.11.0.orig/src/uct/cuda/gdr_copy/Makefile.am ucx-1.11.0/src/uct/cu $(CUDA_LIBS) noinst_HEADERS = \ - +diff -ru ucx-1.11.2.orig/src/uct/rocm/Makefile.am ucx-1.11.2/src/uct/rocm/Makefile.am +--- ucx-1.11.2.orig/src/uct/rocm/Makefile.am 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/Makefile.am 2023-01-03 10:31:38.195822390 +0100 +@@ -10,8 +10,7 @@ + module_LTLIBRARIES = libuct_rocm.la + libuct_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS) + libuct_rocm_la_CFLAGS = $(BASE_CFLAGS) +-libuct_rocm_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ +- $(top_builddir)/src/uct/libuct.la ++libuct_rocm_la_LIBADD = -lucs -luct + libuct_rocm_la_LDFLAGS = $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \ + $(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \ + $(patsubst %, -Xlinker %, --enable-new-dtags) \ diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb index d5f4602d19fa..461a01a7509d 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb @@ -16,14 +16,14 @@ toolchain = {'name': 'GCCcore', 'version': '11.2.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] -sources = ['ucx-%(version)s.tar.gz'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] patches = [ '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', ] checksums = [ - 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df', # ucx-1.11.2.tar.gz - # UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch - 'e61328e95e96dae1754e9ec4c26accc4695cc8d83712bd109a93589e0da35ab3', + {'ucx-1.11.2.tar.gz': 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.5.2.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.5.2.eb new file mode 100644 index 000000000000..3748b1ba66a6 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.5.2.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.11.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.11.2.tar.gz': 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('CUDA', '11.5.2', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb index 0fb175ca066e..29b645b0e0a0 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -16,14 +16,14 @@ toolchain = {'name': 'GCCcore', 'version': '11.3.0'} toolchainopts = {'pic': True} source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] -sources = ['ucx-%(version)s.tar.gz'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] patches = [ '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', ] checksums = [ - '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e', # ucx-1.12.1.tar.gz - # UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch - 'e61328e95e96dae1754e9ec4c26accc4695cc8d83712bd109a93589e0da35ab3', + {'ucx-1.12.1.tar.gz': '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, ] builddependencies = [ diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-12.0.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100755 index 000000000000..fc291f60b800 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + ('efc37829b68e131d2acc82a3fd4334bfd611156a756837ffeb650ab9a9dd3828', + '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'), # ucx-1.13.1.tar.gz + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', '1.13.1'), + ('CUDA', '12.0.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2-GCCcore-11.2.0-ROCm-4.5.0.eb b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2-GCCcore-11.2.0-ROCm-4.5.0.eb new file mode 100644 index 000000000000..fda3009ae001 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2-GCCcore-11.2.0-ROCm-4.5.0.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-ROCm' +version = '1.11.2' +_rocm_version = '4.5.0' +versionsuffix = '-ROCm-%s' % _rocm_version + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX ROCm support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + {'name': 'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch', 'alt_location': 'UCX-CUDA'}, + 'UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch', +] +checksums = [ + {'ucx-1.11.2.tar.gz': 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, + {'UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch': + 'a57ce314f90b170bbe6eb98d938b44ca1bb7285dbfc5891bbff56b66009ff9f9'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('ROCm', _rocm_version), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch new file mode 100644 index 000000000000..a29251bbc506 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch @@ -0,0 +1,149 @@ +Fix hsa and hip include path + +Åke Sandgren, 2023-01-03 +diff -ru ucx-1.11.2.orig/config/m4/rocm.m4 ucx-1.11.2/config/m4/rocm.m4 +--- ucx-1.11.2.orig/config/m4/rocm.m4 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/config/m4/rocm.m4 2023-01-03 09:23:39.310360596 +0100 +@@ -84,9 +84,9 @@ + + rocm_happy=yes + AS_IF([test "x$rocm_happy" = xyes], +- [AC_CHECK_HEADERS([hsa.h], [rocm_happy=yes], [rocm_happy=no])]) ++ [AC_CHECK_HEADERS([hsa/hsa.h], [rocm_happy=yes], [rocm_happy=no])]) + AS_IF([test "x$rocm_happy" = xyes], +- [AC_CHECK_HEADERS([hsa_ext_amd.h], [rocm_happy=yes], [rocm_happy=no])]) ++ [AC_CHECK_HEADERS([hsa/hsa_ext_amd.h], [rocm_happy=yes], [rocm_happy=no])]) + AS_IF([test "x$rocm_happy" = xyes], + [AC_CHECK_LIB([hsa-runtime64], [hsa_init], [rocm_happy=yes], [rocm_happy=no])]) + +@@ -111,7 +111,7 @@ + hip_happy=no + AC_CHECK_LIB([hip_hcc], [hipFree], [AC_MSG_WARN([Please install ROCm-3.7.0 or above])], [hip_happy=yes]) + AS_IF([test "x$hip_happy" = xyes], +- [AC_CHECK_HEADERS([hip_runtime.h], [hip_happy=yes], [hip_happy=no])]) ++ [AC_CHECK_HEADERS([hip/hip_runtime.h], [hip_happy=yes], [hip_happy=no])]) + AS_IF([test "x$hip_happy" = xyes], + [AC_CHECK_LIB([amdhip64], [hipFree], [hip_happy=yes], [hip_happy=no])]) + AS_IF([test "x$hip_happy" = xyes], [HIP_CXXFLAGS="--std=gnu++11"], []) +diff -ru ucx-1.11.2.orig/src/ucm/rocm/rocmmem.h ucx-1.11.2/src/ucm/rocm/rocmmem.h +--- ucx-1.11.2.orig/src/ucm/rocm/rocmmem.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/ucm/rocm/rocmmem.h 2023-01-03 09:25:40.289314597 +0100 +@@ -7,7 +7,7 @@ + #define UCM_ROCMMEM_H_ + + #include +-#include ++#include + + /* hsa_amd_memory_pool_allocate */ + hsa_status_t ucm_override_hsa_amd_memory_pool_allocate( +diff -ru ucx-1.11.2.orig/src/uct/rocm/base/rocm_base.h ucx-1.11.2/src/uct/rocm/base/rocm_base.h +--- ucx-1.11.2.orig/src/uct/rocm/base/rocm_base.h 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/base/rocm_base.h 2023-01-03 09:24:10.206096620 +0100 +@@ -9,8 +9,8 @@ + + #include + #include +-#include +-#include ++#include ++#include + + + hsa_status_t uct_rocm_base_init(void); +diff -ru ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_ep.c ucx-1.11.2/src/uct/rocm/copy/rocm_copy_ep.c +--- ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_ep.c 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/copy/rocm_copy_ep.c 2023-01-03 09:25:35.457356174 +0100 +@@ -19,7 +19,7 @@ + #include + #include + +-#include ++#include + + #define uct_rocm_memcpy_h2d(_d,_s,_l) memcpy((_d),(_s),(_l)) + #define uct_rocm_memcpy_d2h(_d,_s,_l) ucs_memcpy_nontemporal((_d),(_s),(_l)) +diff -ru ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_iface.h ucx-1.11.2/src/uct/rocm/copy/rocm_copy_iface.h +--- ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_iface.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/copy/rocm_copy_iface.h 2023-01-03 09:24:33.245895073 +0100 +@@ -8,7 +8,7 @@ + + #include + +-#include ++#include + + #define UCT_ROCM_COPY_TL_NAME "rocm_cpy" + +diff -ru ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_md.c ucx-1.11.2/src/uct/rocm/copy/rocm_copy_md.c +--- ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_md.c 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/copy/rocm_copy_md.c 2023-01-03 09:25:33.073376690 +0100 +@@ -20,7 +20,7 @@ + #include + #include + +-#include ++#include + + static ucs_config_field_t uct_rocm_copy_md_config_table[] = { + {"", "", NULL, +diff -ru ucx-1.11.2.orig/src/uct/rocm/gdr/rocm_gdr_md.c ucx-1.11.2/src/uct/rocm/gdr/rocm_gdr_md.c +--- ucx-1.11.2.orig/src/uct/rocm/gdr/rocm_gdr_md.c 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/gdr/rocm_gdr_md.c 2023-01-03 09:25:37.569338002 +0100 +@@ -18,7 +18,7 @@ + #include + #include + +-#include ++#include + + static ucs_config_field_t uct_rocm_gdr_md_config_table[] = { + {"", "", NULL, +diff -ru ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_iface.h ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_iface.h +--- ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_iface.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_iface.h 2023-01-03 09:24:27.741943217 +0100 +@@ -9,7 +9,7 @@ + + #include + +-#include ++#include + + #define UCT_ROCM_IPC_TL_NAME "rocm_ipc" + +diff -ru ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_md.h ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_md.h +--- ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_md.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_md.h 2023-01-03 09:25:30.109402193 +0100 +@@ -7,7 +7,7 @@ + #define ROCM_IPC_MD_H + + #include +-#include ++#include + + + extern uct_component_t uct_rocm_ipc_component; +diff -ru ucx-1.11.2.orig/test/gtest/common/mem_buffer.cc ucx-1.11.2/test/gtest/common/mem_buffer.cc +--- ucx-1.11.2.orig/test/gtest/common/mem_buffer.cc 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/test/gtest/common/mem_buffer.cc 2023-01-03 09:32:23.085955061 +0100 +@@ -31,7 +31,7 @@ + #endif + + #if HAVE_ROCM +-# include ++# include + + #define ROCM_CALL(_code) \ + do { \ +diff -ru ucx-1.11.2.orig/test/gtest/ucm/rocm_hooks.cc ucx-1.11.2/test/gtest/ucm/rocm_hooks.cc +--- ucx-1.11.2.orig/test/gtest/ucm/rocm_hooks.cc 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/test/gtest/ucm/rocm_hooks.cc 2023-01-03 09:32:26.177929298 +0100 +@@ -5,7 +5,7 @@ + */ + #include + #include +-#include ++#include + + static ucm_event_t alloc_event, free_event; + diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..6852321bf6ad --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.13.1' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', + 'UCX-1.13.1_fix-undeclared-PTR.patch', +] +checksums = [ + ('efc37829b68e131d2acc82a3fd4334bfd611156a756837ffeb650ab9a9dd3828', + '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'), # ucx-1.13.1.tar.gz + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, + {'UCX-1.13.1_fix-undeclared-PTR.patch': 'ef22c29604552ad3223f2a6bac352f30023cc5cf68f786abfdc4ad7c04189a76'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.13.1-dynamic_modules.patch b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-dynamic_modules.patch new file mode 100644 index 000000000000..bf0e55648531 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-dynamic_modules.patch @@ -0,0 +1,29 @@ +# UCX is hardcoded to only load the modules it is compiled with. +# This patch adds an optional EB_UCX_xxx_MODULES that can override this list, allowing new modules to be loaded later. +# Author: micketeer@gmail.com - updated for UCX 1.13.1 by Kenneth Hoste (HPC-UGent) +--- ucx-1.13.1.orig/src/ucs/sys/module.c 2022-09-07 09:16:18.000000000 +0200 ++++ ucx-1.13.1/src/ucs/sys/module.c 2022-10-18 16:29:29.318490689 +0200 +@@ -271,6 +271,8 @@ + char *modules_str; + char *saveptr; + char *module_name; ++ char *env_modules; ++ char buf[64]; + + ucs_module_loader_init_paths(); + +@@ -278,7 +280,13 @@ + ucs_assert(ucs_sys_is_dynamic_lib()); + + ucs_module_debug("loading modules for %s", framework); +- modules_str = ucs_strdup(modules, "modules_list"); ++ ucs_snprintf_safe(buf, sizeof(buf), "EB_UCX_%s_MODULES", framework); ++ env_modules = getenv(buf); ++ if (env_modules != NULL) { ++ modules_str = ucs_strdup(env_modules, "modules_list"); ++ } else { ++ modules_str = ucs_strdup(modules, "modules_list"); ++ } + if (modules_str != NULL) { + saveptr = NULL; + module_name = strtok_r(modules_str, ":", &saveptr); diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.13.1_fix-undeclared-PTR.patch b/easybuild/easyconfigs/u/UCX/UCX-1.13.1_fix-undeclared-PTR.patch new file mode 100644 index 000000000000..4551b62371b5 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1_fix-undeclared-PTR.patch @@ -0,0 +1,27 @@ +From 6b6128efd416831cec3a1820f7d1c8e648b79448 Mon Sep 17 00:00:00 2001 +From: Hui Zhou +Date: Sun, 14 Aug 2022 23:29:09 -0500 +Subject: [PATCH] UCS/DEBUG: replace PTR with void * + +The PTR macro is missing on the latest Arch linux. +--- + src/ucs/debug/debug.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/ucs/debug/debug.c b/src/ucs/debug/debug.c +index 4ab9a9b7a2a..c51c99ba2b1 100644 +--- a/src/ucs/debug/debug.c ++++ b/src/ucs/debug/debug.c +@@ -272,10 +272,10 @@ static int load_file(struct backtrace_file *file) + goto err_close; + } + +- symcount = bfd_read_minisymbols(file->abfd, 0, (PTR)&file->syms, &size); ++ symcount = bfd_read_minisymbols(file->abfd, 0, (void *)&file->syms, &size); + if (symcount == 0) { + free(file->syms); +- symcount = bfd_read_minisymbols(file->abfd, 1, (PTR)&file->syms, &size); ++ symcount = bfd_read_minisymbols(file->abfd, 1, (void *)&file->syms, &size); + } + if (symcount < 0) { + goto err_close; diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..c84b1e487912 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.14.0' + +homepage = 'https://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.14.0.tar.gz': '9bd95e2059de5dece9dddd049aacfca3d21bfca025748a6a0b1be4486e28afdd'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.16'), +] + +configure_cmd = "contrib/configure-release" + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'], + 'dirs': ['include', 'lib', 'share'] +} + +sanity_check_commands = ["ucx_info -d"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..62fb8413bfcb --- /dev/null +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg, Ghent University +# Authors:: Fotis Georgatos , Kenneth Hoste (Ghent University) +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## + +easyblock = 'ConfigureMake' + +name = 'UDUNITS' +version = '2.2.28' + +homepage = 'https://www.unidata.ucar.edu/software/udunits/' +description = """UDUNITS supports conversion of unit specifications between formatted and binary forms, + arithmetic manipulation of units, and conversion of values between compatible scales of measurement.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://artifacts.unidata.ucar.edu/repository/downloads-udunits/%(version)s/', + 'https://sources.easybuild.io/u/UDUNITS/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['590baec83161a3fd62c00efa66f6113cec8a7c461e3f61a5182167e0cc5d579e'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('expat', '2.4.9')] + +sanity_check_paths = { + 'files': ['bin/udunits2', 'include/converter.h', 'include/udunits2.h', 'include/udunits.h', + 'lib/libudunits2.a', 'lib/libudunits2.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +parallel = 1 + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..042b74c404e8 --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/Unidecode/Unidecode-1.3.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/Unidecode/Unidecode-1.3.6-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..7a8e86121858 --- /dev/null +++ b/easybuild/easyconfigs/u/Unidecode/Unidecode-1.3.6-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Unidecode' +version = '1.3.6' + +homepage = 'https://github.com/avian2/unidecode' +description = "Python library for lossy ASCII transliterations of Unicode text (port of Text::Unidecode Perl module)" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +fix_python_shebang_for = ['bin/unidecode'] + +sanity_check_paths = { + 'files': ['bin/unidecode'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["unidecode -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.4.6-foss-2020b.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.4.6-foss-2020b.eb new file mode 100644 index 000000000000..80d6fbc58182 --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.4.6-foss-2020b.eb @@ -0,0 +1,32 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonPackage' + +name = 'umap-learn' +version = '0.4.6' + +homepage = 'https://pypi.org/project/umap-learn/' +description = """Uniform Manifold Approximation and Projection (UMAP) is a +dimension reduction technique that can be used for visualisation similarly to t-SNE, +but also for general non-linear dimension reduction.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4276da9a039c79fa5b4f8d3515a8ccaaccf11a2f59ce8d15baf9d2015a5e82b3'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('numba', '0.52.0'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'umap'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2020b.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2020b.eb new file mode 100644 index 000000000000..e3de10224d6f --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2020b.eb @@ -0,0 +1,41 @@ +# Author: Denis Krišťák (INUITS) +# This is a contribution from HPCNow! (http://hpcnow.com) +# Update: Erica Bianco +# License:: GPL-v3.0 +easyblock = "PythonBundle" + +name = 'umap-learn' +version = '0.5.3' + +homepage = 'https://umap-learn.readthedocs.io/en/latest/' +description = """ +Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique +that can be used for visualisation similarly to t-SNE, but also for general non-linear +dimension reduction. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('numba', '0.53.1'), + ('LLVM', '11.0.0'), + ('tqdm', '4.56.2'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021b.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021b.eb new file mode 100644 index 000000000000..3ddc3e129e2c --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021b.eb @@ -0,0 +1,41 @@ +# Author: Denis Krišťák (INUITS) +# This is a contribution from HPCNow! (http://hpcnow.com) +# Update: Erica Bianco +# License:: GPL-v3.0 +easyblock = "PythonBundle" + +name = 'umap-learn' +version = '0.5.3' + +homepage = 'https://umap-learn.readthedocs.io/en/latest/' +description = """ +Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique +that can be used for visualisation similarly to t-SNE, but also for general non-linear +dimension reduction. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('scikit-learn', '1.0.1'), + ('numba', '0.54.1'), + ('LLVM', '12.0.1'), + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2022a.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2022a.eb new file mode 100644 index 000000000000..bc9b53ee272d --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2022a.eb @@ -0,0 +1,41 @@ +# Author: Denis Krišťák (INUITS) +# This is a contribution from HPCNow! (http://hpcnow.com) +# Update: Erica Bianco +# License:: GPL-v3.0 +easyblock = "PythonBundle" + +name = 'umap-learn' +version = '0.5.3' + +homepage = 'https://umap-learn.readthedocs.io/en/latest/' +description = """ +Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique +that can be used for visualisation similarly to t-SNE, but also for general non-linear +dimension reduction. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('numba', '0.56.4'), + ('LLVM', '14.0.3'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/unicore-uftp/unicore-uftp-1.4.2-Java-11.eb b/easybuild/easyconfigs/u/unicore-uftp/unicore-uftp-1.4.2-Java-11.eb new file mode 100644 index 000000000000..920e80869a6f --- /dev/null +++ b/easybuild/easyconfigs/u/unicore-uftp/unicore-uftp-1.4.2-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'unicore-uftp' +version = '1.4.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://sourceforge.net/projects/unicore/' +description = """UNICORE Java-based client for UFTP""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.sourceforge.net/project/unicore/Clients/UFTP-Client/%(version)s'] +sources = ['uftp-client-%(version)s-all.zip'] +checksums = ['49670714416077274a0dfdc261e5552bcabbdd5cc4454181a794158491524c54'] + +dependencies = [('Java', '11', '', SYSTEM)] + +postinstallcmds = ["chmod +x %(installdir)s/bin/uftp"] + +sanity_check_paths = { + 'files': ['bin/uftp'], + 'dirs': ['bin', 'lib'], +} + +sanity_check_commands = [('uftp', '-version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..33d5c5ec66ab --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.8.0' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a0a60a79fe6f6d54e7d411facbfcc867a6e198608f2cd992490e46f04b1bcecc'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +separate_build_dir = True + +configopts = ['', '-DBUILD_SHARED_LIBS=true'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.38.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.38.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ddc2a4e1286e --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.38.1-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.38.1' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0820eb8eea90408047e3715424bc6be771417047f683950fecb4bdd2e2cbbc6e'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb index c9841ec8b60b..8861f5e0c5ef 100644 --- a/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb @@ -31,7 +31,7 @@ checksums = [ prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' # path to libfftw3xf_intel.a is hardcoded in makefile.include -prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && ' +prebuildopts += r'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && ' # remove mkl flag to prevent mixing dynamic libs with the static libs in LIBBLACS/SCALAPACK prebuildopts += 'sed -i "s|-mkl||" makefile.include && ' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.22.1-GCC-11.3.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.22.1-GCC-11.3.0.eb new file mode 100644 index 000000000000..693720d260a8 --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.22.1-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.22.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': '11.3.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c62bf69e7cc3d011a12e3b522ba8c0c91fb90deea782359e9569677d0c991778'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('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.0.1-foss-2020b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb index b4161f95eaf3..c92d21af64b4 100644 --- a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb +++ b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb @@ -54,6 +54,7 @@ configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " # Python configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' # Other configopts += "-DVTK_USE_MPI=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib" diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb index b6987d9bb81a..c2ca95e963f4 100644 --- a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb +++ b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb @@ -49,6 +49,7 @@ configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " # Python configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' # Other configopts += "-DVTK_USE_MPI=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib" diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.2.2-foss-2022a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.2.2-foss-2022a.eb new file mode 100644 index 000000000000..1394917dc978 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.2.2-foss-2022a.eb @@ -0,0 +1,87 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.2.2' + +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': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.2.2.tar.gz': '1c5b0a2be71fac96ff4831af69e350f7a0ea3168981f790c000709dcf9121075'}, + {'VTKData-9.2.2.tar.gz': '4b0ac438c77773ff741fd02c0e3b0dc1406b4c51e6cbe4e8304306fa125f27bf'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XZ', '5.2.5'), + ('libGLU', '9.0.2'), + ('X11', '20220504'), +] + +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/Valgrind/Valgrind-3.20.0-gompi-2022a.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.20.0-gompi-2022a.eb new file mode 100644 index 000000000000..45e2a41ecda8 --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.20.0-gompi-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.20.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8536c031dbe078d342f121fa881a9ecd205cb5a78e639005ad570011bdb9f3c6'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Vim/Vim-9.0.0950-GCCcore-11.3.0.eb b/easybuild/easyconfigs/v/Vim/Vim-9.0.0950-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3ebc9ac6bd57 --- /dev/null +++ b/easybuild/easyconfigs/v/Vim/Vim-9.0.0950-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Last contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'Vim' +version = '9.0.0950' + +homepage = 'http://www.vim.org' +description = """ Vim is an advanced text editor that seeks to provide the power + of the de-facto Unix editor 'Vi', with a more complete feature set. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c53542fbec58362c3a5ed60a0fe5aa219ef49cd15d9545311ec0f6d1f03e2fdd'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('PCRE', '8.45') +] + +configopts = '--with-features=huge --enable-python3interp=yes --enable-perlinterp=yes' + +sanity_check_paths = { + 'files': ['bin/vim', 'bin/vimtutor', 'bin/xxd'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['vim --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/Vim/Vim-9.0.1434-GCCcore-12.2.0.eb b/easybuild/easyconfigs/v/Vim/Vim-9.0.1434-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..3ba63172bd88 --- /dev/null +++ b/easybuild/easyconfigs/v/Vim/Vim-9.0.1434-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Vim' +version = '9.0.1434' + +homepage = 'http://www.vim.org' +description = """ Vim is an advanced text editor that seeks to provide the power + of the de-facto Unix editor 'Vi', with a more complete feature set. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f7a43d6f2c08c4d76c5ceb9ab6603fe2d87d56c1162934525cf46362ef8a4e65'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('Perl', '5.36.0'), + ('PCRE', '8.45') +] + +configopts = '--with-features=huge --enable-python3interp=yes --enable-perlinterp=yes' + +sanity_check_paths = { + 'files': ['bin/vim', 'bin/vimtutor', 'bin/xxd'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['vim --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2022a.eb b/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2022a.eb new file mode 100644 index 000000000000..13f73639e85e --- /dev/null +++ b/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'VirSorter2' +version = '2.2.4' + +homepage = 'https://github.com/jiarong/VirSorter2' +description = """VirSorter2 applies a multi-classifier, expert-guided approach to detect diverse DNA and + RNA virus genomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ruamel.yaml', '0.17.21'), + ('snakemake', '7.22.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/jiarong/VirSorter2/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f9d1c291f773d9c4d70d7ec096e76c21208950d74d7bd5046da7c4a77cd54c07'], + 'modulename': 'virsorter', + }), +] + +sanity_check_paths = { + 'files': ['bin/virsorter'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["virsorter --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vConTACT2/vConTACT2-0.11.3-foss-2022a.eb b/easybuild/easyconfigs/v/vConTACT2/vConTACT2-0.11.3-foss-2022a.eb new file mode 100644 index 000000000000..19515db642ac --- /dev/null +++ b/easybuild/easyconfigs/v/vConTACT2/vConTACT2-0.11.3-foss-2022a.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'vConTACT2' +local_commit = 'c0413a6c92e86c58d624b4eb2e32687ceca89bd6' +version = '0.11.3' + +homepage = 'https://bitbucket.org/MAVERICLab/vcontact2' +description = """vConTACT2 is a tool to perform guilt-by-contig-association classification of + viral genomic sequence data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('networkx', '2.8.4'), + ('scikit-learn', '1.1.2'), + ('PyTables', '3.8.0'), + ('GitPython', '3.1.27'), # required by clusterone +] + +use_pip = True + +exts_list = [ + # click-log 0.1.8 is strictly required due assumption that click_log module provides 'init' + ('click-log', '0.1.8', { + 'checksums': ['57271008c12e2dc16d413373bedd7fd3ff17c57434e168650dc27dfb9c743392'], + }), + ('coreschema', '0.0.4', { + 'checksums': ['9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607'], + }), + ('itypes', '1.2.0', { + 'checksums': ['af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1'], + }), + ('uritemplate', '4.1.1', { + 'checksums': ['4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0'], + }), + ('coreapi', '2.3.3', { + 'checksums': ['46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb'], + }), + ('coreapi-cli', '1.0.9', { + 'checksums': ['d76b5320ea9ad04d922001ac8897b903a7a359c08a53822f819134c50aa22c5f'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('raven', '6.10.0', { + 'checksums': ['3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54'], + }), + ('terminaltables', '3.1.10', { + 'checksums': ['ba6eca5cb5ba02bba4c9f4f985af80c54ec3dccf94cfcd190154386255e47543'], + }), + ('tzdata', '2022.7', { + 'checksums': ['fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa'], + }), + ('pytz-deprecation-shim', '0.1.0.post0', { + 'sources': ['pytz_deprecation_shim-%(version)s.tar.gz'], + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + ('tzlocal', '4.2', { + 'checksums': ['ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7'], + }), + ('clusterone', '0.15.3', { + 'checksums': ['ce253e778c68aa1c8f408ac2b835caca62d90b9c9206bf9f56819ee97b198cf9'], + # remove strict version requirements for required Python packages, + # remove requirement for enum34 (not needed when using Python >= 3.4) + 'preinstallopts': "sed -i 's/==/>=/g' setup.py && sed -i '/enum34/d' setup.py && ", + }), + (name, version, { + 'source_urls': ['https://bitbucket.org/MAVERICLab/vcontact2/get/'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['22890d2839d53140220bff8e0333f1dab562c16270cd86dfe88ff0836d8ba0b7'], + }), +] + + +sanity_check_commands = [ + 'coreapi --help', + 'just --help', + 'raven --help', + 'vcontact2 --help', + 'vcontact2_gene2genome --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' 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 1d6bc7fb951e..e6a30f871740 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 @@ -46,12 +46,13 @@ dependencies = [ ('smithwaterman', '20160702'), ] -preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f -regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f " +preconfigopts += r"-regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" -preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] 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 b6155394c422..72046e18f739 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 @@ -46,12 +46,13 @@ dependencies = [ ('smithwaterman', '20160702'), ] -preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f -regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f " +preconfigopts += r"-regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" -preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] 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 01d87f486f9f..c5cca78049f9 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 @@ -47,12 +47,13 @@ dependencies = [ ('smithwaterman', '20160702'), ] -preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f -regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f " +preconfigopts += r"-regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" -preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021a-R-4.1.0.eb new file mode 100644 index 000000000000..9a308f9a8be3 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021a-R-4.1.0.eb @@ -0,0 +1,69 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/vcflib/vcflib' +description = """vcflib provides methods to manipulate and interpret sequence variation as it can be + described by VCF. The Variant Call Format (VCF) is a flat-file, tab-delimited textual format intended + to concisely describe reference-indexed genetic variations between individuals.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.0.3_use-external-deps.patch', + '%(name)s-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 = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('R', '4.1.0'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.12'), + ('tabixpp', '1.1.0'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20141119'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), +] + +preconfigopts = r"find %(builddir)s/%(name)s-%(version)s/src -type f -regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" +preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" +preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" +preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " + +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': ['scripts'], +} + +sanity_check_commands = ["vcfremap"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb index 7cf7ac987446..24529752c7f3 100644 --- a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb @@ -48,12 +48,13 @@ dependencies = [ ('smithwaterman', '20160702'), ] -preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f -regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f " +preconfigopts += r"-regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" -preconfigopts += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] diff --git a/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2022a.eb b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2022a.eb new file mode 100644 index 000000000000..7305196e2f89 --- /dev/null +++ b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'velocyto' +version = '0.17.17' + +homepage = 'https://velocyto.org/velocyto.py/' +description = "Velocyto is a library for the analysis of RNA velocity." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('numba', '0.56.4'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), + ('Pysam', '0.19.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.20', { + 'checksums': ['923a382d6bc6876384b58a9c0503b05b9d36a660f329695c2d33e4f93fcbbe3d'], + }), + ('loompy', '3.0.7', { + 'checksums': ['b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4'], + }), + (name, version, { + 'checksums': ['1ad65fc53292ce1970a70bc742d73491b370038e0b0065761303e787bf7ffe39'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/velocyto'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'velocyto', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vispr/vispr-0.4.14-foss-2022a.eb b/easybuild/easyconfigs/v/vispr/vispr-0.4.14-foss-2022a.eb new file mode 100644 index 000000000000..e06d4354bf00 --- /dev/null +++ b/easybuild/easyconfigs/v/vispr/vispr-0.4.14-foss-2022a.eb @@ -0,0 +1,47 @@ +# Author: Denis Kristak (Inuits) + +easyblock = 'PythonPackage' + +name = 'vispr' +version = '0.4.14' + +homepage = 'https://pypi.org/project/vispr/' + +description = """ +VISPR - A visualization framework for CRISPR data. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'vispr-0.4.14_fix-imports.patch', + 'vispr-0.4.14_fix-yaml-load.patch', +] +checksums = [ + {'vispr-0.4.14.tar.gz': 'dc2cf6ac9c8930b0f1f1b3a2b7f57bfae180b2ac3674060123fd2d7fe10ccd82'}, + {'vispr-0.4.14_fix-imports.patch': '2744d5636ebd6849fb0fc99ff102a8a0256bec3e592c323c24132f1e694baf67'}, + {'vispr-0.4.14_fix-yaml-load.patch': '6b994103c621fafc084fc6c11f966367ffddc36ac20c0f9fc44ef0bb4360f977'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('Flask', '2.2.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('scikit-learn', '1.1.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/vispr'], + 'dirs': [], +} + +sanity_check_commands = ["vispr --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-imports.patch b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-imports.patch new file mode 100644 index 000000000000..162193ecf1c9 --- /dev/null +++ b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-imports.patch @@ -0,0 +1,26 @@ +fix import statement for pandas and Jinja2 +author: Denis Kristak (INUITS) + Kenneth Hoste (HPC-UGent) +diff -ru vispr-0.4.14.orig/vispr/results/rna.py vispr-0.4.14/vispr/results/rna.py +--- vispr-0.4.14.orig/vispr/results/rna.py 2016-08-11 09:16:23.000000000 +0200 ++++ vispr-0.4.14/vispr/results/rna.py 2023-04-10 19:19:07.488661966 +0200 +@@ -11,7 +11,7 @@ + + from flask import render_template + import pandas as pd +-from pandas.io.common import EmptyDataError ++from pandas.errors import EmptyDataError + import numpy as np + from sklearn.decomposition import PCA + from scipy.cluster.hierarchy import average, leaves_list, dendrogram +diff -ru vispr-0.4.14.orig/vispr/server.py vispr-0.4.14/vispr/server.py +--- vispr-0.4.14.orig/vispr/server.py 2015-11-08 00:47:23.000000000 +0100 ++++ vispr-0.4.14/vispr/server.py 2023-04-10 19:25:06.417148288 +0200 +@@ -10,7 +10,7 @@ + + import numpy as np + from flask import Flask, render_template, request, session, abort +-from jinja2 import Markup ++from markupsafe import Markup + import yaml + + from vispr import __version__ diff --git a/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-yaml-load.patch b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-yaml-load.patch new file mode 100644 index 000000000000..16d9b65d1a1f --- /dev/null +++ b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-yaml-load.patch @@ -0,0 +1,35 @@ +fix use of yaml.load, 'Loader' argument is required in PyYAML >= 6.0 +author: Kenneth Hoste (HPC-UGent) +diff -ru vispr-0.4.14.orig/vispr/cli.py vispr-0.4.14/vispr/cli.py +--- vispr-0.4.14.orig/vispr/cli.py 2017-02-15 14:38:22.000000000 +0100 ++++ vispr-0.4.14/vispr/cli.py 2023-04-10 19:26:01.251360284 +0200 +@@ -37,7 +37,7 @@ + print("Loading data.") + for path in configs: + with open(path) as f: +- config = yaml.load(f) ++ config = yaml.load(f, Loader=yaml.Loader) + try: + app.screens.add(config, parentdir=os.path.dirname(path)) + except KeyError as e: +@@ -91,7 +91,7 @@ + os.makedirs(directory) + + with open(configpath) as f: +- screen = Screen(yaml.load(f), parentdir=os.path.dirname(configpath)) ++ screen = Screen(yaml.load(f, Loader=yaml.Loader), parentdir=os.path.dirname(configpath)) + + def write(json, name): + with open(prefix + name + ".vega.json", "w") as out: +diff -ru vispr-0.4.14.orig/vispr/server.py vispr-0.4.14/vispr/server.py +--- vispr-0.4.14.orig/vispr/server.py 2015-11-08 00:47:23.000000000 +0100 ++++ vispr-0.4.14/vispr/server.py 2023-04-10 19:25:06.417148288 +0200 +@@ -20,7 +20,7 @@ + app.jinja_env.lstrip_blocks = True + + with open(os.path.join(os.path.dirname(__file__), "captions.yaml")) as f: +- CAPTIONS = yaml.load(f) ++ CAPTIONS = yaml.load(f, Loader=yaml.Loader) + + + @app.route("/ping") diff --git a/easybuild/easyconfigs/v/vitessce-python/vitessce-python-20230222-foss-2022a.eb b/easybuild/easyconfigs/v/vitessce-python/vitessce-python-20230222-foss-2022a.eb new file mode 100644 index 000000000000..cdcc0a4be16a --- /dev/null +++ b/easybuild/easyconfigs/v/vitessce-python/vitessce-python-20230222-foss-2022a.eb @@ -0,0 +1,88 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonBundle' + +name = 'vitessce-python' +version = '20230222' +local_commit = '7bd0a00' + +homepage = 'https://github.com/vitessce/vitessce-python' +description = """Python API and Jupyter widget facilitating interactive +visualization of spatial single-cell data with Vitessce.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('zarr', '2.13.3'), + ('SciPy-bundle', '2022.05'), + ('aiohttp', '3.8.3'), + ('dask', '2022.10.0'), + ('h5py', '3.7.0'), + ('scikit-image', '0.19.3'), +] + +use_pip = True +sanity_pip_check = True + +local_hatchling_preinstallopts = "sed -i 's|packaging>=21.3|packaging>=20.9|g' PKG-INFO && " +local_hatchling_preinstallopts += "sed -i 's|packaging>=21.3|packaging>=20.9|g' src/hatchling/ouroboros.py && " + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('pathspec', '0.10.1', { + 'checksums': ['7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d'], + }), + ('fsspec', '2023.1.0', { + 'checksums': ['fbae7f20ff801eb5f7d0bedf81f25c787c0dfac5e982d98fa3884a9cde2b5411'], + }), + ('hatchling', '1.11.1', { + 'preinstallopts': local_hatchling_preinstallopts, + 'checksums': ['9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0'], + }), + ('negspy', '0.2.24', { + 'checksums': ['c3077f9a4616f597e4f7d87d7d93cd7c8a1c8aab25a1561ba21072e577137c72'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('hatch-fancy-pypi-readme', '22.8.0', { + 'sources': [{ + 'download_filename': 'hatch_fancy_pypi_readme-%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a'], + }), + ('hatch-vcs', '0.3.0', { + 'sources': [{ + 'download_filename': 'hatch_vcs-%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee'], + }), + ('black', '23.1.0', { + 'preinstallopts': "sed -i 's|packaging>=22.0|packaging>=20.9|g' pyproject.toml && ", + 'checksums': ['b0bd97bea8903f5a2ba7219257a44e3f1f9d00073d6cc1add68f0beec69692ac'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('ome-zarr', '0.2.1', { + 'checksums': ['7e1c0304982252bcb5fd0e3b68ff67e0aca09b3928f78fe090f2a48e46576ba4'], + }), + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + (name, version, { + 'modulename': 'vitessce', + 'source_urls': ['https://github.com/vitessce/vitessce-python/archive/'], + 'sources': [{ + 'download_filename': '7bd0a00.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['4d21b2eb99d61f08ba5c5a068414a07e667d896d0a2908470de2a55bd997092f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vitessceR/vitessceR-0.99.0-20230110-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/v/vitessceR/vitessceR-0.99.0-20230110-foss-2022a-R-4.2.1.eb new file mode 100644 index 000000000000..e43d614967de --- /dev/null +++ b/easybuild/easyconfigs/v/vitessceR/vitessceR-0.99.0-20230110-foss-2022a-R-4.2.1.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'vitessceR' +# the github repo has no releases / tags, that's why we have to use commit... +version = '0.99.0-20230110' +versionsuffix = '-R-%(rver)s' +local_commit = '8c67168' + +homepage = 'https://github.com/vitessce/vitessceR' +description = "Vitessce is a visual integration tool for exploration of spatial single-cell experiments." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('libsodium', '1.0.18'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('sodium', '1.2.1', { + 'checksums': ['f76e98969710af8b6c7c7decf63706d91185eebf8a266475b554d5ad95f803a8'], + }), + ('plumber', '1.2.1', { + 'checksums': ['6ffc13e5ce1ff7ec81f6a4ab04eb1cb9f6da4004cf205ba3098d2ec4a83f1ecc'], + }), + (name, version, { + 'source_urls': ['https://github.com/vitessce/vitessceR/archive/'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['3a8805f989b28820e23e2c2578838fe3231e2ee3cb0051559787fe2d0eb27256'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', +} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.0.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.0.eb new file mode 100644 index 000000000000..1cc889dea64b --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.3.0' + +homepage = 'https://github.com/hpcugent/vsc-mympirun' +description = """mympirun is a tool to make it easier for users of HPC clusters to +run MPI programs with good performance.""" + +# we build this to work with every python version +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +use_pip = False + +exts_list = [ + ('setuptools', '41.6.0', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['6afa61b391dcd16cb8890ec9f66cc4015a8a31a6e1c2b4e0c464514be1a3d722'], + }), + ('future', '0.18.3', { + 'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'], + }), + ('pbr', '5.11.1', { + 'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '5.0.1', { + 'checksums': ['e3ea505c03babf7977fd21674a69ad328053d414f05e6433c30d8fa14a534a6b'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.18.0', { + 'modulename': 'vsc.install', + 'checksums': ['f5922e8e28fcf22693b7464a2142b4c16e5f42d5f868a56d340ad030f7e3d52b'], + }), + ('vsc-base', '3.5.2', { + 'modulename': 'vsc.utils', + 'checksums': ['1c41a69d4ab9bf6eda02007a569394cfcf19b85fbbc042c7678d1b684cbe59da'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['ddf0e3e9ea6ce91dcec70ab31ffb6d8f6bc5cbb7fee72a8add5bda6f2b64aacb'], + }), +] + +# 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/vt/vt-0.57721-GCC-10.3.0.eb b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.3.0.eb index e3ae717ce007..bee76f307bb5 100644 --- a/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.3.0.eb @@ -41,7 +41,7 @@ dependencies = [ ('cURL', '7.76.0'), ('PCRE', '8.44'), ('PCRE2', '10.36'), - ('libdeflate', '1.7'), + ('libdeflate', '1.8'), ('libRmath', '4.2.0'), ('LIBSVM', '3.25'), ('HTSlib', '1.12'), diff --git a/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.2.0.eb b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.2.0.eb new file mode 100644 index 000000000000..68d5f0a82dff --- /dev/null +++ b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +# Contribution from Imperial College London (UK) +# Uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'WCSLIB' +version = '7.11' + +homepage = 'https://www.atnf.csiro.au/people/mcalabre/WCS/' +description = """The FITS "World Coordinate System" (WCS) standard defines keywords +and usage that provide for the description of astronomical coordinate systems in a +FITS image header.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.atnf.csiro.au/pub/software/wcslib/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['46befbfdf50cd4953896676a7d570094dc7661e2ae9677b092e7fb13cee3da5f'] + +builddependencies = [ + ('binutils', '2.37'), + ('M4', '1.4.19'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('CFITSIO', '3.49'), + ('PGPLOT', '5.2.2'), + ('X11', '20210802'), +] + +configopts = '--with-cfitsiolib=$EBROOTCFITSIO/lib --with-cfitsioinc=$EBROOTCFITSIO/include ' +configopts += '--with-pgplotlib=$EBROOTPGPLOT/lib --with-pgplotinc=$EBROOTPGPLOT/include ' + +sanity_check_paths = { + 'files': ['bin/wcsgrid', 'bin/wcsware', 'lib/libpgsbox-7.11.a', 'lib/libpgsbox.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["wcsgrid --help 2>&1 | grep '^Usage: wcsgrid'"] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb new file mode 100644 index 000000000000..0a988032e846 --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb @@ -0,0 +1,77 @@ +name = 'WIEN2k' +version = '21.1' + +homepage = 'http://www.wien2k.at/' +description = """The program package WIEN2k allows to perform electronic structure calculations of solids +using density functional theory (DFT). It is based on the full-potential (linearized) augmented plane-wave +((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations. +WIEN2k is an all-electron scheme including relativistic effects and has many features.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +sources = ['%(name)s_%(version)s.tar'] +patches = [ + '%(name)s-%(version)s_fix_libxc_for_lapw0_mpi.patch', + '%(name)s-%(version)s_fix_system_stderr_redirection.patch', +] +checksums = [ + '32590778440a9280322bf2dc0d63f4f42a9fc48814fa6b8b7ee2d199c94bed11', # WIEN2k_21.1.tar + '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84', # WIEN2k-21.1_fix_libxc_for_lapw0_mpi.patch + # WIEN2k-21.1_fix_system_stderr_redirection.patch + 'cdba467b0b6f2b310c2e1e2a3e6cabe75f8fd15ee0f7c14f8ef80c7e48073bdd', +] + +download_instructions = """ +WIEN2k can be ordered at http://susi.theochem.tuwien.ac.at/index.html. +""" + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('DFT-D3', '3.2.0'), + ('ELPA', '2021.05.001'), + ('FFTW', '3.3.10'), + ('libxc', '5.1.6'), +] + +osdependencies = [ + ('glibc-devel', 'libc6-dev'), # required for libpthread.a + ('tcsh'), # required by the installer +] + +# remote = 'pbsssh' +# If using a Slurm batch system it is highly recommended to use +# 'srun -n_NP_ _EXEC_' for wien_mpirun +wien_mpirun = 'mpirun -np _NP_ _EXEC_' +use_remote = False +mpi_remote = False +wien_granularity = True +taskset = 'no' + +# Change as needed, these are the defaults +# nmatmax = 19000 +# nume = 6000 + +fix_perl_shebang_for = [ + 'iniel_pressure_in2reader.pl_lapw', + 'iniel_pressure_reader.pl_lapw', + 'setrmt_lapw', + 'elast_setup_input.pl_lapw', + 'bashtime2csh.pl_lapw', +] + +tests = [ + # test case 1: NaCl + ('NaCl', '-b', '-i 3', [r'^:DIS.*0.1', r'^:ENE.*-1248.14']), + # test case 2: TiO2 + ('TiO2', + '-b -numk 1000 -rkmax 7.5', + '-in1ef -cc 0.00001 -fc 0.5 -i 100', + [ + r'^:ENE.*-4018.07', + r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces', + r'^:FGL002.*15.*total forces', + ]), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/WPS/WPS-3.9.1-foss-2020b-dmpar.eb b/easybuild/easyconfigs/w/WPS/WPS-3.9.1-foss-2020b-dmpar.eb index 9755379bfa3a..e0b1909d580b 100644 --- a/easybuild/easyconfigs/w/WPS/WPS-3.9.1-foss-2020b-dmpar.eb +++ b/easybuild/easyconfigs/w/WPS/WPS-3.9.1-foss-2020b-dmpar.eb @@ -38,7 +38,7 @@ dependencies = [ ] # required to ensure that netcdf.mod is found -prebuildopts = "sed -i 's@-I\$(NETCDF)/include@-I\$(NETCDF)/include -I\$(NETCDFF)/include@g' configure.wps && " +prebuildopts = r"sed -i 's@-I\$(NETCDF)/include@-I\$(NETCDF)/include -I\$(NETCDFF)/include@g' configure.wps && " # workaround for "Type mismatch between actual argument" compiler errors, # see also https://www.gnu.org/software/gcc/gcc-10/porting_to.html diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.4-foss-2022a-dmpar.eb b/easybuild/easyconfigs/w/WPS/WPS-4.4-foss-2022a-dmpar.eb new file mode 100644 index 000000000000..f42560bc809c --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.4-foss-2022a-dmpar.eb @@ -0,0 +1,38 @@ +name = 'WPS' +version = '4.4' + +homepage = 'http://www.wrf-model.org' +description = """WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is + a next-generation mesoscale numerical weather prediction system designed to serve both operational + forecasting and atmospheric research needs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/wrf-model/WPS/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WPS-%(version)s_netCDF-Fortran_separate_path.patch', +] +checksums = [ + 'fe9c8d8a9a4abbf800b30e6cbb378604c6040e4536f5594b8e2dae43e942e2b3', # v4.4.tar.gz + '751bb744bf8e5386b3bcf9c3c92dbd06183acf4007d061a3c10da808387bb0a8', # WPS-4.4_netCDF-Fortran_separate_path.patch +] + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +builddependencies = [ + ('Perl', '5.34.1'), +] + +dependencies = [ + ('WRF', '4.4', versionsuffix), + ('JasPer', '2.0.33'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.4_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WPS/WPS-4.4_netCDF-Fortran_separate_path.patch new file mode 100644 index 000000000000..71d67030c7e1 --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.4_netCDF-Fortran_separate_path.patch @@ -0,0 +1,91 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since 2013; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WPSv4 and foss toolchain +# +# updated for WPS v4.1 by Kenneth Hoste (HPC-UGent) +# updated for WPS v4.2 by Åke Sandgren (HPC2N) +# updated for WPS v4.4 by Maxim Masterov (SURF) + +diff -Nru WPS-4.4.orig/arch/Config.pl WPS-4.4/arch/Config.pl +--- WPS-4.4.orig/arch/Config.pl 2022-08-05 20:46:38.790818000 +0200 ++++ WPS-4.4/arch/Config.pl 2022-08-05 20:47:19.544741000 +0200 +@@ -42,6 +42,7 @@ + if(substr( $ARGV[0], 1, 8 ) eq "netcdff=") + { + $sw_netcdff_lib = substr( $ARGV[0], 9); ++ $sw_netcdff_lib =~ s/!/ /g ; + } + if(substr( $ARGV[0], 1, 6 ) eq "phdf5=") + { +diff -Nru WPS-4.4.orig/arch/preamble WPS-4.4/arch/preamble +--- WPS-4.4.orig/arch/preamble 2022-08-05 20:46:38.792313000 +0200 ++++ WPS-4.4/arch/preamble 2022-08-05 20:47:40.331112000 +0200 +@@ -39,7 +39,7 @@ + -I$(WRF_DIR)/external/io_grib1 \ + -I$(WRF_DIR)/external/io_int \ + -I$(WRF_DIR)/inc \ +- -I$(NETCDF)/include ++ -I$(NETCDF)/include -I$(NETCDFF)/include + + WRF_LIB = -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \ + -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \ +diff -Nru WPS-4.4.orig/configure WPS-4.4/configure +--- WPS-4.4.orig/configure 2022-08-05 20:46:38.790086000 +0200 ++++ WPS-4.4/configure 2022-08-05 20:48:51.938951000 +0200 +@@ -138,9 +138,14 @@ + echo "Will use NETCDF in dir: $NETCDF" + # for 3.6.2 and greater there might be a second library, libnetcdff.a . Check for this and use + # if available +- NETCDFF=" " +- if [ -f "$NETCDF/lib/libnetcdff.a" ] ; then +- NETCDFF="-lnetcdff" ++ USENETCDFF=" " ++ # for netCDF 4.2 and greater, the Fortran library is a seperate install ++ if [ -z "$NETCDFF" ] ++ then ++ NETCDFF=$NETCDF ++ fi ++ if [ -f "$NETCDFF/lib/libnetcdff.a" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-lnetcdff" + fi + else + echo "Will configure for use without NetCDF" +@@ -239,7 +244,7 @@ + fi + + # Found perl, so proceed with configuration +-perl arch/Config.pl -perl=$PERL -netcdf=$NETCDF -netcdff=$NETCDFF -os=$os -mach=$mach -wrfdir=$wrf_dir -grib2dir=$grib2dir ++perl arch/Config.pl -perl=$PERL -netcdf=$NETCDF -netcdff=$USENETCDFF -os=$os -mach=$mach -wrfdir=$wrf_dir + + + #Checking cross-compiling capability for some particular environment +@@ -405,9 +410,9 @@ + end program + EOF + FFLAGS=`grep ^FFLAGS configure.wps | cut -d"=" -f2-` +- cp $NETCDF/include/netcdf.inc . ++ cp $NETCDFF/include/netcdf.inc . + FC=`grep ^SFC configure.wps | cut -d"=" -f2-` +- $FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib $NETCDFF -lnetcdf > /dev/null 2>&1 ++ $FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib -lnetcdf $USENETCDFF > /dev/null 2>&1 + if [ -f "fort_netcdf" ] ; then + ./fort_netcdf > /dev/null 2>&1 + if [ $? = 0 ]; then +diff -Nru WPS-4.4.orig/util/src/Makefile WPS-4.4/util/src/Makefile +--- WPS-4.4.orig/util/src/Makefile 2022-08-05 20:46:38.503642000 +0200 ++++ WPS-4.4/util/src/Makefile 2022-08-05 20:52:25.200578000 +0200 +@@ -41,11 +41,11 @@ + write_met_module.o misc_definitions_module.o met_data_module.o + $(SFC) $(LDFLAGS) -o $@ elev_angle.o cio.o module_debug.o gridinfo_module.o \ + write_met_module.o misc_definitions_module.o met_data_module.o \ +- -L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdf ++ -L$(NETCDFF)/lib -I$(NETCDFF)/include -lnetcdff + + elev_angle.o: elev_angle.F cio.o module_debug.o gridinfo_module.o \ + write_met_module.o misc_definitions_module.o +- $(SFC) -c elev_angle.F -I$(NETCDF)/include ++ $(SFC) -c elev_angle.F -I$(NETCDFF)/include + + calc_ecmwf_p.exe: calc_ecmwf_p.o cio.o module_debug.o module_stringutil.o gridinfo_module.o read_met_module.o \ + write_met_module.o module_date_pack.o misc_definitions_module.o met_data_module.o constants_module.o diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.4-foss-2022a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.4-foss-2022a-dmpar.eb new file mode 100644 index 000000000000..b2412e3eb97d --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.4-foss-2022a-dmpar.eb @@ -0,0 +1,52 @@ +name = 'WRF' +version = '4.4' +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +# sources = ['v%(version)s.tar.gz'] +sources = [{ + 'filename': 'v4.4.tar.gz', + 'git_config': { + 'url': 'https://github.com/wrf-model', + 'repo_name': 'WRF', + 'tag': 'v4.4', + 'clone_into': 'WRF-4.4', + 'recursive': True, + }, +}] +patches = [ + 'WRF-%(version)s_netCDF-Fortran_separate_path.patch', +] +# The problem: sources from git clone have different checksum every time +checksums = [ + None, # v4.4.tar.gz + '0e37c8a7bb4d25947083bdb6d0f2a9f4fdb825c88f6cb10c59b7580fe3d129ff', # WRF-4.4_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20220317'), + ('tcsh', '6.24.01'), + ('time', '1.9'), + ('Perl', '5.34.1'), +] + +dependencies = [ + ('JasPer', '2.0.33'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb new file mode 100644 index 000000000000..a62a23d620c9 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb @@ -0,0 +1,51 @@ +name = 'WRF' +version = '4.4.1' +buildtype = 'dmpar' +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +# sources = ['v%(version)s.tar.gz'] +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/wrf-model', + 'repo_name': 'WRF', + 'tag': 'v%(version)s', + 'clone_into': 'WRF-%(version)s', + 'recursive': True, + }, +}] +patches = [ + 'WRF-4.4_netCDF-Fortran_separate_path.patch', +] +checksums = [ + None, # v4.4.1.tar.gz + '0e37c8a7bb4d25947083bdb6d0f2a9f4fdb825c88f6cb10c59b7580fe3d129ff', # WRF-4.4_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20220317'), + ('tcsh', '6.24.07'), + ('time', '1.9'), + ('Perl', '5.36.0'), +] + +dependencies = [ + ('JasPer', '4.0.0'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.4_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WRF/WRF-4.4_netCDF-Fortran_separate_path.patch new file mode 100644 index 000000000000..34e03618a66f --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.4_netCDF-Fortran_separate_path.patch @@ -0,0 +1,266 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since WRF3.5; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WRFv4 and foss toolchain +# +# updated for WPS v4.4 by Maxim Masterov (SURF) + +diff -Nru WRF-4.4.orig/arch/Config.pl WRF-4.4/arch/Config.pl +--- WRF-4.4.orig/arch/Config.pl 2022-08-05 12:50:41.026673000 +0200 ++++ WRF-4.4/arch/Config.pl 2022-08-05 12:53:16.487608000 +0200 +@@ -11,6 +11,7 @@ + select((select(STDOUT), $|=1)[0]); + $sw_perl_path = perl ; + $sw_netcdf_path = "" ; ++$sw_netcdff_path = "" ; # for netCDF 4.2 and greater, Fortran lib might be in a different path + $sw_pnetcdf_path = "" ; + $sw_netcdfpar_path = "" ; + $sw_hdf5_path=""; +@@ -95,6 +96,10 @@ + } + } + } ++ if ( substr( $ARGV[0], 1, 8 ) eq "netcdff=" ) ++ { ++ $sw_netcdff_path = substr( $ARGV[0], 9 ) ; ++ } + if ( substr( $ARGV[0], 1, 8 ) eq "pnetcdf=" ) + { + $sw_pnetcdf_path = substr( $ARGV[0], 9 ) ; +@@ -126,6 +131,7 @@ + if ( substr( $ARGV[0], 1, 11 ) eq "USENETCDFF=" ) + { + $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff =~ s/!/ /g ; + } + if ( substr( $ARGV[0], 1, 10 ) eq "USENETCDF=" ) + { +@@ -610,6 +616,7 @@ + { + $_ =~ s/CONFIGURE_PERL_PATH/$sw_perl_path/g ; + $_ =~ s/CONFIGURE_NETCDF_PATH/$sw_netcdf_path/g ; ++ $_ =~ s/CONFIGURE_NETCDFF_PATH/$sw_netcdff_path/g ; + $_ =~ s/CONFIGURE_PNETCDF_PATH/$sw_pnetcdf_path/g ; + $_ =~ s/CONFIGURE_NETCDFPAR_PATH/$sw_netcdfpar_path/g ; + $_ =~ s/CONFIGURE_HDF5_PATH/$sw_hdf5_path/g ; +@@ -678,7 +685,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf/libwrfio_nf.a -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdff_path/lib -L$sw_netcdf_path/lib64 $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +diff -Nru WRF-4.4.orig/arch/configure.defaults WRF-4.4/arch/configure.defaults +--- WRF-4.4.orig/arch/configure.defaults 2022-08-05 12:50:41.028943000 +0200 ++++ WRF-4.4/arch/configure.defaults 2022-08-05 12:53:38.767002000 +0200 +@@ -1636,6 +1636,7 @@ + + LIB_EXTERNAL = \ + ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ++ CONFIGURE_NETCDFF_PATH/lib/libnetcdff.lib \ + ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a + ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a + LIB_BUNDLED = \ +diff -Nru WRF-4.4.orig/arch/conf_tokens WRF-4.4/arch/conf_tokens +--- WRF-4.4.orig/arch/conf_tokens 2022-08-05 12:50:41.028607000 +0200 ++++ WRF-4.4/arch/conf_tokens 2022-08-05 12:53:57.832914000 +0200 +@@ -5,6 +5,7 @@ + CONFIGURE_DMPARALLEL + CONFIGURE_RWORDSIZE + CONFIGURE_NETCDF_FLAG ++CONFIGURE_NETCDFF_FLAG + CONFIGURE_GRIB2_FLAG + CONFIGURE_NETCDF_LIB_PATH + CONFIGURE_GRIB2_LIB +@@ -13,4 +14,5 @@ + CONFIGURE_WRFIO_NF + CONFIGURE_WRFIO_GRIB2 + CONFIGURE_NETCDF_PATH ++CONFIGURE_NETCDFF_PATH + CONFIGURE_GRIB2_INC +diff -Nru WRF-4.4.orig/arch/postamble WRF-4.4/arch/postamble +--- WRF-4.4.orig/arch/postamble 2022-08-05 12:50:41.031770000 +0200 ++++ WRF-4.4/arch/postamble 2022-08-05 12:54:52.759085000 +0200 +@@ -53,6 +53,7 @@ + -I$(WRF_SRC_ROOT_DIR)/phys \ + -I$(WRF_SRC_ROOT_DIR)/wrftladj \ + -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ ++ -I$(NETCDFPATH)/include -I$(NETCDFFPATH)/include \ + -I$(NETCDFPATH)/include \ + CONFIGURE_RTTOV_INC CONFIGURE_CTSM_INC + REGISTRY = Registry +@@ -63,6 +64,7 @@ + ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS + CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE + NETCDFPATH = CONFIGURE_NETCDF_PATH ++NETCDFFPATH = CONFIGURE_NETCDFF_PATH + HDF5PATH = CONFIGURE_HDF5_PATH + WRFPLUSPATH = CONFIGURE_WRFPLUS_PATH + RTTOVPATH = CONFIGURE_RTTOV_PATH +@@ -94,7 +96,7 @@ + + wrfio_nf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \ +- make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ ++ make $(J) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ + CC="$(SCC)" CFLAGS="$(CFLAGS)" \ + FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + +@@ -105,7 +107,7 @@ + + wrfio_pnf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \ +- make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ ++ make $(J) NETCDFPATH="$(PNETCDFPATH)" NETCDFFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ + FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_grib_share : +diff -Nru WRF-4.4.orig/configure WRF-4.4/configure +--- WRF-4.4.orig/configure 2022-08-05 12:50:41.453325000 +0200 ++++ WRF-4.4/configure 2022-08-05 12:57:14.821614000 +0200 +@@ -222,9 +222,13 @@ + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" -o -f "$NETCDF/lib/libnetcdff.dll.a" ] ; then + USENETCDFF="-lnetcdff" + else +- USENETCDFF=" " ++ if [ -f "$NETCDFF/lib/libnetcdff.a" -o -f "$NETCDFF/lib/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-L$NETCDFF/lib64!-lnetcdff" # ! will be replaced with space ++ else ++ USENETCDFF=" " ++ fi + fi +- if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then ++ if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib64/libnetcdf.a" -o -f "$NETCDF/lib64/libnetcdf.so" ] ; then + USENETCDF="-lnetcdf" + else + USENETCDF=" " +@@ -566,7 +570,7 @@ + srch=`grep -i "^#ARCH.*$os" arch/configure.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ +- -netcdf=$NETCDF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ ++ -netcdf=$NETCDF -netcdff=$NETCDFF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER -tfl="$TFL" -cfl="$CFL" -config_line="$config_line" \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" +@@ -648,14 +652,14 @@ + echo "If you wish to change the default options, edit the file:" + echo " arch/configure.defaults" + +-if test -n "$NETCDF" ; then +- if [ ! -f $NETCDF/include/netcdf.inc ] ; then ++if test -n "$NETCDFF" ; then ++ if [ ! -f $NETCDFF/include/netcdf.inc ] ; then + echo +- echo "Error : Not found $NETCDF/include/netcdf.inc" ++ echo "Error : Not found $NETCDFF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + exit -1 + fi +- grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null ++ grep nf_format_64bit $NETCDFF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_NO_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" +diff -Nru WRF-4.4.orig/external/io_netcdf/makefile WRF-4.4/external/io_netcdf/makefile +--- WRF-4.4.orig/external/io_netcdf/makefile 2022-08-05 12:50:41.676471000 +0200 ++++ WRF-4.4/external/io_netcdf/makefile 2022-08-05 15:32:21.053573000 +0200 +@@ -3,9 +3,9 @@ + OBJSL = wrf_io.o field_routines.o module_wrfsi_static.o + OBJS = $(OBJSL) + CODE = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdf +-LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -lnetcdf ++LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -L$(NETCDFFPATH)/lib -L$(NETCDFFPATH)/lib64 -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -24,7 +24,7 @@ + $(RANLIB) $@ + + wrf_io.o: wrf_io.F90 $(CODE) +- grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\ ++ grep nf_format_64bit $(NETCDFFPATH)/include/netcdf.inc ;\ + a=$$? ; export a ; \ + if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \ + $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \ +@@ -43,14 +43,14 @@ + x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \ + if [ $$x = "gfortran" ] ; then \ + echo removing external declaration of iargc for gfortran ; \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ + else \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ + fi + $(FC) -c $(FFLAGS) diffwrf.f + @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) -a \( -f ../../frame/clog.o \) ] ; then \ + echo "diffwrf io_netcdf is being built now. " ; \ +- if [ \( -f $(NETCDFPATH)/lib/libnetcdff.a -o -f $(NETCDFPATH)/lib/libnetcdff.so -o -f $(NETCDFPATH)/lib/libnetcdff.dll.a \) ] ; then \ ++ if [ \( -f $(NETCDFFPATH)/lib/libnetcdff.a -o -f $(NETCDFFPATH)/lib/libnetcdff.so -o -f $(NETCDFFPATH)/lib64/libnetcdff.a -o -f $(NETCDFFPATH)/lib64/libnetcdff.so \) ] ; then \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBFFS) ;\ + else \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\ +diff -Nru WRF-4.4.orig/external/io_pnetcdf/Makefile WRF-4.4/external/io_pnetcdf/Makefile +--- WRF-4.4.orig/external/io_pnetcdf/Makefile 2022-08-05 12:50:41.688872000 +0200 ++++ WRF-4.4/external/io_pnetcdf/Makefile 2022-08-05 13:00:28.273185000 +0200 +@@ -9,8 +9,8 @@ + ext_pnc_put_var_td.code \ + ext_pnc_put_var_ti.code \ + transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = -L$(NETCDFPATH)/lib -lpnetcdf ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = -L$(NETCDFFPATH)/lib -lpnetcdf + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -25,15 +25,15 @@ + $(RANLIB) libwrfio_pnf.a + + wrf_io.o: wrf_io.F90 $(CODE) +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f + $(FC) $(FFLAGS) -c wrf_io.f + + module_wrfsi_static.o: module_wrfsi_static.F90 +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f + $(FC) $(FFLAGS) -c module_wrfsi_static.f + + field_routines.o: field_routines.F90 wrf_io.o +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f + $(FC) $(FFLAGS) -c field_routines.f + + superclean: +diff -Nru WRF-4.4.orig/Makefile WRF-4.4/Makefile +--- WRF-4.4.orig/Makefile 2022-08-05 12:50:40.979120000 +0200 ++++ WRF-4.4/Makefile 2022-08-05 13:03:38.672102000 +0200 +@@ -923,7 +923,7 @@ + @ echo '--------------------------------------' + ( cd frame ; $(MAKE) $(J) LLIST="$(LINKLIST)" framework ; \ + cd ../external/io_netcdf ; \ +- $(MAKE) NETCDFPATH="$(NETCDFPATH)" \ ++ $(MAKE) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" \ + FC="$(FC) $(FCBASEOPTS) $(PROMOTION) $(FCDEBUG) $(OMP)" RANLIB="$(RANLIB)" \ + CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \ + LIB_LOCAL="$(LIB_LOCAL)" \ +@@ -1070,9 +1070,9 @@ + # rule used by configure to test if this will compile with netcdf4 + nc4_test: + if [ $(USENETCDFPAR) -eq 0 ] ; then \ +- ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ ++ ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ + else \ +- ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(DM_CC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ ++ ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(DM_CC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ + fi + + # rule used by configure to test if Fortran 2003 IEEE signaling is available diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..eb4b2f98bb1c --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.3.0.eb @@ -0,0 +1,62 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.21.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] + +dependencies = [ + ('libffi', '3.4.2'), + ('expat', '2.4.8'), + ('libxml2', '2.9.13'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'source_urls': ['https://wayland.freedesktop.org/releases'], + 'sources': [SOURCE_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/wayland/-/releases/%(version)s/downloads'], + 'checksums': ['6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac'], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.25', { + 'checksums': ['f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460'], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..84e55e3290e4 --- /dev/null +++ b/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'Waylandpp' +version = '1.0.0' + +homepage = 'https://github.com/NilsBrause/waylandpp' +description = """Wayland is an object oriented display protocol, which +features request and events. Requests can be seen as method calls on +certain objects, whereas events can be seen as signals of an object. +This makes the Wayland protocol a perfect candidate for a C++ binding. + +The goal of this library is to create such a C++ binding for Wayland +using the most modern C++ technology currently available, providing +an easy to use C++ API to Wayland.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NilsBrause/waylandpp/archive'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + 'b20b45917382c6b87e9380130c9a1a1c563da2f498de5830df12fbce326dd9f5', # 1.0.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('pugixml', '1.12.1'), + ('Wayland', '1.21.0'), + ('freeglut', '3.2.2'), +] + +sanity_check_paths = { + 'files': ['bin/wayland-scanner++', 'lib//libwayland-client-extra++.%s' % SHLIB_EXT, + 'lib/libwayland-client++.%s' % SHLIB_EXT, + 'lib/libwayland-client-unstable++.%s' % SHLIB_EXT, + 'lib/libwayland-cursor++.%s' % SHLIB_EXT, + 'lib/libwayland-egl++.%s' % SHLIB_EXT, + 'lib/libwayland-server-extra++.%s' % SHLIB_EXT, + 'lib/libwayland-server++.%s' % SHLIB_EXT, + 'lib/libwayland-server-unstable++.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb new file mode 100644 index 000000000000..d944a2691e6e --- /dev/null +++ b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb @@ -0,0 +1,89 @@ +# Updated from WebKitGTK+-2.27.4-GCC-8.3.0.eb with more modules added +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'WebKitGTK+' +version = '2.37.1' + +homepage = 'https://webkitgtk.org/' +description = """WebKitGTK+ is a full-featured port of the WebKit +rendering engine, suitable for projects requiring any kind of web +integration, from hybrid HTML/CSS applications to full-fledged web +browsers. It offers WebKit's full functionality and is useful in a wide +range of systems from desktop computers to embedded systems like phones, +tablets, and televisions.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://webkitgtk.org/releases'] +sources = ['webkitgtk-%(version)s.tar.xz'] +checksums = [ + 'c53326b1751f8c6da3db2f4bfa91c1801755893e287d0e1f6c07344589d4a6a7', # webkitgtk-2.37.1.tar.xz +] + +osdependencies = [ + # Would be better to use the system package due to security reasons + # But we need at least libgcrypt 1.7.0 and Ubuntu 16.04 and RH 7.5 + # are both using a too old version. + # Update: Libcrypt 1.9.3 from EasyBuild added (J.S) + # ('libgcrypt-dev', 'libgcrypt20-dev', 'libgcrypt-devel'), + # libsecret is not actually needed since USE_LIBSECRET option is disabled + # ('libsecret-1-dev', 'libsecret-devel'), +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Python', '3.9.6'), + ('Perl', '5.34.0', '-minimal'), + ('GObject-Introspection', '1.68.0'), + ('pkg-config', '0.29.2'), + ('ccache', '4.6.1'), +] +dependencies = [ + ('GLib', '2.69.1'), + ('gperf', '3.1'), + ('cairo', '1.16.0'), + ('GTK3', '3.24.31'), + ('LibSoup', '3.0.7'), + ('ATK', '2.36.0'), + ('libgcrypt', '1.9.3'), + ('libwebp', '1.2.0'), + ('libxslt', '1.1.34'), + ('libtasn1', '4.18.0'), + ('GStreamer', '1.18.5'), + ('OpenJPEG', '2.4.0'), + ('Ruby', '3.0.1'), + ('GSL', '2.7'), + ('glew', '2.2.0', '-egl'), + ('libwpe', '1.13.3'), + ('pugixml', '1.12.1'), + ('Wayland', '1.21.0'), + ('Waylandpp', '1.0.0'), + ('wpebackend-fdo', '1.13.1'), + ('enchant-2', '2.3.3'), + ('LittleCMS', '2.12'), + ('GST-plugins-base', '1.18.5'), +] + +# The build takes around 2.5 hours on 24 cores on AMD Rome! +# So be patient! + +# Instead of using a patch file, we are disabling problematic builds in the command line. +# At least this way, if something is not needed it can be turned off, without looking into +# a patch file. +configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON -DPORT=GTK -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE " +configopts += "-DENABLE_GAMEPAD=OFF -DUSE_LIBSECRET=OFF -DUSE_LIBHYPHEN=OFF " +configopts += "-DUSE_WOFF2=OFF -DENABLE_JOURNALD_LOG=OFF -DENABLE_BUBBLEWRAP_SANDBOX=OFF " +configopts += "-DENABLE_INTROSPECTION=OFF -DUSE_LIBNOTIFY=OFF " + +prebuildopts = "export CCACHE_DIR=%(builddir)s/ccache && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/WebKitWebDriver', 'lib/libwebkit2gtk-4.1.%s' % SHLIB_EXT, + 'lib/libjavascriptcoregtk-4.1.%s' % SHLIB_EXT], + 'dirs': ['include/webkitgtk-4.1/webkit2', 'libexec/webkit2gtk-4.1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/wandb/wandb-0.13.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wandb/wandb-0.13.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..1fdb7113a4e8 --- /dev/null +++ b/easybuild/easyconfigs/w/wandb/wandb-0.13.4-GCCcore-11.3.0.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'wandb' +version = '0.13.4' + +homepage = 'https://www.wandb.com/' +description = """ +CLI and Python API for Weights and Biases: a tool for visualizing and tracking +your machine learning experiments.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('GitPython', '3.1.27'), + ('PyYAML', '6.0'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('yaspin', '2.1.0', { + 'checksums': ['c8d34eca9fda3f4dfbe59f57f3cf0f3641af3eefbf1544fbeb9b3bacf82c580a'], + }), + ('shortuuid', '1.0.9', { + 'checksums': ['459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5'], + }), + ('setproctitle', '1.3.2', { + 'checksums': ['b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd'], + }), + ('sentry-sdk', '1.8.0', { + 'checksums': ['9c68e82f7b1ad78aee6cdef57c2c0f6781ddd9ffa8848f4503c5a8e02b360eea'], + }), + ('charset-normalizer', '2.0.12', { + 'checksums': ['2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597'], + }), + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('pathtools', '0.1.2', { + 'checksums': ['7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0'], + }), + ('docker-pycreds', '0.4.0', { + 'modulename': 'dockerpycreds', + 'checksums': ['6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4'], + }), + (name, version, { + 'checksums': ['51e2672e12cca94680f6bcff0af80822d562e6b7846036050fc5bdd00240ea75'], + }), +] + +sanity_check_paths = { + 'files': ['bin/wandb', 'bin/wb'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ['wandb --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/wandb/wandb-0.13.6-GCC-11.3.0.eb b/easybuild/easyconfigs/w/wandb/wandb-0.13.6-GCC-11.3.0.eb new file mode 100644 index 000000000000..7b9de203570d --- /dev/null +++ b/easybuild/easyconfigs/w/wandb/wandb-0.13.6-GCC-11.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'wandb' +version = '0.13.6' + +homepage = 'https://wandb.ai' +description = """CLI and Python API for Weights and Biases (wandb), a tool for visualizing and +tracking your machine learning experiments.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('GitPython', '3.1.27'), + ('PyYAML', '6.0'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('docker-pycreds', '0.4.0', { + 'modulename': 'dockerpycreds', + 'checksums': ['6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4'], + }), + ('pathtools', '0.1.2', { + 'checksums': ['7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0'], + }), + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('urllib3', '1.26.13', { + 'checksums': ['c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8'], + }), + ('sentry-sdk', '1.11.1', { + 'checksums': ['675f6279b6bb1fea09fd61751061f9a90dca3b5929ef631dd50dc8b3aeb245e9'], + }), + ('setproctitle', '1.3.2', { + 'checksums': ['b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd'], + }), + ('shortuuid', '1.0.11', { + 'checksums': ['fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789'], + }), + (name, version, { + 'checksums': ['0d721aea476fd013c61a516948630ad58ceba78f4283b1f4b446e931664a8a98'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wandb', 'wb']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/w/wget/wget-1.21.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.21.3-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..5c953192438b --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.3-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'wget' +version = '1.21.3' + +homepage = 'https://www.gnu.org/software/wget' +description = """GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, + the most widely-used Internet protocols. It is a non-interactive commandline tool, + so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch'] +checksums = [ + {'wget-1.21.3.tar.gz': '5726bb8bc5ca0f6dc7110f6416e4bb7019e2d2ff5bf93d1ca2ffcc6656f220e5'}, + {'wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch': + '0e0aa7a1a4afbe1eefbafb196f162fa5068a03325e342fdc212a16e3c4c946d4'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), + ('Perl', '5.34.1'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.2'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date gnutls for security reasons + # ('GnuTLS', '3.7.1'), +] + +# make sure pkg-config picks up system packages (OpenSSL & co) +preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +configopts = '--with-ssl=openssl ' + +# Optionally, you can use gnutls (default) instead of OpenSSL. +# Do not forget to comment out configopts in that case. +# osdependencies = [('gnutls-devel', 'gnutls-dev', 'libgnutls-devel')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/w/wget/wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch b/easybuild/easyconfigs/w/wget/wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch new file mode 100644 index 000000000000..dcdae13629cc --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch @@ -0,0 +1,32 @@ +2022-04-30 Bruno Haible + +string: Avoid syntax error on glibc systems with GCC 11. +Reported by Tom Tromey in + +and by Satadru Pramanik in +. +* lib/string.in.h (strndup): Don't rededeclare strndup if it is defined +as a macro. + +diff --git a/lib/string.in.h b/lib/string.in.h +index b6840fa912..33160b2525 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -583,7 +583,7 @@ _GL_FUNCDECL_RPL (strndup, char *, + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); + # else +-# if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11 ++# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) +@@ -593,7 +593,7 @@ _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); + # endif + _GL_CXXALIASWARN (strndup); + #else +-# if __GNUC__ >= 11 ++# if __GNUC__ >= 11 && !defined strndup + /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) diff --git a/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.13.1-GCCcore-11.2.0.eb new file mode 100644 index 000000000000..e675f510aa13 --- /dev/null +++ b/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.13.1-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MesonNinja' + +name = 'wpebackend-fdo' +version = '1.13.1' + +homepage = 'https://wpewebkit.org/' +description = """WPE WebKit allows embedders to create simple and performant +systems based on Web platform technologies. It is a WebKit port designed with +flexibility and hardware acceleration in mind, leveraging common 3D graphics +APIs for best performance.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://wpewebkit.org/releases'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['d61ca47ec52d7cd1d6f869f66d6ea247a53092acfad1a8cbab71836a82d3a0ae'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('pugixml', '1.12.1'), + ('Waylandpp', '1.0.0'), + ('libepoxy', '1.5.8'), + ('glib-networking', '2.72.1'), + ('libwpe', '1.13.3'), +] + +sanity_check_paths = { + 'files': ['lib/libWPEBackend-fdo-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..d6728d4b5445 --- /dev/null +++ b/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +# Author:: Michael Dickens - TAMU HPRC - https://hprc.tamu.edu +# Updated to GCC 11.2.0 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'MakeCp' + +name = 'wtdbg2' +version = '2.5' + +homepage = 'https://github.com/ruanjue/wtdbg2' + +description = """ + Wtdbg2 is a de novo sequence assembler for long noisy reads produced by PacBio + or Oxford Nanopore Technologies (ONT). It assembles raw reads without error + correction and then builds the consensus from intermediate assembly output. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'ruanjue' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a2ffc8503d29f491a9a38ef63230d5b3c96db78377b5d25c91df511d0df06413'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Perl', '5.34.1')] + +prebuildopts = "sed -i 's/CFLAGS=-g3/CFLAGS+=-g3/g' Makefile && " + +local_executables = ['wtdbg2', 'wtdbg2.pl', 'wtpoa-cns', 'kbm2', 'wtdbg-cns', 'pgzf'] + +files_to_copy = [(local_executables, 'bin'), 'README-ori.md', 'README.md', 'scripts'] + +fix_perl_shebang_for = ['bin/*.pl', 'scripts/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["wtdbg2 --help"] + +modextrapaths = { + 'PATH': 'scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-4.2.0-foss-2021b.eb b/easybuild/easyconfigs/w/wxPython/wxPython-4.2.0-foss-2021b.eb new file mode 100644 index 000000000000..6a911f23dd82 --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-4.2.0-foss-2021b.eb @@ -0,0 +1,48 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +name = 'wxPython' +version = '4.2.0' + +homepage = "https://www.wxpython.org/" +description = """Wraps the wxWidgets C++ toolkit and provides access to the user interface portions of the wxWidgets +API, enabling Python applications to have a native GUI on Windows, Macs or Unix systems, with a native look and feel +and requiring very little (if any) platform specific code.""" + + +toolchain = {'name': 'foss', 'version': '2021b'} +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'wxPython-4.1.1_fix_install_path.patch', + 'wxPython-4.1.1_use_bang_env_python.patch', +] +checksums = [ + {'wxPython-4.2.0.tar.gz': '663cebc4509d7e5d113518865fe274f77f95434c5d57bc386ed58d65ceed86c7'}, + {'wxPython-4.1.1_fix_install_path.patch': 'f13743877deddbf525bbb3f81c8f7a6b0c2dbf1333595926f653f696999e31ce'}, + {'wxPython-4.1.1_use_bang_env_python.patch': 'c355c60a8cce3018fc0c30ffc78623efd2481e9baf33673e22a57863e1a3ac87'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pillow', '8.3.2'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.1'), + ('GTK3', '3.24.31'), + ('GLib', '2.69.1'), + ('GConf', '3.2.6'), + ('GST-plugins-base', '1.18.5'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('LibSoup', '3.0.7'), + ('wxWidgets', '3.2.0'), # wxPython 4.2 depends on wxWidgets >=3.2 + ('WebKitGTK+', '2.37.1'), + ('attrdict3', '2.0.2'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.0-GCC-11.2.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.0-GCC-11.2.0.eb new file mode 100644 index 000000000000..631d9b165c33 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.0-GCC-11.2.0.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.0' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['356e9b55f1ae3d58ae1fed61478e9b754d46b820913e3bfbc971c50377c1903a'] + +builddependencies = [ + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.1'), + ('GTK3', '3.24.31'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('SDL2', '2.0.20'), + ('cairo', '1.16.0'), + ('GST-plugins-base', '1.18.5'), + ('GLib', '2.69.1'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb index f4c078710de4..b8451ed12b7b 100644 --- a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb @@ -14,17 +14,10 @@ uses the platform's native API rather than emulating the GUI.""" toolchain = {'name': 'GCC', 'version': '11.3.0'} toolchainopts = {'pic': True} -# wxWidgets now contain three submodules: catch, nanosvg and pcre -sources = [{ - 'git_config': { - 'url': 'https://github.com/wxWidgets/', - 'repo_name': 'wxWidgets', - 'tag': 'v%(version)s', - 'recursive': True, - }, - 'filename': SOURCE_TAR_GZ, -}] -checksums = [None] +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['c229976bb413eb88e45cb5dfb68b27890d450149c09b331abd751e7ae0f5fa66'] builddependencies = [ ('gettext', '0.21'), diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..763e60230cd5 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,72 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.2.1' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02'] + +builddependencies = [ + ('binutils', '2.39'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.4'), + ('XZ', '5.2.7'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.4.0'), + ('expat', '2.4.9'), + ('GTK3', '3.24.35'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('SDL2', '2.26.3'), + ('cairo', '1.17.4'), + ('GST-plugins-base', '1.22.1'), + ('GLib', '2.75.0'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20221110-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/X11/X11-20221110-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..ea22050d1227 --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20221110-GCCcore-12.2.0.eb @@ -0,0 +1,213 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20221110' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('Bison', '3.8.2'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('intltool', '0.51.0'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.14.1'), + ('freetype', '2.12.1'), + ('zlib', '1.2.12'), + ('xorg-macros', '1.19.3'), + ('libpciaccess', '0.17'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.4', { # 2017-03-14 + 'checksums': ['50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9'], + }), + ('xorgproto', '2022.2', { # 2022-08-11 + 'checksums': ['da351a403d07a7006d7bdc8dcfc14ddc1b588b38fb81adab9989a8eef605757b'], + }), + ('libXau', '1.0.10', { # 2022-08-26 + 'checksums': ['51a54da42475d4572a0b59979ec107c27dacf6c687c2b7b04e5cf989a7c7e60c'], + }), + ('libXdmcp', '1.1.3', { # 2019-03-16 + 'checksums': ['2ef9653d32e09d1bf1b837d0e0311024979653fe755ad3aaada8db1aa6ea180c'], + }), + ('xcb-proto', '1.15.2', { # 2022-06-17 + 'checksums': ['6b1ed9cd7cf35e37913eeecca37e5b85b14903002942b3e332f321335c27a8eb'], + }), + ('libxcb', '1.15', { # 2022-05-03 + 'checksums': ['1cb65df8543a69ec0555ac696123ee386321dfac1964a3da39976c9a05ad724d'], + }), + ('xtrans', '1.4.0', { # 2019-03-16 + 'checksums': ['48ed850ce772fef1b44ca23639b0a57e38884045ed2cbb18ab137ef33ec713f9'], + }), + ('libxkbcommon', '1.4.1', { # 2022-05-21 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['943c07a1e2198026d8102b17270a1f406e4d3d6bbc4ae105b9e1b82d7d136b39'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.8.2', { # 2022-11-10 + 'checksums': ['f1bc56187bee0f830e1179ac5068ac93b78c51ace94eb27702ffb2efd116587b'], + }), + ('libXext', '1.3.5', { # 2022-10-29 + 'checksums': ['1a3dcda154f803be0285b46c9338515804b874b5ccc7a2b769ab7fd76f1035bd'], + }), + ('libFS', '1.0.9', { # 2022-08-26 + 'checksums': ['8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a'], + }), + ('libICE', '1.0.10', { # 2019-07-14 + 'checksums': ['1116bc64c772fd127a0d0c0ffa2833479905e3d3d8197740b3abd5f292f22d2d'], + }), + ('libSM', '1.2.3', { # 2018-10-10 + 'checksums': ['1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320'], + }), + ('libXScrnSaver', '1.2.3', { # 2018-07-05 + 'checksums': ['4f74e7e412144591d8e0616db27f433cfc9f45aae6669c6c4bb03e6bf9be809a'], + }), + ('libXt', '1.2.1', { # 2021-01-24 + 'checksums': ['6da1bfa9dd0ed87430a5ce95b129485086394df308998ebe34d98e378e3dfb33'], + }), + ('libXmu', '1.1.4', { # 2022-10-17 + 'checksums': ['3091d711cdc1d8ea0f545a13b90d1464c3c3ab64778fd121f0d789b277a80289'], + }), + ('libXpm', '3.5.13', { # 2019-12-13 + 'checksums': ['e3dfb0fb8c1f127432f2a498c7856b37ce78a61e8da73f1aab165a73dd97ad00'], + }), + ('libXaw', '1.0.14', { # 2021-03-27 + 'checksums': ['59cfed2712cc80bbfe62dd1aacf24f58d74a76dd08329a922077b134a8d8048f'], + }), + ('libXfixes', '6.0.0', { # 2021-05-11 + 'checksums': ['82045da5625350838390c9440598b90d69c882c324ca92f73af9f0e992cb57c7'], + }), + ('libXcomposite', '0.4.5', { # 2019-03-11 + 'checksums': ['581c7fc0f41a99af38b1c36b9be64bc13ef3f60091cd3f01105bbc7c01617d6c'], + }), + ('libXrender', '0.9.11', { # 2022-10-22 + 'checksums': ['6aec3ca02e4273a8cbabf811ff22106f641438eb194a12c0ae93c7e08474b667'], + }), + ('libXcursor', '1.2.1', { # 2022-04-03 + 'checksums': ['77f96b9ad0a3c422cfa826afabaf1e02b9bfbfc8908c5fa1a45094faad074b98'], + }), + ('libXdamage', '1.1.5', { # 2019-03-11 + 'checksums': ['630ec53abb8c2d6dac5cd9f06c1f73ffb4a3167f8118fdebd77afd639dbc2019'], + }), + ('libfontenc', '1.1.6', { # 2022-08-30 + 'checksums': ['c103543a47ce5c0200fb1867f32df5e754a7c3ef575bf1fe72187117eac22a53'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.6', { # 2022-08-26 + 'checksums': ['a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc'], + }), + ('libXft', '2.3.6', { # 2022-09-10 + 'checksums': ['b7e59f69e0bbabe9438088775f7e5a7c16a572e58b11f9722519385d38192df5'], + }), + ('libXi', '1.8', { # 2021-09-15 + 'checksums': ['c80fd200a1190e4406bb4cc6958839d9651638cb47fa546a595d4bebcd3b9e2d'], + }), + ('libXinerama', '1.1.5', { # 2022-10-29 + 'checksums': ['2efa855cb42dc620eff3b77700d8655695e09aaa318f791f201fa60afa72b95c'], + }), + ('libXrandr', '1.5.2', { # 2019-03-16 + 'checksums': ['3f10813ab355e7a09f17e147d61b0ce090d898a5ea5b5519acd0ef68675dcf8e'], + }), + ('libXres', '1.2.1', { # 2021-03-31 + 'checksums': ['918fb33c3897b389a1fbb51571c5c04c6b297058df286d8b48faa5af85e88bcc'], + }), + ('libXtst', '1.2.4', { # 2022-09-27 + 'checksums': ['01366506aeb033f6dffca5326af85f670746b0cabbfd092aabefb046cf48c445'], + }), + ('libXv', '1.0.11', { # 2016-10-04 + 'checksums': ['c4112532889b210e21cf05f46f0f2f8354ff7e1b58061e12d7a76c95c0d47bb1'], + }), + ('libXvMC', '1.0.13', { # 2022-03-22 + 'checksums': ['e630b4373af8c67a7c8f07ebe626a1269a613d262d1f737b57231a06f7c34b4e'], + }), + ('libXxf86dga', '1.1.5', { # 2019-03-16 + 'checksums': ['715e2bf5caf6276f0858eb4b11a1aef1a26beeb40dce2942387339da395bef69'], + }), + ('libXxf86vm', '1.1.5', { # 2022-09-27 + 'checksums': ['f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128'], + }), + ('libdmx', '1.1.4', { # 2018-05-14 + 'checksums': ['4d05bd5b248c1f46729fa1536b7a5e4d692567327ad41564c36742fb327af925'], + }), + ('libxkbfile', '1.1.1', { # 2022-10-18 + 'checksums': ['87faee6d4873c5631e8bb53e85134084b862185da682de8617f08ca18d82e216'], + }), + ('libxshmfence', '1.3', { # 2018-02-26 + 'checksums': ['7eb3d46ad91bab444f121d475b11b39273142d090f7e9ac43e6a87f4ff5f902c'], + }), + ('xcb-util', '0.4.0', { # 2014-10-15 + 'checksums': ['0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7'], + }), + ('xcb-util-image', '0.4.1', { # 2022-10-18 + 'checksums': ['0ebd4cf809043fdeb4f980d58cdcf2b527035018924f8c14da76d1c81001293b'], + }), + ('xcb-util-keysyms', '0.4.1', { # 2022-10-19 + 'checksums': ['1fa21c0cea3060caee7612b6577c1730da470b88cbdf846fa4e3e0ff78948e54'], + }), + ('xcb-util-renderutil', '0.3.10', { # 2022-10-19 + 'checksums': ['e04143c48e1644c5e074243fa293d88f99005b3c50d1d54358954404e635128a'], + }), + ('xcb-util-wm', '0.4.2', { # 2022-10-19 + 'checksums': ['dcecaaa535802fd57c84cceeff50c64efe7f2326bf752e16d2b77945649c8cd7'], + }), + ('xcb-util-cursor', '0.1.4', { # 2022-10-18 + 'checksums': ['cc8608ebb695742b6cf84712be29b2b66aa5f6768039528794fca0fa283022bf'], + }), + ('xkeyboard-config', '2.37', { # 2022-10-04 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['eb1383a5ac4b6210d7c7302b9d6fab052abdf51c5d2c9b55f1f779997ba68c6c'], + # required to overrule parent preconfigopts that runs autogen.sh if configure script is missing + 'preconfigopts': '', + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.4', { # 2022-09-12 + 'checksums': ['05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba'], + }), + ('xbitmaps', '1.1.2', { # 2018-03-10 + 'checksums': ['27e700e8ee02c43f7206f4eca8f1953ad15236cac95d7a0f08505c3f7d99c265'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..16e144e63941 --- /dev/null +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'XCFun' +version = '2.1.1' + +homepage = 'https://xcfun.readthedocs.io' +description = """Arbitrary order exchange-correlation functional library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/dftlibs/xcfun/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8b602df74c7be83d501532565deafd1b7881946d94789122f24c309a669298ab'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1') +] + +modextravars = {'XCFun_DIR': '%(installdir)s/share/cmake/XCFun/'} + +sanity_check_paths = { + 'files': ['lib/libxcfun.%s' % SHLIB_EXT], + 'dirs': ['include/XCFun'] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb new file mode 100644 index 000000000000..36425089ffce --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.1' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb302c5c33e14bab94603940987940f29203ecb8767a7a719daf579fbfaace64'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.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/XGBoost/XGBoost-1.7.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..7f522d922183 --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.2' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f1a749aedb9330afc48007cc78b8bbbbea35ce372f48a2735f9c71bbc7b8dcfb'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +configopts = "-DUSE_CUDA=ON -DBUILD_WITH_CUDA_CUB=ON " + +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/XGBoost/XGBoost-1.7.2-foss-2022a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a.eb new file mode 100644 index 000000000000..96f8e7efca12 --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.2' + +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': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f1a749aedb9330afc48007cc78b8bbbbea35ce372f48a2735f9c71bbc7b8dcfb'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.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/XZ/XZ-5.2.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..2942a648d383 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.7' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b65f1d0c2708e57716f4dd2216989a73847ac6fdb4168ffceb155767e22b834b'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21.1', '', SYSTEM), + ('binutils', '2.39'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..67dd4f726141 --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.4' + +homepage = 'https://xerces.apache.org/xerces-c/' + +description = """Xerces-C++ is a validating XML parser written in a portable +subset of C++. Xerces-C++ makes it easy to give your application the ability to +read and write XML data. A shared library is provided for parsing, generating, +manipulating, and validating XML documents using the DOM, SAX, and SAX2 +APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['3d8ec1c7f94e38fee0e4ca5ad1e1d9db23cbf3a10bba626f6b4afa2dedafe5ab'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('cURL', '7.86.0'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/XInclude', + 'include/xercesc/xinclude/XIncludeUtils.hpp', + 'lib/libxerces-c-3.2.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..33d4856cc089 --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.8-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '3.0.8' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ec77335fb118c36bc5ed1c89e33904d649e4989df2d7980f7d6a9dd95ee5874e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/vba_extract.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['vba_extract.py --help'] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 000000000000..f3e9847d3b7f --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,103 @@ +name = 'Xmipp' +version = '3.22.07-Helios' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/I2PC/scipion/wiki' +description = """Scipion is an image processing framework to obtain 3D +models of macromolecular complexes using Electron Microscopy (3DEM). It +integrates several software packages and presents an unified interface +for both biologists and developers. Scipion allows to execute workflows +combining different software tools, while taking care of formats and +conversions. Additionally, all steps are tracked and can be reproduced +later on. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/I2PC/xmipp/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(namelower)s-v%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippCore/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippCore-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippViz/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippViz-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, + { + 'source_urls': ['https://github.com/DStrelak/cuFFTAdvisor/archive/'], + 'download_filename': '14523b8ca7e2f5474feae49eb5ac8ca1fa25f5cd.tar.gz', + 'filename': 'cuFFTAdvisor-20191010.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, +] +patches = [ + '%(name)s-%(version)s_fix_scons_Environent_calls.patch', + '%(name)s-%(version)s_drop_useless_CXXFLAGS_setting.patch', + '%(name)s-%(version)s_correct_order_of_cu_includes.patch', + '%(name)s-%(version)s_dont_add_useless_libs.patch', + '%(name)s-%(version)s_dont_change_EB_build_flags.patch', + '%(name)s-%(version)s_fix_missing_cuda_compatibility.cu_include.patch', + '%(name)s-%(version)s_fix_opencv_cuda_detection.patch', + ('XmippCore-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippCore'), + ('XmippCore-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippCore'), + ('XmippViz-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippViz'), + ('XmippViz-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippViz'), +] +checksums = [ + {'xmipp-v3.22.07-Helios.tar.gz': 'f62e2729130b63d18e518930dd96a7a5250219e40c155abb78942a0642237ecf'}, + {'xmippCore-v3.22.07-Helios.tar.gz': '58e1143626cf807655a4756b165c21578d6f1b1777b43d363a2845d92d0bab8f'}, + {'xmippViz-v3.22.07-Helios.tar.gz': 'e1ce2cbbd57d3307d38538b29194a0190d633e5e062685387a6baf0329ad05b3'}, + {'cuFFTAdvisor-20191010.tar.gz': '2d97cc1c9c955fa5bee44eb232d49f25f2c8ad164ea2be754d44c723c613be46'}, + {'Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch': + '5b59babad5a445ec7315a809509704d2d07232d2a5d180bfb78ebc8007bd0c95'}, + {'Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch': + '34ed0cb591e1e2788acd3e58696b1f45ce9210836d14ed1c99de1e574e4824e6'}, + {'Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch': + '2b0b2ddf349003be4112f4dca623586a03235214d6e64d232deb26468b52f0e3'}, + {'Xmipp-3.22.07-Helios_dont_add_useless_libs.patch': + '284b8ec1e514fb84b7680c8b3f59b3d5931b564beb444d3301504e3170e9a49e'}, + {'Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch': + '1514eaa5de35b38b5a10e949edf5c94ba95bbd05e0b9fbf70db2ea98967394e3'}, + {'Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch': + 'b478c08a6a260021b4b91e5a8f6d9c5637eafdedcd99fcb672fe356d1744d349'}, + {'Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch': + '9d7c90a8cdeca24dba41a0d2f11f59ab34a438ed34fa7f4850172848505ecbae'}, + {'XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch': + '8dcf0f3648f4b3438374ba629a9efa2e5c08eb25ae76ed420513664d21e2246b'}, + {'XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'd86b0d3ecc339b81c9aa7a33d2b44b428643aa7e2e686529b4bb6b16d36805c2'}, + {'XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch': + '7724fc3953d9c4c308a5755f54229259425fdbad5a909153bd173292434407b9'}, + {'XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'a8bea23c243174fb27a140a34a064a622cc96f0e7231fd31caf20f90c7ba9555'}, +] + +builddependencies = [ + ('SCons', '4.4.0'), + ('CTPL', '0.0.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Java', '11', '', SYSTEM), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('SQLite', '3.38.3'), + ('HDF5', '1.12.2'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('LIBSVM', '3.30'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb new file mode 100644 index 000000000000..9174334361ed --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb @@ -0,0 +1,87 @@ +name = 'Xmipp' +version = '3.22.07-Helios' + +homepage = 'https://github.com/I2PC/scipion/wiki' +description = """Scipion is an image processing framework to obtain 3D +models of macromolecular complexes using Electron Microscopy (3DEM). It +integrates several software packages and presents an unified interface +for both biologists and developers. Scipion allows to execute workflows +combining different software tools, while taking care of formats and +conversions. Additionally, all steps are tracked and can be reproduced +later on. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/I2PC/xmipp/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(namelower)s-v%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippCore/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippCore-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippViz/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippViz-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, +] +patches = [ + '%(name)s-%(version)s_fix_scons_Environent_calls.patch', + '%(name)s-%(version)s_drop_useless_CXXFLAGS_setting.patch', + '%(name)s-%(version)s_correct_order_of_cu_includes.patch', + '%(name)s-%(version)s_dont_add_useless_libs.patch', + '%(name)s-%(version)s_dont_change_EB_build_flags.patch', + ('XmippCore-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippCore'), + ('XmippCore-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippCore'), + ('XmippViz-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippViz'), + ('XmippViz-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippViz'), +] +checksums = [ + {'xmipp-v3.22.07-Helios.tar.gz': 'f62e2729130b63d18e518930dd96a7a5250219e40c155abb78942a0642237ecf'}, + {'xmippCore-v3.22.07-Helios.tar.gz': '58e1143626cf807655a4756b165c21578d6f1b1777b43d363a2845d92d0bab8f'}, + {'xmippViz-v3.22.07-Helios.tar.gz': 'e1ce2cbbd57d3307d38538b29194a0190d633e5e062685387a6baf0329ad05b3'}, + {'Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch': + '5b59babad5a445ec7315a809509704d2d07232d2a5d180bfb78ebc8007bd0c95'}, + {'Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch': + '34ed0cb591e1e2788acd3e58696b1f45ce9210836d14ed1c99de1e574e4824e6'}, + {'Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch': + '2b0b2ddf349003be4112f4dca623586a03235214d6e64d232deb26468b52f0e3'}, + {'Xmipp-3.22.07-Helios_dont_add_useless_libs.patch': + '284b8ec1e514fb84b7680c8b3f59b3d5931b564beb444d3301504e3170e9a49e'}, + {'Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch': + '1514eaa5de35b38b5a10e949edf5c94ba95bbd05e0b9fbf70db2ea98967394e3'}, + {'XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch': + '8dcf0f3648f4b3438374ba629a9efa2e5c08eb25ae76ed420513664d21e2246b'}, + {'XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'd86b0d3ecc339b81c9aa7a33d2b44b428643aa7e2e686529b4bb6b16d36805c2'}, + {'XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch': + '7724fc3953d9c4c308a5755f54229259425fdbad5a909153bd173292434407b9'}, + {'XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'a8bea23c243174fb27a140a34a064a622cc96f0e7231fd31caf20f90c7ba9555'}, +] + +builddependencies = [ + ('SCons', '4.4.0'), + ('CTPL', '0.0.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Java', '11', '', SYSTEM), + ('OpenCV', '4.6.0', '-contrib'), + ('SQLite', '3.38.3'), + ('HDF5', '1.12.2'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('LIBSVM', '3.30'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch new file mode 100644 index 000000000000..8b61aa946131 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch @@ -0,0 +1,19 @@ +commit baac03018283296f90c08366e0e092c95d25173b +Author: Ake Sandgren +Date: Tue Oct 18 14:34:34 2022 +0200 + + cuda_gpu_multidim_array.cu is just an include file containing templates. + Needs to be before cuda_gpu_geo_transformer.cu + +diff --git xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp +index f7e5178c..8ccbefd3 100644 +--- xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp ++++ xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp +@@ -31,6 +31,6 @@ + */ + + #include "cuda_gpu_bilib.cu" ++#include "cuda_gpu_multidim_array.cu" + #include "cuda_gpu_geo_transformer.cu" + #include "cuda_gpu_iirconvolve.cu" +-#include "cuda_gpu_multidim_array.cu" diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_add_useless_libs.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_add_useless_libs.patch new file mode 100644 index 000000000000..a0ad7920a2d6 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_add_useless_libs.patch @@ -0,0 +1,21 @@ +commit 4c1e2d678c5a33eae2ddb9f0558523d6d697e2b6 +Author: Ake Sandgren +Date: Thu Oct 27 08:04:04 2022 +0200 + + Don't add useless libraries to XmippInterfaceCuda and XmippParallelCuda + +diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct +index e70ea2cd..077541e8 100644 +--- xmipp-3.22.07-Helios/src/xmipp/SConstruct ++++ xmipp-3.22.07-Helios/src/xmipp/SConstruct +@@ -209,9 +209,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + """ + _libs = list(libs) + _libpath = list(libpath)+external_libdirs +- if name == "XmippInterfaceCuda": +- _libs.append("XmippCuda") +- if "Cuda" in name: ++ if name == "XmippCuda": + _libs.append("cudart") + #_libs.append("cuda") + _libs.append("cufft") diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch new file mode 100644 index 000000000000..3c7171f617a2 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch @@ -0,0 +1,41 @@ +commit e53881505ae212fa913fc536e60869e9b8e7f73c +Author: Ake Sandgren +Date: Thu Oct 27 09:45:11 2022 +0200 + + Don't change flags from what EasyBuild has decided to use. + +diff --git xmipp-3.22.07-Helios/scripts/config.py xmipp-3.22.07-Helios/scripts/config.py +index 0f58cbe3..b442a035 100644 +--- xmipp-3.22.07-Helios/scripts/config.py ++++ xmipp-3.22.07-Helios/scripts/config.py +@@ -293,7 +293,7 @@ class Config: + self.configDict["CCFLAGS"] += " -std=c99" + if 'g++' in self.get(Config.KEY_CXX): + # optimize for current machine +- self.configDict["CXXFLAGS"] += " -mtune=native -march=native -flto" ++ #self.configDict["CXXFLAGS"] += " -mtune=native -march=native -flto" + if "-std=c99" not in self.configDict["CXXFLAGS"]: + self.configDict["CXXFLAGS"] += " -std=c++17" + if isCIBuild(): +@@ -301,8 +301,8 @@ class Config: + self.configDict["CXXFLAGS"] += " -Werror" + # don't optimize, as it slows down the build + self.configDict["CXXFLAGS"] += " -O0" +- else: +- self.configDict["CXXFLAGS"] += " -O3" ++ #else: ++ # self.configDict["CXXFLAGS"] += " -O3" + if self.is_true("DEBUG"): + self.configDict["CXXFLAGS"] += " -g" + +@@ -315,8 +315,8 @@ class Config: + if self.configDict["LIBDIRFLAGS"] == "": + # /usr/local/lib or /path/to/virtEnv/lib + localLib = "%s/lib" % info['data'] +- self.configDict["LIBDIRFLAGS"] = "-L%s" % localLib +- self.environment.update(LD_LIBRARY_PATH=localLib) ++ #self.configDict["LIBDIRFLAGS"] = "-L%s" % localLib ++ #self.environment.update(LD_LIBRARY_PATH=localLib) + + # extra libs + hdf5InLocalLib = findFileInDirList("libhdf5*", localLib) diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch new file mode 100644 index 000000000000..7e4c86186258 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch @@ -0,0 +1,18 @@ +commit f647cd54c8fa2b0894f347cbf7f13aacc0b8c785 +Author: Ake Sandgren +Date: Tue Oct 18 14:30:08 2022 +0200 + + Drop redundant setting of env var CXXFLAGS to what it already is. + +diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct +index c921c3c5..e70ea2cd 100644 +--- xmipp-3.22.07-Helios/src/xmipp/SConstruct ++++ xmipp-3.22.07-Helios/src/xmipp/SConstruct +@@ -148,7 +148,6 @@ env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS') + env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split() + cxxFlags = os.environ.get('CXXFLAGS', '') + env['CXXFLAGS'] = cxxFlags.split() +-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code + env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split() + + diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch new file mode 100644 index 000000000000..52dc98a12128 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch @@ -0,0 +1,55 @@ +Fix support for CUDA arch < 6.0 + +Åke Sandgren, 2022-11-14 +diff --git a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu +index 83189250..f125e47d 100644 +--- a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu ++++ b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu +@@ -28,8 +28,9 @@ + + #include "cuda_compatibility.h" + ++#if defined(__CUDA_ARCH__) + #if __CUDA_ARCH__ < 600 +-__device__ double atomicAdd(double* address, double val) ++static __inline__ __device__ double atomicAdd(double* address, double val) + { + unsigned long long int* address_as_ull = + (unsigned long long int*)address; +@@ -47,6 +48,7 @@ __device__ double atomicAdd(double* address, double val) + return __longlong_as_double(old); + } + #endif ++#endif + + + #endif /* LIBRARIES_RECONSTRUCTION_CUDA_CUDA_COMPATIBILITY_CU_ */ +diff --git a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h +index 3bb44e0f..279ccbcb 100644 +--- a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h ++++ b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h +@@ -27,7 +27,11 @@ + #define LIBRARIES_RECONSTRUCTION_CUDA_CUDA_COMPATIBILITY_H_ + + +-__device__ double atomicAdd(double* address, double val); ++#if defined(__CUDA_ARCH__) ++#if __CUDA_ARCH__ < 600 ++static __inline__ __device__ double atomicAdd(double* address, double val); ++#endif ++#endif + + + #endif /* LIBRARIES_RECONSTRUCTION_CUDA_CUDA_COMPATIBILITY_H_ */ +diff --git a/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu b/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu +index c7dea8fb..9e267336 100644 +--- a/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu ++++ b/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu +@@ -27,6 +27,7 @@ + #define LIBRARIES_RECONSTRUCTION_CUDA_CUDA_CORRELATION_CU_ + + #include "cuda_compatibility.h" ++#include "cuda_compatibility.cu" + + /** + * Function computes sum and sum squared for each 2D signal diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch new file mode 100644 index 000000000000..0575ef6a225f --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch @@ -0,0 +1,25 @@ +Fix detection of OpenCV >= 3 + +Åke Sandgren, 2022-11-14 +diff --git a/src/xmipp/SConscript b/src/xmipp/SConscript +index a767fb99..89777947 100644 +--- a/src/xmipp/SConscript ++++ b/src/xmipp/SConscript +@@ -46,7 +46,7 @@ debug = get('DEBUG') + matlab = get('MATLAB') + opencv = env.GetOption('opencv') and get('OPENCV') + opencvsupportscuda = get('OPENCVSUPPORTSCUDA') +-opencv_3 = get('OPENCV3') ++opencv_ver = int(os.environ.get('OPENCV_VERSION', '0')) + starpu = get('STARPU') + + if opencv: +@@ -55,7 +55,7 @@ if opencv: + 'opencv_video', + 'libopencv_calib3d'] + if opencvsupportscuda: +- if opencv_3: ++ if opencv_ver >= 3: + opencvLibs+=['libopencv_cudaoptflow', 'libopencv_cudaarithm'] + else: + opencvLibs+=['libopencv_gpu'] diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch new file mode 100644 index 000000000000..3eb4c9cf326c --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch @@ -0,0 +1,37 @@ +commit 8ff0a1295743fae1eb069fe8242e524f348f5937 +Author: Ake Sandgren +Date: Tue Oct 18 14:28:47 2022 +0200 + + Make sure SCons sees the complete environment from EasyBuild. + +diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct +index 22ea72cf..c921c3c5 100644 +--- xmipp-3.22.07-Helios/src/xmipp/SConstruct ++++ xmipp-3.22.07-Helios/src/xmipp/SConstruct +@@ -236,7 +236,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + # the reason is a compilation error for CUDA, which results in a multiple symbol detection + # when the order is different. This has to be fixed in the future by changing the CUDA + # build system FIXME David Strelak +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['PATH'] = env['ENV']['PATH'] + env2['CXXFLAGS']=list(env['CXXFLAGS']) # list(.) causes a true copy and not just a pointer + env2['LINKFLAGS']=list(env['LINKFLAGS']) +@@ -425,7 +425,7 @@ def addProgram(env, name, src=None, pattern=None, installDir=None, + ldLibraryPathCopy = [env['LIBPATH']] + appendUnique(libPathsCopy, external_libdirs) # This order is important, because if we should use Scipion libs, these will be before the system libs + appendUnique(libPathsCopy, env.get('LIBPATH', '').split(os.pathsep)) +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['LD_LIBRARY_PATH'] = env['ENV'].get('LD_LIBRARY_PATH', '') + env2['ENV']['PATH'] = env['ENV']['PATH'] + +@@ -486,7 +486,7 @@ def compilerConfig(env): + + def libraryTest(env, name, lang='c'): + """Check the existence of a concrete C/C++ library.""" +- env2 = Environment(LIBS=env.get('LIBS','')) ++ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS','')) + conf = Configure(env2) + conf.CheckLib(name, language=lang) + env2 = conf.Finish() diff --git a/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch new file mode 100644 index 000000000000..06c3697efcb8 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch @@ -0,0 +1,28 @@ +commit 901b41d324b351995b9256d7ee6b370276274497 +Author: Ake Sandgren +Date: Tue Oct 18 14:21:03 2022 +0200 + + Make sure SCons sees the complete environment from EasyBuild. + +diff --git xmippCore-3.22.07-Helios/SConstruct xmippCore-3.22.07-Helios/SConstruct +index 1c5fec3..40ed01f 100644 +--- xmippCore-3.22.07-Helios/SConstruct ++++ xmippCore-3.22.07-Helios/SConstruct +@@ -207,7 +207,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + if not sources and env.TargetInBuild(name): + Exit('No sources found for Library: %s. Exiting!!!' % name) + +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['PATH'] = env['ENV']['PATH'] + env2['CXX'] = env['CXX'] + +@@ -363,7 +363,7 @@ def compilerConfig(env): + + def libraryTest(env, name, lang='c'): + """Check the existence of a concrete C/C++ library.""" +- env2 = Environment(LIBS=env.get('LIBS','')) ++ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS','')) + conf = Configure(env2) + conf.CheckLib(name, language=lang) + env2 = conf.Finish() diff --git a/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch new file mode 100644 index 000000000000..f1ac9fff312e --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch @@ -0,0 +1,24 @@ +commit 36ca78858e442f1df23f5cb6b87c877a864eff44 +Author: Ake Sandgren +Date: Tue Oct 18 14:23:16 2022 +0200 + + Only use CXXFLAGS from EasyBuild. + +diff --git xmippCore-3.22.07-Helios/SConstruct xmippCore-3.22.07-Helios/SConstruct +index 40ed01f..277443d 100644 +--- xmippCore-3.22.07-Helios/SConstruct ++++ xmippCore-3.22.07-Helios/SConstruct +@@ -136,13 +136,7 @@ env['CXX'] = os.environ.get('CXX') + env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS') + env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split() + cxxFlags = os.environ.get('CXXFLAGS', '') +-if os.environ.get('DEBUG', '0') == 'True': #FIXME, use 1, true, yes... +- cxxFlags += ' -g' +-else: +- if cxxFlags.find("-O")==-1: +- cxxFlags += (" -O3" if 'TRAVIS' not in os.environ else " -O0") #don't optimize on Travis, as it slows down the build + env['CXXFLAGS'] = cxxFlags.split() +-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code + env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split() + + diff --git a/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch new file mode 100644 index 000000000000..1cdd9c3add53 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch @@ -0,0 +1,28 @@ +commit 0e749b55db29360c9804f8c5e07094b7a5bf0597 +Author: Ake Sandgren +Date: Tue Oct 18 14:25:17 2022 +0200 + + Make sure scons sees the complete environment from EasyBuild. + +diff --git xmippViz-3.22.07-Helios/SConstruct xmippViz-3.22.07-Helios/SConstruct +index dc0a809..32c75be 100644 +--- xmippViz-3.22.07-Helios/SConstruct ++++ xmippViz-3.22.07-Helios/SConstruct +@@ -237,7 +237,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + if not sources and env.TargetInBuild(name): + Exit('No sources found for Library: %s. Exiting!!!' % name) + +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['PATH'] = env['ENV']['PATH'] + + mpiArgs = {} +@@ -474,7 +474,7 @@ def compilerConfig(env): + + def libraryTest(env, name, lang='c'): + """Check the existence of a concrete C/C++ library.""" +- env2 = Environment(LIBS=env.get('LIBS', '')) ++ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS', '')) + conf = Configure(env2) + conf.CheckLib(name, language=lang) + env2 = conf.Finish() diff --git a/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch new file mode 100644 index 000000000000..6d8802ccb21d --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch @@ -0,0 +1,25 @@ +commit 3d1e0e6e6da7aa7cc605be2a699f02b6cfbf4ca5 +Author: Ake Sandgren +Date: Tue Oct 18 14:26:22 2022 +0200 + + Only use CXXFLAGS from EasyBuild. + +diff --git xmippViz-3.22.07-Helios/SConstruct xmippViz-3.22.07-Helios/SConstruct +index 32c75be..fecd394 100644 +--- xmippViz-3.22.07-Helios/SConstruct ++++ xmippViz-3.22.07-Helios/SConstruct +@@ -143,14 +143,7 @@ env['CXX'] = os.environ.get('CXX') + env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS') + env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split() + cxxFlags = os.environ.get('CXXFLAGS', '') +-if os.environ.get('DEBUG', '0') == 'True': # FIXME, use 1, true, yes... +- cxxFlags += ' -g' +-else: +- if cxxFlags.find("-O") == -1: +- cxxFlags += ( +- " -O3" if 'TRAVIS' not in os.environ else " -O0") # don't optimize on Travis, as it slows down the build + env['CXXFLAGS'] = cxxFlags.split() +-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code + env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split() + + for path in ['JAVA_HOME', 'JAVA_BINDIR']: diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..306d5b638f1f --- /dev/null +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb @@ -0,0 +1,123 @@ +easyblock = 'Bundle' + +name = 'Xvfb' +version = '21.1.6' + +homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' +description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. + It emulates a dumb framebuffer using virtual memory.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('libxslt', '1.1.37'), + ('gettext', '0.21.1'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('X11', '20221110'), + ('pixman', '0.42.2'), + ('libdrm', '2.4.114'), + ('Mesa', '22.2.4'), + ('nettle', '3.8.1'), + ('libunwind', '1.6.2'), + ('XZ', '5.2.7'), +] + +default_easyblock = 'ConfigureMake' + +local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " +local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " +local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" + +# use 'make V=1' to see compiler commands +local_xvfb_buildopts = "V=1 " + +# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" +local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' +local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' + +default_component_specs = { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +components = [ + ('mkfontscale', '1.2.2', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], + }), + ('font-util', '1.3.3', { + 'checksums': ['2094dd4a1ca63a61deb101d2dc618682d6e287cdbe09679502223ac445d277dc'], + }), + ('font-misc-misc', '1.1.2', { + 'checksums': ['46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829'], + 'preconfigopts': local_font_misc_preconfigopts, + }), + ('xkbcomp', '1.4.6', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['b216a2c8c0eab83f3dc4a3d5ee2bdf7827b30e49c8907035d0f222138eca0987'], + }), + ('xkeyboard-config', '2.37', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['eb1383a5ac4b6210d7c7302b9d6fab052abdf51c5d2c9b55f1f779997ba68c6c'], + 'configopts': '-Dxorg-rules-symlinks=true', + }), + ('xauth', '1.1.2', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['84d27a1023d8da524c134f424b312e53cb96e08871f96868aa20316bfcbbc054'], + }), + ('libxcvt', '0.1.2', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/lib/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['0561690544796e25cfbd71806ba1b0d797ffe464e9796411123e79450f71db38'], + }), + (name, version, { + 'source_urls': ['https://www.x.org/releases/individual/xserver/'], + 'sources': ['xorg-server-%(version)s.tar.gz'], + 'patches': [('xvfb-run', '.')], + 'checksums': [ + '6f9c73ccc50e2731adac17671c8e33687738c8cd556b49ecb9f410ce7217be11', # xorg-server-21.1.3.tar.gz + 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run + ], + 'start_dir': 'xorg-server-%(version)s', + 'configopts': local_xvfb_configopts, + 'buildopts': local_xvfb_buildopts, + 'installopts': local_xvfb_buildopts, + }), +] + +postinstallcmds = ["cp -a xvfb-run %(installdir)s/bin/ && chmod u+x %(installdir)s/bin/xvfb-run"] + +sanity_check_paths = { + 'files': ['bin/Xvfb', 'bin/xvfb-run'], + 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], +} + +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..b0a7a5b2bfcd --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20230226' + +homepage = 'https://www.videolan.org/developers/x264.html' +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://code.videolan.org/videolan/%(name)s/-/archive/baee400f/'] +sources = [{'download_filename': '%(name)s-baee400f.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f32bdcd8edaae7686f5aba9d4421d07c1d01e5c3c10c2a87c8f3131bddb59905'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('NASM', '2.15.05'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x264_config.h', 'include/%(name)s.h', 'lib/libx264.a', 'lib/libx264.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..27b2b0662962 --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.5' + +homepage = 'https://x265.org/' +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Yasm', '1.3.0'), +] + +configopts = '-DGIT_ARCHETYPE=1' + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x265_config.h', 'include/%(name)s.h', 'lib/libx265.a', 'lib/libx265.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-foss-2022a.eb b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-foss-2022a.eb new file mode 100644 index 000000000000..6b557c9ef71c --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '2022.6.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['1028d198493f66bb15bd35dcfdd11defd831cbee3af6589fff16f41bddd67e84'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-intel-2022a.eb b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-intel-2022a.eb new file mode 100644 index 000000000000..a0756e083cc8 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-intel-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '2022.6.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['1028d198493f66bb15bd35dcfdd11defd831cbee3af6589fff16f41bddd67e84'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2022.9.0-foss-2022a.eb b/easybuild/easyconfigs/x/xarray/xarray-2022.9.0-foss-2022a.eb new file mode 100644 index 000000000000..5d3d2e2cf283 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2022.9.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'xarray' +version = '2022.9.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['a2a5b48ec0a3890b71ef48853fe9d5107d2f75452722f319cb8ed6ff8e72e883'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmitgcm/xmitgcm-0.5.2-foss-2022a.eb b/easybuild/easyconfigs/x/xmitgcm/xmitgcm-0.5.2-foss-2022a.eb new file mode 100644 index 000000000000..cf4cebe8ec11 --- /dev/null +++ b/easybuild/easyconfigs/x/xmitgcm/xmitgcm-0.5.2-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'xmitgcm' +version = '0.5.2' + +homepage = 'https://github.com/MITgcm/xmitgcm' +description = """xmitgcm is a python package for reading MITgcm binary +MDS files into xarray data structures. By storing data in dask arrays, +xmitgcm enables parallel, out-of-core analysis of MITgcm output data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('MITgcmutils', '0.1.2'), + ('dask', '2022.10.0'), + ('xarray', '2022.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cachetools', '5.2.0', { + 'checksums': ['6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757'], + }), + (name, version, { + 'checksums': ['7dda45fdf6182a859f5c441cd5928a7c99d41c8bcea9fccf471b7011791b1131'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..23dad904c35c --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.3' + +homepage = 'https://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['8205d210a580da0938f5ce4392a96b60cf1d9a5f792eaa1474fa4c1977aef4d0'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.5.0-foss-2021b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.5.0-foss-2021b.eb new file mode 100644 index 000000000000..69bff689c4eb --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.5.0-foss-2021b.eb @@ -0,0 +1,47 @@ +# Author: Jasper Grimm (UoY) +# Updated to 6.5.0 and moved to foss-toolchain +# Based on xtb-6.4.1-intel-2021a.eb and PR 15187 +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.5.0' + +homepage = 'https://xtb-docs.readthedocs.io' +description = "Semiempirical Extended Tight-Binding Program Package." + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b39f6e87ce07abcb0884cda5d3370601b6332ad72c8213e87ffa74ae28895fb'] + +builddependencies = [ + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +configopts = "-Dla_backend='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +# Ensure test don't timeout and only use one process: +testopts = 'test -C %(builddir)s/easybuild_obj -t 60 --num-processes=1' + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = ["xtb --help"] + +modextrapaths = { + 'XTBHOME': '', + 'XTBPATH': '', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.5.1-foss-2022a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.5.1-foss-2022a.eb new file mode 100644 index 000000000000..18c4c379b8ad --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.5.1-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.5.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8e5840469f9ef2c01ad5cb620481310ace62a7563c5d43375eb3d36463fc3add'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +configopts = "-Dla_backend='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..3aa02fbcfe1b --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '8.2.4220' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..f48627864998 --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb b/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb new file mode 100644 index 000000000000..31487c94983d --- /dev/null +++ b/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'YODA' +version = '1.9.7' + +homepage = 'https://yoda.hepforge.org/' +description = """ +Yet more Objects for (High Energy Physics) Data Analysis +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://yoda.hepforge.org/downloads?f='] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['8d07bb04dcb79364858718a18203452d8d9fa00029fa94239eafa8529032b8ff'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Python', '3.10.4') +] + +configopts = "--disable-root --enable-pyext --disable-static" +buildopts = "YODA_PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" +installopts = buildopts + +sanity_check_paths = { + 'files': ['bin/yoda-config', 'lib/libYODA.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} +sanity_check_commands = ["python -c 'import yoda'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..28d2d1ae248e --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' +description = "Yasm: Complete rewrite of the NASM assembler with BSD license" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [ + ('binutils', '2.39'), +] + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..c218e476fb71 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = '0.7.0' + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-cmake-export.patch'] +checksums = [ + '43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3', + 'c562a575bbb161af478795e43bfd9073e3f874bea07134a321c1063cd7098c1c', # yaml-cpp-0.7.0_fix-cmake-export.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0_fix-cmake-export.patch b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0_fix-cmake-export.patch new file mode 100644 index 000000000000..45933bb69621 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0_fix-cmake-export.patch @@ -0,0 +1,143 @@ +Fix installed CMake config files. +From https://patch-diff.githubusercontent.com/raw/jbeder/yaml-cpp/pull/1077 + +From a339bea6bb7bd461a41e874f78b46a5af98277ff Mon Sep 17 00:00:00 2001 +From: Felix +Date: Thu, 30 Dec 2021 12:53:31 +0100 +Subject: [PATCH 1/2] untabify CMakeLists.txt in some places + +This is to align with the other code parts in this file. +--- + CMakeLists.txt | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f65efefa..6adbf45a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -141,30 +141,30 @@ write_basic_package_version_file( + configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY) + + if (YAML_CPP_INSTALL) +- install(TARGETS yaml-cpp ++ install(TARGETS yaml-cpp + EXPORT yaml-cpp-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +- FILES_MATCHING PATTERN "*.h") ++ FILES_MATCHING PATTERN "*.h") + install(EXPORT yaml-cpp-targets + DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") +- install(FILES +- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" ++ install(FILES ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" + DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") + install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc" + DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig) + endif() + + if(YAML_CPP_BUILD_TESTS) +- add_subdirectory(test) ++ add_subdirectory(test) + endif() + + if(YAML_CPP_BUILD_TOOLS) +- add_subdirectory(util) ++ add_subdirectory(util) + endif() + + if (YAML_CPP_CLANG_FORMAT_EXE) + +From c1f987850a6282435f499bee76b12e32d7472f12 Mon Sep 17 00:00:00 2001 +From: Felix +Date: Thu, 30 Dec 2021 15:35:54 +0100 +Subject: [PATCH 2/2] fix cmake export + +After configure the file `yaml-cpp-config.cmake.in` the result ends up with +empty variables. (see also the discussion in #774). + +Rework this file and the call to `configure_package_config_file` according the +cmake documentation +(https://cmake.org/cmake/help/v3.22/module/CMakePackageConfigHelpers.html?highlight=configure_package_config#command:configure_package_config_file) +to overcome this issue and allow a simple `find_package` after install. + +As there was some discussion about the place where to install the +`yaml-cpp-config.cmake` file, e.g. #1055, factor out the install location into +an extra variable to make it easier changing this location in the future. +--- + CMakeLists.txt | 17 ++++++++++++----- + yaml-cpp-config.cmake.in | 10 ++++++---- + 2 files changed, 18 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6adbf45a..e9310792 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -129,10 +129,16 @@ set_target_properties(yaml-cpp PROPERTIES + PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}" + DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") + ++# FIXME(felix2012): A more common place for the cmake export would be ++# `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest ++set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++set(EXPORT_TARGETS yaml-cpp) + configure_package_config_file( + "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in" + "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++ INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}" ++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR CONFIG_EXPORT_DIR) ++unset(EXPORT_TARGETS) + + write_basic_package_version_file( + "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" +@@ -150,14 +156,15 @@ if (YAML_CPP_INSTALL) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING PATTERN "*.h") + install(EXPORT yaml-cpp-targets +- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++ DESTINATION "${CONFIG_EXPORT_DIR}") + install(FILES +- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" ++ DESTINATION "${CONFIG_EXPORT_DIR}") + install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc" + DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig) + endif() ++unset(CONFIG_EXPORT_DIR) + + if(YAML_CPP_BUILD_TESTS) + add_subdirectory(test) +diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in +index 7b41e3f3..a7ace3dc 100644 +--- a/yaml-cpp-config.cmake.in ++++ b/yaml-cpp-config.cmake.in +@@ -3,12 +3,14 @@ + # YAML_CPP_INCLUDE_DIR - include directory + # YAML_CPP_LIBRARIES - libraries to link against + +-# Compute paths +-get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@") ++@PACKAGE_INIT@ ++ ++set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + + # Our library dependencies (contains definitions for IMPORTED targets) +-include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake") ++include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake) + + # These are IMPORTED targets created by yaml-cpp-targets.cmake + set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@") ++ ++check_required_components(@EXPORT_TARGETS@) diff --git a/easybuild/easyconfigs/z/ZIMPL/ZIMPL-3.3.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/ZIMPL/ZIMPL-3.3.4-GCCcore-11.3.0.eb new file mode 100644 index 000000000000..f193788ee275 --- /dev/null +++ b/easybuild/easyconfigs/z/ZIMPL/ZIMPL-3.3.4-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'ZIMPL' +version = '3.3.4' + +homepage = 'https://zimpl.zib.de/' +description = """ZIMPL is a little language to translate the mathematical model of a problem +into a linear or nonlinear (mixed-) integer mathematical program expressed in +.lp or .mps file format which can be read and (hopefully) solved by a LP or MIP +solver.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'scipopt' +source_urls = ['https://zimpl.zib.de/download/'] +sources = [SOURCELOWER_TGZ] +checksums = ['3362fb21524df459723d23f6e0c122ebdd684153a9cc991a2c7f5b2752a83eb2'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('zlib', '1.2.12'), +] + +files_to_copy = ['bin', 'lib', (['src/*.h'], 'include/zimpl')] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -sf zimpl-%(version)s.* zimpl", + "cd %(installdir)s/lib && ln -sf libzimpl-%(version)s.*.a libzimpl.a", +] + +sanity_check_paths = { + 'files': ['bin/zimpl', 'lib/libzimpl.a'], + 'dirs': ['include/zimpl'], +} + +sanity_check_commands = ["zimpl -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..d08922dc6c90 --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Zopfli' +version = '1.0.3' + +homepage = 'https://github.com/google/zopfli' +description = """Zopfli Compression Algorithm is a compression library programmed in C to perform +very good, but slow, deflate or zlib compression.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/zopfli/archive/refs/tags/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF', +] + +sanity_check_paths = { + 'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["zopfli --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2021b.eb b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2021b.eb new file mode 100644 index 000000000000..b73fbcf4961e --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'zarr' +version = '2.13.3' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.10.2', { + 'checksums': ['22838c6b3fd986bd9c724039b88870057f790e22b20e6e1cbbaa0de142dd59c4'], + }), + (name, version, { + 'checksums': ['db24b090616c638f65e33a6bc5d956d642221182961515ccbc28b17fb0d0b48c'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2022a.eb b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2022a.eb new file mode 100644 index 000000000000..b04ea6aea021 --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.13.3' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.10.2', { + 'checksums': ['22838c6b3fd986bd9c724039b88870057f790e22b20e6e1cbbaa0de142dd59c4'], + }), + (name, version, { + 'checksums': ['db24b090616c638f65e33a6bc5d956d642221182961515ccbc28b17fb0d0b48c'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..3901a6550a23 --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.0' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['fe13b03141ee9b571692aed42ff76cf37c9dcda40f9a43a808870dca3558a57c'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.6-GCCcore-10.3.0.eb new file mode 100644 index 000000000000..529355b3749d --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.6-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'zlib-ng' +version = '2.0.6' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/zlib-ng/zlib-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +configopts = ' -DZLIB_ENABLE_TESTS=True ' + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zsh/zsh-5.9.eb b/easybuild/easyconfigs/z/zsh/zsh-5.9.eb new file mode 100644 index 000000000000..5c8ea48d53c1 --- /dev/null +++ b/easybuild/easyconfigs/z/zsh/zsh-5.9.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'zsh' +version = '5.9' + +homepage = 'https://www.zsh.org/' +description = "Zsh is a shell designed for interactive use, although it is also a powerful scripting language." + +toolchain = SYSTEM + +source_urls = ['https://prdownloads.sourceforge.net/%(namelower)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5'] + +osdependencies = [ + ('ncurses-devel', 'libncurses-dev'), +] + +configopts = '--with-tcsetpgrp' # needed to build in non-login shells + +modextrapaths = {'FPATH': 'share/zsh/%(version)s/functions'} + +sanity_check_paths = { + 'files': ['bin/zsh'], + 'dirs': ['lib/zsh/%(version)s', 'share'], +} + +sanity_check_commands = ['zsh --version'] + +# optionally make this module sticky (lmod only): +# modluafooter = 'add_property("lmod", "sticky")' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..7176db3c09e4 --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.2' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f7de13462f7a82c29ab865820149e778cbfe01087b3a55b5332707abf9db4a6e'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('gzip', '1.12'), + ('XZ', '5.2.7'), + ('lz4', '1.9.4'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/setup.py b/setup.py index 24b137e97596..1e5caaddac1b 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ ## -# Copyright 2012-2022 Ghent University +# Copyright 2012-2023 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.6.2.dev0' +VERSION = '4.7.2.dev0' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) @@ -99,6 +99,8 @@ def get_data_files(): "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", "Topic :: Software Development :: Build Tools", ], packages=[], diff --git a/test/__init__.py b/test/__init__.py index 461a6de8085a..01ba03af458f 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,5 +1,5 @@ ## -# Copyright 2009-2022 Ghent University +# Copyright 2009-2023 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 45c9bcfa7122..40c597ba675d 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1,5 +1,5 @@ ## -# Copyright 2013-2022 Ghent University +# Copyright 2013-2023 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en), @@ -33,6 +33,7 @@ import shutil import sys import tempfile +from collections import defaultdict from distutils.version import LooseVersion from unittest import TestCase, TestLoader, main, skip @@ -444,7 +445,7 @@ def check_dep_vars(self, gen, dep, dep_vars): # for some dependencies, we allow exceptions for software that depends on a particular version, # as long as that's indicated by the versionsuffix - versionsuffix_deps = ['ASE', 'Boost', 'CUDAcore', 'Java', 'Lua', + versionsuffix_deps = ['ASE', 'Boost', 'CUDA', 'CUDAcore', 'Java', 'Lua', 'PLUMED', 'PyTorch', 'R', 'TensorFlow'] if dep in versionsuffix_deps and len(dep_vars) > 1: @@ -485,7 +486,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # some software packages require a specific (older/newer) version of a particular dependency alt_dep_versions = { - 'jax': [(r'0\.3\.9', [r'AlphaFold-2\.2\.2-'])], + # jax 0.2.24 is used as dep for AlphaFold 2.1.2 (other easyconfigs with foss/2021a use jax 0.3.9) + 'jax': [(r'0\.2\.24', [r'AlphaFold-2\.1\.2-foss-2021a'])], # arrow-R 6.0.0.2 is used for two R/R-bundle-Bioconductor sets (4.1.2/3.14 and 4.2.0/3.15) 'arrow-R': [('6.0.0.2', [r'R-bundle-Bioconductor-'])], # EMAN2 2.3 requires Boost(.Python) 1.64.0 @@ -493,10 +495,19 @@ def check_dep_vars(self, gen, dep, dep_vars): 'Boost.Python': [('1.64.0;', [r'EMAN2-2\.3-'])], # GATE 9.2 requires CHLEP 2.4.5.1 and Geant4 11.0.x 'CLHEP': [('2.4.5.1;', [r'GATE-9\.2-foss-2021b'])], + # egl variant of glew is required by libwpe, wpebackend-fdo + WebKitGTK+ depend on libwpe + 'glew': [ + ('2.2.0; versionsuffix: -egl', [r'libwpe-1\.13\.3-GCCcore-11\.2\.0', + r'wpebackend-fdo-1\.13\.1-GCCcore-11\.2\.0', + r'WebKitGTK\+-2\.37\.1-GCC-11\.2\.0', + r'wxPython-4\.2\.0', + r'GRASS-8\.2\.0', + r'QGIS-3\.28\.1']), + ], 'Geant4': [('11.0.1;', [r'GATE-9\.2-foss-2021b'])], - # ncbi-vdb v2.x and v3.0.0 require HDF5 v1.10.x (HISAT2, SKESA, shovill depend on ncbi-vdb) + # ncbi-vdb v2.x requires HDF5 v1.10.x (HISAT2, SKESA, shovill depend on ncbi-vdb) 'HDF5': [ - (r'1\.10\.', [r'ncbi-vdb-2\.11\.', r'ncbi-vdb-3\.0\.0', r'HISAT2-2\.2\.', r'SKESA-2\.4\.', + (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 @@ -528,6 +539,8 @@ def check_dep_vars(self, gen, dep, dep_vars): # SimpleITK 2.1.0 requires Lua 5.3.x, MedPy and nnU-Net depend on SimpleITK (r'5\.3\.5', [r'nnU-Net-1\.7\.0-', r'MedPy-0\.4\.0-', r'SimpleITK-2\.1\.0-']), ], + # SRA-toolkit 3.0.0 requires ncbi-vdb 3.0.0, Finder requires SRA-Toolkit 3.0.0 + 'ncbi-vdb': [(r'3\.0\.0', [r'SRA-Toolkit-3\.0\.0', r'finder-1\.1\.0'])], # TensorFlow 2.5+ requires a more recent NCCL than version 2.4.8 used in 2019b generation; # Horovod depends on TensorFlow, so same exception required there 'NCCL': [(r'2\.11\.4', [r'TensorFlow-2\.[5-9]\.', r'Horovod-0\.2[2-9]'])], @@ -576,6 +589,8 @@ def check_dep_vars(self, gen, dep, dep_vars): ('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-']), + # tensorflow-probability version to TF version + ('2.8.4;', ['tensorflow-probability-0.16.0-']), ], # smooth-topk uses a newer version of torchvision 'torchvision': [('0.11.3;', ['smooth-topk-1.0-20210817-'])], @@ -584,6 +599,8 @@ def check_dep_vars(self, gen, dep, dep_vars): 'UCX': [('1.11.0;', ['UCX-CUDA-1.11.0-'])], # WPS 3.9.1 requires WRF 3.9.1.1 'WRF': [(r'3\.9\.1\.1', [r'WPS-3\.9\.1'])], + # wxPython 4.2.0 depends on wxWidgets 3.2.0 + 'wxWidgets': [(r'3\.2\.0', [r'wxPython-4\.2\.0', r'GRASS-8\.2\.0', r'QGIS-3\.28\.1'])], } if dep in alt_dep_versions and len(dep_vars) > 1: for key in list(dep_vars): @@ -910,6 +927,27 @@ def test_easyconfig_locations(self): if not (dirpath.endswith('/easybuild/easyconfigs') and filenames == ['TEMPLATE.eb']): self.assertTrue(False, "List of easyconfig files in %s is empty: %s" % (dirpath, filenames)) + def test_easyconfig_name_clashes(self): + """Make sure there is not a name clash when all names are lowercase""" + topdir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + names = defaultdict(list) + # ignore git/svn dirs & archived easyconfigs + ignore_dirs = ['.git', '.svn', '__archive__'] + for (dirpath, _, _) in os.walk(topdir): + if not any('/%s' % d in dirpath for d in ignore_dirs): + dirpath_split = dirpath.replace(topdir, '').split(os.sep) + if len(dirpath_split) == 5: + name = dirpath_split[4] + names[name.lower()].append(name) + + duplicates = {} + for name in names: + if len(names[name]) > 1: + duplicates[name] = names[name] + + if duplicates: + self.assertTrue(False, "EasyConfigs with case-insensitive name clash: %s" % duplicates) + @skip_if_not_pr_to_non_main_branch() def test_pr_sha256_checksums(self): """Make sure changed easyconfigs have SHA256 checksums in place.""" @@ -1086,14 +1124,15 @@ def test_pr_sanity_check_paths(self): """Make sure a custom sanity_check_paths value is specified for easyconfigs that use a generic easyblock.""" # some generic easyblocks already have a decent customised sanity_check_paths, - # including CMakePythonPackage, GoPackage, PythonBundle & PythonPackage; + # including CMakePythonPackage, GoPackage, JuliaBundle, PythonBundle & PythonPackage; # BuildEnv, ModuleRC and Toolchain easyblocks doesn't install anything so there is nothing to check. - whitelist = ['BuildEnv', 'CMakePythonPackage', 'CrayToolchain', 'GoPackage', 'ModuleRC', + whitelist = ['BuildEnv', 'CMakePythonPackage', 'CrayToolchain', 'GoPackage', 'JuliaBundle', 'ModuleRC', 'PythonBundle', 'PythonPackage', 'Toolchain'] # Bundles of dependencies without files of their own # Autotools: Autoconf + Automake + libtool, (recent) GCC: GCCcore + binutils, CUDA: GCC + CUDAcore, - # CESM-deps: Python + Perl + netCDF + ESMF + git, FEniCS: DOLFIN and co - bundles_whitelist = ['Autotools', 'CESM-deps', 'CUDA', 'GCC', 'FEniCS', 'ESL-Bundle', 'ROCm'] + # CESM-deps: Python + Perl + netCDF + ESMF + git, FEniCS: DOLFIN and co, + # Python-bundle: Python + SciPy-bundle + matplotlib + JupyterLab + bundles_whitelist = ['Autotools', 'CESM-deps', 'CUDA', 'GCC', 'FEniCS', 'ESL-Bundle', 'Python-bundle', 'ROCm'] failing_checks = [] @@ -1373,6 +1412,7 @@ def template_easyconfig_test(self, spec): self.assertTrue(isinstance(ext[2], dict), "3rd element of extension spec for %s must be a dictionary" % ext_name) + ext_patch_issues = [] # After the sanity check above, use collect_exts_file_info to resolve templates etc. correctly for ext in app.collect_exts_file_info(fetch_files=False, verify_checksums=False): try: @@ -1391,16 +1431,18 @@ def template_easyconfig_test(self, spec): # only check actual patch files, not other files being copied via the patch functionality ext_patch_full = os.path.join(specdir, ext_patch['name']) - if ext_patch_full.endswith('.patch'): - msg = "Patch file %s is available for %s" % (ext_patch_full, specfn) - self.assertTrue(os.path.isfile(ext_patch_full), msg) + if ext_patch_full.endswith('.patch') and not os.path.isfile(ext_patch_full): + ext_patch_issues.append("Patch file %s for extension %s is missing." % (ext_patch['name'], ext_name)) + continue # verify checksum for each patch file - if idx < len(patch_checksums) and (os.path.exists(ext_patch_full) or ext_patch.endswith('.patch')): + if idx < len(patch_checksums) and os.path.exists(ext_patch_full): checksum = patch_checksums[idx] - error_msg = "Invalid checksum for patch %s for %s extension in %s: %s" - res = verify_checksum(ext_patch_full, checksum) - self.assertTrue(res, error_msg % (ext_patch, ext_name, ec_fn, checksum)) + if not verify_checksum(ext_patch_full, checksum): + ext_patch_issues.append("Invalid checksum for patch %s for extension %s: %s." + % (ext_patch['name'], ext_name, checksum)) + if ext_patch_issues: + self.fail("Verification of patches for %s failed:\n%s" % (ec_fn, '\n'.join(ext_patch_issues))) # check whether all extra_options defined for used easyblock are defined extra_opts = app.extra_options() diff --git a/test/easyconfigs/styletests.py b/test/easyconfigs/styletests.py index 0cbaca896617..e765cdfc3f13 100644 --- a/test/easyconfigs/styletests.py +++ b/test/easyconfigs/styletests.py @@ -1,5 +1,5 @@ ## -# Copyright 2016-2022 Ghent University +# Copyright 2016-2023 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 eae8bd6dbe3f..c058d96f0c58 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -1,6 +1,6 @@ #!/usr/bin/python ## -# Copyright 2012-2022 Ghent University +# Copyright 2012-2023 Ghent University # # This file is part of EasyBuild, # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),