Bug 237884 - graphics/py-cairocffi: Update to 1.0.2
Summary: graphics/py-cairocffi: Update to 1.0.2
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kubilay Kocak
URL: https://reviews.freebsd.org/D20352
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-13 16:53 UTC by Eric Turgeon
Modified: 2019-05-27 13:00 UTC (History)
5 users (show)

See Also:
koobs: maintainer-feedback+


Attachments
Diff for py-cairocffi ports (3.60 KB, patch)
2019-05-13 16:53 UTC, Eric Turgeon
no flags Details | Diff
v1 patch for 0.9.0 (1.73 KB, patch)
2019-05-21 21:09 UTC, Dave Cottlehuber
dch: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Turgeon freebsd_committer freebsd_triage 2019-05-13 16:53:16 UTC
Created attachment 204361 [details]
Diff for py-cairocffi ports

I have attached a diff to update graphics/py-cairocffi to 1.0.2
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2019-05-13 16:53:16 UTC
Maintainer informed via mail
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-14 01:46:06 UTC
Port should be converted to use USE_PYTHON=autoplist unless it doesn't work (but that should be fixed, long term)

@Dave could you update your port MAINTAINER lines to match your current address please so that the auto-assigner can correctly assign/add you to flags
Comment 3 Dave Cottlehuber freebsd_committer freebsd_triage 2019-05-21 21:09:53 UTC
Created attachment 204521 [details]
v1 patch for 0.9.0

welp this ports needs some dependency cleanup. in my defence it is one of my earlier...

- avoid pulling in gcc etc
- switch to autoplist
- use test-depends
- in 1.0, upstream dropped py2.7 support and there is no major differences to 0.9.0 from my casual reasing.

Eric: are you ok with 0.9.0 until EoY when python 2.7 is officially deprecated? AFAICT there are no major changes to py-cairocffi in between.

I attached an improved diff that passes make checks.Does this
Comment 4 Dave Cottlehuber freebsd_committer freebsd_triage 2019-05-21 21:14:52 UTC
koobs: if you know how to append this to autoplist, then we can switch to that already. I'm unfamiliar with python so no real idea what the __pycache__ garbage is for.

===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%PYTHON_SITELIBDIR%%/cairocffi/__pycache__/_ffi.cpython-36.opt-1.pyc
Error: Orphaned: %%PYTHON_SITELIBDIR%%/cairocffi/__pycache__/_ffi.cpython-36.pyc
Error: Orphaned: %%PYTHON_SITELIBDIR%%/cairocffi/__pycache__/_ffi_pixbuf.cpython-36.opt-1.pyc
Error: Orphaned: %%PYTHON_SITELIBDIR%%/cairocffi/__pycache__/_ffi_pixbuf.cpython-36.pyc
Error: Orphaned: %%PYTHON_SITELIBDIR%%/cairocffi/_ffi.py
Error: Orphaned: %%PYTHON_SITELIBDIR%%/cairocffi/_ffi_pixbuf.py
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-22 03:44:21 UTC
Yep, I have a WIP and part of that is sorting that mess out and adding breadcrumbs up stream to help them fix the root issue. I'll attach my patch here or in a review for approval soon
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-22 07:04:17 UTC
@Dave See updated patch in phabricator

Can this port be updated (using Python 3.x) without affecting existing dependents, or does something else need to happen?
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-22 07:09:24 UTC
See Also: https://github.com/Kozea/cairocffi/issues/123

Relevant to weasyprint (cc pi)
Comment 8 Eric Turgeon freebsd_committer freebsd_triage 2019-05-22 11:29:56 UTC
(In reply to Dave Cottlehuber from comment #3)
Yes, that I wanted to upgrade for Qtile, but when I saw the latest version I thought to upgrade it to the latest. 0.9.0 is fine with me.
Comment 9 Eric Turgeon freebsd_committer freebsd_triage 2019-05-22 11:35:40 UTC
make sure that %%PYTHON_SITELIBDIR%%/cairocffi/_ffi.py %%PYTHON_SITELIBDIR%%/cairocffi/_ffi_pixbuf.py on all the ports I how that use it it is missing I had to add it in pkg-plist.
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-23 12:10:50 UTC
(In reply to Eric Turgeon from comment #9)

Please test my patch in review 20352
Comment 11 Eric Turgeon freebsd_committer freebsd_triage 2019-05-23 12:47:00 UTC
running install_scripts
file cairocffi/_ffi.py (for module cairocffi._ffi) not found
file cairocffi/_ffi_pixbuf.py (for module cairocffi._ffi_pixbuf) not found
writing list of installed files to '/usr/home/ericbsd/projects/freebsd/ports/graphics/py-cairocffi/work-py36/.PLIST.pymodtmp'

That what I thought would happen. With x11-wm/qtile and x11/py-xcffib my workaround is to put those in pkg-plist. I don't if there is a better way.
Comment 12 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-27 06:31:33 UTC
qtile is safe with cairocffi > 1.0.2 (which is the update in this PR)

python-cairocffi 1.0.0-1 update breaks qtile [Arch Linux] 
https://github.com/qtile/qtile/issues/1282
Comment 13 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-27 06:37:55 UTC
(In reply to Eric Turgeon from comment #11)

These files end up in:

%%PYTHON_SITELIBDIR%%/cairocffi/_generated/ffi_pixbuf.py
%%PYTHON_SITELIBDIR%%/cairocffi/_generated/ffi.py

I don't understand what " With x11-wm/qtile and x11/py-xcffib my workaround is to put those in pkg-plist" means, in context to this port being updated to 1.0.2

If it's that certain files in qtile or xcffib  need to be added to their respective pkg-plist, that's due to https://github.com/tych0/xcffib/issues/92 which is probably a symptom/result of https://github.com/Kozea/cairocffi/issues/108

Either way, supplementing the autoplist with specific entries that are missing is going to have to happen for any cffi based ports until the underlying root cause bug(s) are resolved.

Apart from the above that have workarounds identified, what are the blockers to updating this port, if any?
Comment 14 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-27 06:39:18 UTC
See Also: https://groups.google.com/forum/#!topic/python-cffi/oX2T_Y5m99I
Comment 15 Dave Cottlehuber freebsd_committer freebsd_triage 2019-05-27 12:52:36 UTC
accepted https://reviews.freebsd.org/D20352 & koobs will commit it.
Comment 16 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-27 12:54:48 UTC
Re-open until commit
Comment 17 commit-hook freebsd_committer freebsd_triage 2019-05-27 12:58:28 UTC
A commit references this bug:

Author: koobs
Date: Mon May 27 12:58:09 UTC 2019
New revision: 502792
URL: https://svnweb.freebsd.org/changeset/ports/502792

Log:
  graphics/py-cairocffi: Update to 1.0.2

    - Update COMMENT, match upstream setup.py:description
    - Update USES=python, now only supports Python 3.x
    - Switch to autoplist (using --record), update pkg-plist to add missing
      files until resolved upstream [1][2][3][4]

  Changelog:

    https://github.com/Kozea/cairocffi/blob/v1.0.2/NEWS.rst

  [1] https://github.com/Kozea/cairocffi/issues/108
  [2] https://github.com/spatialaudio/python-sounddevice/issues/116
  [3] https://github.com/tych0/xcffib/issues/92
  [4] See Also: https://groups.google.com/forum/#!topic/python-cffi/oX2T_Y5m99I

  PR:			237884
  Reviewed by:		mat, dch (maintainer)
  Approved by:		dch (maintainer)
  Differential Revision:	D20352

Changes:
  head/graphics/py-cairocffi/Makefile
  head/graphics/py-cairocffi/distinfo
  head/graphics/py-cairocffi/files/
  head/graphics/py-cairocffi/files/patch-cairocffi_test__pixbuf.py
  head/graphics/py-cairocffi/files/patch-setup.cfg
  head/graphics/py-cairocffi/pkg-plist