easyblock = 'Bundle'

name = 'TVB-deps'
version = '20160618'  # date of most recent updated package included in this bundle (psutil)
versionsuffix = '-Python-%(pyver)s'

homepage = 'http://thevirtualbrain.org'
description = """Bundle of dependency Python packages for TVB (The Virtual Brain)"""

toolchain = {'name': 'intel', 'version': '2016a'}

freetype_ver = '2.6.3'
dependencies = [
    ('Python', '2.7.11'),
    ('matplotlib', '1.5.1', versionsuffix + '-freetype-%s' % freetype_ver),
    ('NiBabel', '2.0.2', versionsuffix + '-freetype-%s' % freetype_ver),
    ('scikit-learn', '0.17.1', versionsuffix + '-freetype-%s' % freetype_ver),
    ('Pillow', '3.2.0', versionsuffix + '-freetype-%s' % freetype_ver),
    ('h5py', '2.6.0', versionsuffix),
    ('lxml', '3.6.0', versionsuffix),
    ('numba', '0.26.0', versionsuffix),
]

# this is a bundle of Python packages
exts_defaultclass = 'PythonPackage'

exts_list = [
    ('APScheduler', '3.2.0', {
        'source_urls': ['https://pypi.python.org/packages/source/B/APScheduler/'],
    }),
    ('BeautifulSoup', '3.2.1', {
        'source_urls': ['https://pypi.python.org/packages/source/B/BeautifulSoup/'],
        'modulename': 'BeautifulSoup',
    }),
    ('CherryPy', '6.0.1', {
        'source_urls': ['https://pypi.python.org/packages/source/C/CherryPy/'],
    }),
    ('Genshi', '0.7', {
        'source_urls': ['https://pypi.python.org/packages/source/G/Genshi/'],
    }),
    ('cfflib', '2.0.5', {
        'source_urls': ['https://pypi.python.org/packages/source/c/cfflib/'],
    }),
    ('FormEncode', '1.3.0a1', {
        'source_urls': ['https://pypi.python.org/packages/source/F/FormEncode/'],
    }),
    ('minixsv', '0.9.0', {
        'source_urls': ['https://pypi.python.org/packages/source/m/minixsv/'],
        'source_tmpl': 'minixsv-%(version)s.zip',
    }),
    ('mod_pywebsocket', '0.7.9', {
        'source_urls': ['https://pypi.python.org/packages/source/m/mod_pywebsocket/'],
    }),
    ('networkx', '1.11', {
        'source_urls': ['https://pypi.python.org/packages/source/n/networkx/'],
    }),
    ('numexpr', '2.6.0', {
        'source_urls': ['https://pypi.python.org/packages/source/n/numexpr/'],
    }),
    ('psutil', '4.3.0', {
        'source_urls': ['https://pypi.python.org/packages/source/p/psutil/'],
    }),
    ('simplejson', '3.8.2', {
        'source_urls': ['https://pypi.python.org/packages/source/s/simplejson/'],
    }),
    # versions of SQLAlchemy & sqlalchemy-migrate are fixed to old versions by TVB, probably with good reason
    ('SQLAlchemy', '0.7.8', {
        'source_urls': ['https://pypi.python.org/packages/source/S/SQLAlchemy/'],
    }),
    ('sqlalchemy-migrate', '0.7.2', {
        'source_urls': ['https://pypi.python.org/packages/source/s/sqlalchemy-migrate/'],
        'modulename': 'migrate',
    }),
    ('gdist', '1.0.3', {
        'source_urls': ['https://pypi.python.org/packages/source/g/gdist/'],
    }),
]

modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']}

# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module
full_sanity_check = True

sanity_check_paths = {
    'files': [],
    'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

moduleclass = 'tools'
