matplotlib-3.4.3-foss-2021b.eb 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. easyblock = 'PythonBundle'
  2. name = 'matplotlib'
  3. version = '3.4.3'
  4. homepage = 'https://matplotlib.org'
  5. description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of
  6. hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python
  7. and ipython shell, web application servers, and six graphical user interface toolkits."""
  8. toolchain = {'name': 'foss', 'version': '2021b'}
  9. builddependencies = [
  10. ('pkg-config', '0.29.2'),
  11. ('cppy', '1.1.0')
  12. ]
  13. dependencies = [
  14. ('Python', '3.9.6'),
  15. ('SciPy-bundle', '2021.05'),
  16. ('libpng', '1.6.37'),
  17. ('freetype', '2.11.0'),
  18. ('Tkinter', '%(pyver)s'),
  19. ('Pillow', '8.3.1'),
  20. ('Qhull', '2020.2')
  21. ]
  22. use_pip = True
  23. sanity_pip_check = True
  24. # avoid that matplotlib downloads and builds its own copies of freetype and qhull
  25. _fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' "
  26. _fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' setup.cfg.template >setup.cfg && "
  27. _include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && "
  28. exts_list = [
  29. ('Cycler', '0.10.0', {
  30. 'modulename': 'cycler',
  31. 'source_tmpl': 'cycler-%(version)s.tar.gz',
  32. 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'],
  33. 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'],
  34. }),
  35. ('kiwisolver', '1.3.1', {
  36. 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'],
  37. 'checksums': ['950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248'],
  38. }),
  39. (name, version, {
  40. 'preinstallopts': _fix_setup + _include_path,
  41. 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'],
  42. }),
  43. ]
  44. sanity_check_commands = [
  45. """python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """,
  46. "python -c 'from mpl_toolkits.mplot3d import Axes3D'",
  47. ]
  48. # use non-interactive plotting backend as default
  49. # see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend
  50. modextravars = {'MPLBACKEND': 'Agg'}
  51. moduleclass = 'vis'