easyblock = 'PythonBundle'

name = 'SciPy-bundle'
version = '2021.05'

homepage = 'https://python.org/'
description = "Bundle of Python packages for scientific software"

toolchain = {'name': 'intel', 'version': '2021a'}
toolchainopts = {'pic': True, 'lowopt': 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', {
        'sources': [SOURCE_ZIP],
        'patches': [
            'numpy-1.20.3-mkl.patch',
            'numpy-1.20.3_skip-ppc-long-complex-test.patch',
            'numpy-1.20.3_xfail-test-nan.patch',
            'numpy-1.20.3_fix-target-test-ccompiler-opt.patch',
        ],
        'checksums': [
            'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69',  # numpy-1.20.3.zip
            '3b00d5d48f160d793838c2685a992c621ff58df27edfd57c4831850e16fd5adc',
            # numpy-1.20.3_skip-ppc-long-complex-test.patch
            '2f9a12e3a352b39076db84a7622fc8f4796abd3cb7f97f71958a495e864659a4',
            'f0ce961f7d79551598e23050d92f46e827e300f6a7e5a6112e58efcc10385d4d',  # numpy-1.20.3_xfail-test-nan.patch
            # numpy-1.20.3_fix-target-test-ccompiler-opt.patch
            '3d84e8b7d48387778974a5f6ae342a690ab5989547206b6add9d9667f8d7572a',
        ],
        'prebuildopts': 'export CFLAGS="-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -O2 -ftree-vectorize -fno-math-errno -fPIC -O1 -ftz -fp-speculation=safe -fp-model source -fPIC" && ',
    }),
    ('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'
