Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 665560

Summary: dev-python/matplotlib-2.2.2-r1 should depend on dev-python/pygobject:3[${PYTHON_USEDEP},cairo]
Product: Gentoo Linux Reporter: Teika kazura <teika>
Component: Current packagesAssignee: Gentoo Science Related Packages <sci>
Status: RESOLVED FIXED    
Severity: normal CC: jstein, python
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Teika kazura 2018-09-09 10:24:05 UTC
When dev-python/matplotlib-2.2.2-r1 is built with USE="gtk3 cairo", it requires pygobject built with USE=cairo i.e. RDEPEND should have "dev-python/pygobject:3[${PYTHON_USEDEP}, cairo]", which is lacking in the current ebuild.

If you re-emerge
$ USE="-cairo" emerge -1 dev-python/pygobject
then matplotlib fails with the message "TypeError: Couldn't find foreign struct converter for 'cairo.Context'". Sample code:
------------------------------------------------------------------------
#!/usr/bin/python

import matplotlib.pyplot as plt
plt.plot([1, 2])
plt.show()
------------------------------------------------------------------------

<matplotlib source>//INSTALL.rst says:
  * `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`__ (>= v0.8): for cairo based backends;
  * `pycairo <https://pypi.python.org/pypi/pycairo>`_: for GTK3Cairo;

However, pycairo is not directly relevant; having it installed doesn't help. You need pygobject with USE=cairo.

Thanks maintainers. Best regards.
Comment 1 Larry the Git Cow gentoo-dev 2020-01-26 01:19:14 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e099f966bfcfe82d06cf946568d6874ff37e1be4

commit e099f966bfcfe82d06cf946568d6874ff37e1be4
Author:     Benda Xu <heroxbd@gentoo.org>
AuthorDate: 2020-01-26 01:13:40 +0000
Commit:     Benda Xu <heroxbd@gentoo.org>
CommitDate: 2020-01-26 01:19:01 +0000

    dev-python/matplotlib: bump to 3.1.2.
    
      - Unbundle qhull.
      - Depend on pyobject:3[cairo] for USE="gtk3 cairo".
      - p/arch/arm64/package.use.mask: mask USE=wxwidgets
        dev-python/wxpython does not have arm64 keyword.
    
    Closes: https://bugs.gentoo.org/671796
    Closes: https://bugs.gentoo.org/680176
    Closes: https://bugs.gentoo.org/665560
    Package-Manager: Portage-2.3.79, Repoman-2.3.18
    Signed-off-by: Benda Xu <heroxbd@gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib-3.1.2-no-jqueryui-download.patch    |  15 ++
 .../matplotlib/files/matplotlib-3.1.2-qhull.patch  |  20 ++
 dev-python/matplotlib/matplotlib-3.1.2.ebuild      | 244 +++++++++++++++++++++
 profiles/arch/arm64/package.use.mask               |   4 +
 5 files changed, 284 insertions(+)