Skip to content
Snippets Groups Projects
Select Git revision
  • 2a546ccabd2c512cf31035637f948211a8862647
  • 2023 default protected
2 results

matplotlib-3.5.2-gcccoremkl-11.3.0-2022.1.0.eb

Blame
  • matplotlib-3.5.2-gcccoremkl-11.3.0-2022.1.0.eb 2.52 KiB
    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': 'gcccoremkl', 'version': '11.3.0-2022.1.0'}
    
    builddependencies = [
        ('pkgconf', '1.8.0'),
        ('cppy', '1.2.1')
    ]
    
    dependencies = [
        ('Python', '3.10.4'),
        ('SciPy-bundle', '2022.05', '', ('gcccoremkl', '11.3.0-2022.1.0')),
        ('libpng', '1.6.37'),
        ('freetype', '2.12.1'),
        ('Tkinter', '%(pyver)s'),
        ('Pillow-SIMD', '9.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' 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': SOURCE_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'],
        }),
        ('kiwisolver', '1.4.3', {
            'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'],
            'checksums': ['ab8a15c2750ae8d53e31f77a94f846d0a00772240f1c12817411fa2344351f86'],
        }),
        (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'