# IT4Innovations 2019

easyblock = 'PythonBundle'

name = 'SciPy-bundle'
version = '2019.03'

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

toolchain = {'name': 'intel', 'version': '2017c'}
toolchainopts = {'pic': True}

dependencies = [
    ('Py', '2.7', '', True),
    ('pytest', '4.4.0', '-Py-2.7', True),
]

use_pip = True

# required because we're building Python packages using Intel compilers on top of Python built with GCC
check_ldshared = True

# order is important!
# package versions updated Mar 15th 2019
exts_list = [
    ('numpy', '1.16.2', {
        'source_urls': ['https://pypi.python.org/packages/source/n/numpy/'],
        'source_tmpl': '%(name)s-%(version)s.zip',
        'patches': [
            'numpy-1.12.0-mkl.patch',
            'numpy-1.16.1_fix-ifort-V-stderr.patch',
        ],
        'checksums': [
            '6c692e3879dde0b67a9dc78f9bfb6f61c666b4562fd8619632d7043fb5b691b0',  # numpy-1.16.2.zip
            'f212296ed289eb1b4e3f703997499dee8a2cdd0af78b55e017477487b6377ca4',  # numpy-1.12.0-mkl.patch
            'fc7f0c4b910bf3706d43661b94696f07b6e317bfeac062c2c78b3926fde713a7',  # numpy-1.16.1_fix-ifort-V-stderr.patch
        ],
    }),
    ('scipy', '1.2.1', {
        'source_urls': ['https://pypi.python.org/packages/source/s/scipy/'],
        'checksums': ['e085d1babcb419bbe58e2e805ac61924dac4ca45a07c9fa081144739e500aa3c'],
    }),
    ('mpi4py', '3.0.1', {
        'source_urls': ['http://bitbucket.org/mpi4py/mpi4py/downloads/'],
        'checksums': ['6549a5b81931303baf6600fa2e3bc04d8bd1d5c82f3c21379d0d64a9abcca851'],
    }),
    ('pandas', '0.24.2', {
        'source_urls': ['https://pypi.python.org/packages/source/p/pandas/'],
        'checksums': ['4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2'],
    }),
    ('mpmath', '1.1.0', {
        'source_urls': ['https://pypi.python.org/packages/source/m/mpmath/'],
        'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'],
    }),
]

moduleclass = 'lang'
