Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev-python/PyQt5 and friends: bumps and python3.11 #25577

Closed
wants to merge 11 commits into from

Conversation

AndrewAmmerlaan
Copy link
Member

This bumps some packages to the latest version and adds python 3.11 compatibility to all.

The patch is from upstream: https://www.riverbankcomputing.com/hg/sip/rev/3d656f0765f508ea9714b5e7c9ce00e304e6f600
And is required due to the following change in python 3.11:

Global inline flags (e.g. (?i)) can now only be used at the start of the regular expressions. Using them not at the start
of expression was deprecated since Python 3.6. (Contributed by Serhiy Storchaka in bpo-47066.)

CC: @gentoo/qt

@gentoo-bot
Copy link

Pull Request assignment

Submitter: @AndrewAmmerlaan
Areas affected: ebuilds
Packages affected: dev-python/PyQt-builder, dev-python/PyQt5, dev-python/PyQt5-sip, dev-python/PyQtWebEngine, dev-python/sip

dev-python/PyQt-builder: @gentoo/qt
dev-python/PyQt5: @gentoo/qt
dev-python/PyQt5-sip: @gentoo/qt
dev-python/PyQtWebEngine: @gentoo/qt, @steils
dev-python/sip: @gentoo/qt

Linked bugs

No bugs to link found. If your pull request references any of the Gentoo bug reports, please add appropriate GLEP 66 tags to the commit message and request reassignment.

If you do not receive any reply to this pull request, please open or link a bug to attract the attention of maintainers.


In order to force reassignment and/or bug reference scan, please append [please reassign] to the pull request title.

Docs: Code of ConductCopyright policy (expl.) ● DevmanualGitHub PRsProxy-maint guide

@gentoo-bot gentoo-bot added assigned PR successfully assigned to the package maintainer(s). no bug found No Bug/Closes found in the commits. labels May 20, 2022
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-05-20 17:16 UTC
Newest commit scanned: 2215197
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/a8737fd108/output.html

@AndrewAmmerlaan
Copy link
Member Author

Update: Also added python 3.11 to dev-python/QtPy. Unfortunately pyside2 currently does not compile with python 3.11. Upstream development has mostly moved to pyside6 for Qt6, so I don't expect this to get fixed. Python 3.10 on pyside2 already required a couple of downstream patches. Instead I re-apply the same workaround we used before with python 3.10: if python 3.11 is enabled we hard depend on PyQt5 instead of allowing the user to choose which Qt4Python implementation to use.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-05-23 11:16 UTC
Newest commit scanned: 9b0518a
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/c00fb9af63/output.html

@AndrewAmmerlaan
Copy link
Member Author

Update: Also added python 3.11 to dev-python/QtPy. Unfortunately pyside2 currently does not compile with python 3.11. Upstream development has mostly moved to pyside6 for Qt6, so I don't expect this to get fixed. Python 3.10 on pyside2 already required a couple of downstream patches. Instead I re-apply the same workaround we used before with python 3.10: if python 3.11 is enabled we hard depend on PyQt5 instead of allowing the user to choose which Qt4Python implementation to use.

Update2: Added python 3.11 to pytest-qt with the same workaround.

@gentoo/qt A huge part of the scientific python software stack depends on this, please let me know if it is okay to merge this so I can continue testing the python packages higher up in the dependency tree with python 3.11.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-05-25 11:21 UTC
Newest commit scanned: 0f78f5e
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/54372dc65c/output.html

Copy link
Contributor

@Pesa Pesa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was hoping for a quick sip-6.6.2 upstream release since there are a large number of unreleased fixes, but well... if this is blocking other work then I guess we can proceed, it's ~arch anyway.

There seems to be another issue with py3.11 though https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html

dev-python/sip/sip-6.6.1.ebuild Show resolved Hide resolved
@Pesa
Copy link
Contributor

Pesa commented May 25, 2022

Also note that I haven't tested this locally and I won't be able to do that for at least another week or two (hardware issues).

@AndrewAmmerlaan
Copy link
Member Author

There seems to be another issue with py3.11 though https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html

That's unfortunate, there doesn't seem to be a patch for this yet. As I understand it, this will only surface in some applications. Perhaps we can proceed with adding python 3.11 here and then we'll find out which PyQt applications are affected and which ones aren't as we test them with python 3.11. We'll just have to wait with adding python 3.11 compatibility to those packages that are affected by this issue.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-05-26 08:51 UTC
Newest commit scanned: a169f16
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/d180b043ab/output.html

@ionenwks
Copy link
Contributor

On a side-note, PyQt6 is already prepared, will be adding it after qt6 is in tree which should happen soon'ish (just mentioning not to risk duplicating work, see old gentoo/qt#253 -- it also use sip pep517 which I guess PyQt5 should be able to use too 👀)

@AndrewAmmerlaan
Copy link
Member Author

On a side-note, PyQt6 is already prepared, will be adding it after qt6 is in tree which should happen soon'ish (just mentioning not to risk duplicating work, see old gentoo/qt#253 -- it also use sip pep517 which I guess PyQt5 should be able to use too eyes)

I think we are going to want to add python 3.11 to both PyQt5 and PyQt6 anyway, since there are probably going to be many applications that aren't ready yet for Qt6 but might still work with python 3.11.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-05-26 10:46 UTC
Newest commit scanned: 1b25252
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/49555159f2/output.html

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-06-01 09:41 UTC
Newest commit scanned: ee4ee0b
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/96862a2fbe/output.html

@thesamesam thesamesam requested a review from Pesa June 3, 2022 21:01
@thesamesam
Copy link
Member

@Pesa unfortunately this ends up blocking a fair bit (e.g. portage -> selinux -> pyqt5) Are you alright with proceeding on the basis @AndrewAmmerlaan mentions above? (Just being careful that rdeps actually work), or do you want to wait?

Copy link
Contributor

@Pesa Pesa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, sorry, the delay is simply due to me forgetting about this PR, not because I want to wait for the next sip release. Thanks for reminding me!

I have just one more comment on the sip ebuild. The PyQt-related stuff LGTM.

dev-python/sip/sip-6.6.1.ebuild Show resolved Hide resolved
@thesamesam
Copy link
Member

Thanks!

FWIW: I looked at veusz for a bug (don't use it myself, but wanted to give pointers in the right direction, so poked at it) and w/ new sip, it looks like some minor adjustments were needed: https://bugs.gentoo.org/823005#c10. Doesn't bother me but just a heads up in case other stuff breaks. It looks like veusz might just be the odd one out here, or at least this will slowly be a problem of the past w/ PEP517?

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-06-07 20:56 UTC
Newest commit scanned: 3a6d504
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/1810c5b2f4/output.html

@Pesa
Copy link
Contributor

Pesa commented Jun 7, 2022

@AndrewAmmerlaan Did you push an updated version already? I don't see setuptools in the sip ebuild.

@AndrewAmmerlaan
Copy link
Member Author

@AndrewAmmerlaan Did you push an updated version already? I don't see setuptools in the sip ebuild.

I did, but I see I made a mistake in the rebase and it ended up in the wrong commit. Will fix it in a bit.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Pyside2 currently does not compile with py3.11 and it is
not likely to get fixed soon because upstream development
has moved to pyside6 for Qt6. Python 3.10 on pyside2 already
required a bunch of patches to function.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
@AndrewAmmerlaan
Copy link
Member Author

@AndrewAmmerlaan Did you push an updated version already? I don't see setuptools in the sip ebuild.

I did, but I see I made a mistake in the rebase and it ended up in the wrong commit. Will fix it in a bit.

This is what I get for doing late-night rebasing. It should be correct now.

@AndrewAmmerlaan AndrewAmmerlaan requested a review from Pesa June 8, 2022 06:31
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2022-06-08 06:41 UTC
Newest commit scanned: 7a79ffe
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/ed81a41639/output.html

@gentoo-bot gentoo-bot closed this in 4430773 Jun 8, 2022
@ionenwks
Copy link
Contributor

ionenwks commented Jun 9, 2022

There seems to be another issue with py3.11 though https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html

About that one, was just trying and it seems fixed if using python 3.11 beta3 (can only reproduce if I downgrade to beta1)

Edit: was python/cpython#93250

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned PR successfully assigned to the package maintainer(s). no bug found No Bug/Closes found in the commits.
Projects
None yet
6 participants