Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 698988 - dev-qt/qtwebengine:5 should support Python 3
Summary: dev-qt/qtwebengine:5 should support Python 3
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal with 9 votes (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: py3-tracker, python-3-incompatible
  Show dependency tree
 
Reported: 2019-10-31 04:11 UTC by Arfrever Frehtes Taifersar Arahesis
Modified: 2021-12-29 22:49 UTC (History)
38 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arfrever Frehtes Taifersar Arahesis 2019-10-31 04:11:32 UTC
Chromium upstream is working on porting Chromium to Python 3. See bug #698974.
Comment 2 Marc Grondin 2020-11-08 18:23:34 UTC
So i am but a common user but i am trying to purge python 2.7 from my system. QTWebengine is that final thing requiring it.

Using a slightly modified version of the patch linked by Andreas i can get it to patch but the configure step still fails with this

https://paste.marcg.pizza/~marcg/b3713e3ebd50670e784364108ce79ecc087ab554

The modified patch simply changes some of the line offsets
https://git.marcg.pizza/~marcg/thebeach/blob/master/dev-qt/qtwebengine/files/qtwebengine-5.15.1-python3-build.patch

I've seen reports that doing
sed -i 's|python_major_version, 2|python_major_version, 3|' configure.pri
was all that was required but that does not help in my case.

What am i missing here? Is it caused by dependencies in other parts of the QT framework/build system.

This is the ebuild i am using
https://git.marcg.pizza/~marcg/thebeach/blob/master/dev-qt/qtwebengine/qtwebengine-5.15.1-r1.ebuild
Comment 3 Chiitoo gentoo-dev 2020-11-08 19:41:43 UTC
The main issue is Chromium, which as far as I understand still has quite a bit of work to be done towards making this possible.
Comment 4 perestoronin 2020-11-30 04:29:45 UTC
qtwebengine updated to 5.15.2 and patches obsolete from this bug.

Please update patches to qtwebengine 5.15.2 (for chromium + python 3)
Comment 5 Sam James archtester gentoo-dev Security 2020-11-30 04:31:46 UTC
(In reply to perestoronin from comment #4)
> qtwebengine updated to 5.15.2 and patches obsolete from this bug.
> 
> Please update patches to qtwebengine 5.15.2 (for chromium + python 3)

The patches are from FreeBSD.
Comment 6 Manfred Knick 2021-01-31 11:07:07 UTC
(In reply to Chiitoo from comment #3)
> The main issue is Chromium, ...
Well, I have no chromium installed on my system,
and can't detect any dependency upon it.

Hard-coded in    qtwebengine-5.15.2.ebuild :

. . . PYTHON_COMPAT=( python2_7 )

Can anybody confirm off by heart
if this is still necessary for latest version -5.15.2 ?
(Test-compile takes hours, unfortunately ...)



(In reply to Marc Grondin from comment #2)
> ... i am trying to purge python 2.7 from my
> system. QTWebengine is that final thing requiring it.

+ 1
Comment 7 Manfred Knick 2021-01-31 11:14:40 UTC
(In reply to Manfred Knick from comment #6)

> if this is still necessary for latest version -5.15.2 ?

Sorry for the noise!
Just found it, finally:


All Platforms

On all platforms, the following tools are required at build time:

    Python 2.7.5 or later. Python 3 is not supported.               <--- !
    ...

[ https://doc.qt.io/qt-5/qtwebengine-platform-notes.html#linux ]
Comment 8 Chiitoo gentoo-dev 2021-01-31 11:40:20 UTC
(In reply to Manfred Knick from comment #6)
> (In reply to Chiitoo from comment #3)
> > The main issue is Chromium, ...
> Well, I have no chromium installed on my system,
> and can't detect any dependency upon it.

Right, but Qt WebEngine uses Chromium "inside", and as long as Chromium requires Python 2 to build, Qt WebEngine will require Python 2 to build.
Comment 9 Julien Delquié 2021-02-03 17:43:28 UTC
According to the Implementation support timeline [1], what will happen after 2021-02-15 (Package removal)? No more build of dev-qt/qtwebengine?

Today, here is the list of installed packages that depend on it, on my system:
dev-qt/qtwebengine-5.15.2 pulled in by:
    app-text/calibre-5.6.0 requires >=dev-qt/qtwebengine-5.12
    dev-python/PyQtWebEngine-5.15.2 requires dev-qt/qtwebengine:5[widgets]
    kde-apps/kaccounts-providers-20.12.1 requires >=dev-qt/qtwebengine-5.15.1:5
    kde-apps/kalgebra-20.12.1 requires >=dev-qt/qtwebengine-5.15.1:5[widgets]
    kde-apps/kimagemapeditor-20.12.1 requires >=dev-qt/qtwebengine-5.15.1:5[widgets]
    kde-apps/ktp-text-ui-20.12.1 requires >=dev-qt/qtwebengine-5.15.1:5[widgets]
    kde-apps/marble-20.12.1 requires >=dev-qt/qtwebengine-5.15.1:5[widgets]
    kde-apps/parley-20.12.1-r1 requires >=dev-qt/qtwebengine-5.15.1:5[widgets]
    media-gfx/digikam-7.1.0-r1 requires >=dev-qt/qtwebengine-5.12.3:5[widgets]
    net-libs/signon-ui-0.15_p20171022 requires dev-qt/qtwebengine:5
    net-p2p/ktorrent-20.12.1 requires >=dev-qt/qtwebengine-5.15.1:5
    www-client/falkon-3.1.0-r1 requires >=dev-qt/qtwebengine-5.12.3:5/5.15=[widgets], >=dev-qt/qtwebengine-5.12.3:5=[widgets]

I won't be able to build these or something after this date?


[1] https://wiki.gentoo.org/wiki/Project:Python/Implementations
Comment 10 Manfred Knick 2021-02-03 18:15:30 UTC
(In reply to Julien Delquié from comment #9)
> ...
> [1] https://wiki.gentoo.org/wiki/Project:Python/Implementations

. . . "Dates in bold indicate when events took place, 
. . .  dates in parentheses are planned dates."              <-----
Comment 11 Julien Delquié 2021-02-04 07:36:11 UTC
(In reply to Manfred Knick from comment #10)
> (In reply to Julien Delquié from comment #9)
> > ...
> > [1] https://wiki.gentoo.org/wiki/Project:Python/Implementations
> 
> . . . "Dates in bold indicate when events took place, 
> . . .  dates in parentheses are planned dates."              <-----

So, date will be changed when reached if nothing has been done upstream?
Comment 12 Andreas Sturmlechner gentoo-dev 2021-02-09 21:51:19 UTC
Voting here is cute, but we depend on upstream.
Comment 13 Julien Delquié 2021-02-10 07:26:04 UTC
(In reply to Andreas Sturmlechner from comment #12)
> Voting here is cute, but we depend on upstream.

I know about dependency on upstream.

But I don't know what is the strategy in this case specific case:
- try to implement an equivalent of the FreeBSD's KDE maintainer patch -> awesome but really risky imho, and I think this is clearly not the way Gentoo devs will choose,
- waiting for upstream to move to python 3 and have a new dev-qt/qtwebengine one day (+ keep python 2.x and current dev-qt/qtwebengine during this period) -> cool thing, and what I hope will happen, despite dates in parentheses (I know, it's just « planned »),
- just trash everything because this takes too long, and is irritating for everyone here -> the thing I really fear, here, but I could understand that this situation is boring, tiring, etc. for Gentoo devs.
Comment 14 Attila Tóth 2021-02-10 22:14:08 UTC
(In reply to Julien Delquié from comment #13)
> (In reply to Andreas Sturmlechner from comment #12)
> > Voting here is cute, but we depend on upstream.
> 
> I know about dependency on upstream.
> 
> But I don't know what is the strategy in this case specific case:
> - try to implement an equivalent of the FreeBSD's KDE maintainer patch ->
> awesome but really risky imho, and I think this is clearly not the way
> Gentoo devs will choose,
> - waiting for upstream to move to python 3 and have a new dev-qt/qtwebengine
> one day (+ keep python 2.x and current dev-qt/qtwebengine during this
> period) -> cool thing, and what I hope will happen, despite dates in
> parentheses (I know, it's just « planned »),
> - just trash everything because this takes too long, and is irritating for
> everyone here -> the thing I really fear, here, but I could understand that
> this situation is boring, tiring, etc. for Gentoo devs.

Quite a lot of change has been included in 5.15.2_p20210205 , which was addressed in the FreeBSD patch. Maybe there is a progress. But the build system still expects python2...
Comment 15 Seong-ho Cho 2021-05-09 05:49:41 UTC
two thumbs up. 

Python 2 is zombie that should be buried. :P
Comment 16 Sam James archtester gentoo-dev Security 2021-05-09 05:55:41 UTC
(In reply to Seong-ho Cho from comment #15)
> two thumbs up. 
> 
> Python 2 is zombie that should be buried. :P

We know, but this isn't really something we can do ourselves.
Comment 17 Dmitry Derevyanko 2021-05-09 07:05:11 UTC
Is it possible to add binary version of qtwebengine? dev-qt/qtwebengine-bin
Comment 18 water.devil 2021-06-18 06:37:59 UTC
binary version of qtwebengine would help great, because I'm no longer able to compile it. PC freezes.

In my case calibre depends on qtwebengine.

Or upgrade it. 1 year and 8 months seems long enough!
Many thanks
Comment 19 Manfred Knick 2021-06-18 08:02:49 UTC
(In reply to water.devil from comment #18)

> Or upgrade it. 1 year and 8 months seems long enough!
Let me kindly suppose to re-direct your anger and this complaint @ Qt,
because comments 7 and 8 above still prove valid.

Just check yourself:

. . . . . Python 2.7.5 or later. Python 3 is not supported.               <--- !

[ https://doc.qt.io/qt-5/qtwebengine-platform-notes.html#all-platforms ]
Comment 20 Thomas Bettler 2021-06-18 08:07:05 UTC
Things might not change until Qt includes chromium >= 93 for qtwebengine, wich might not happen within the next few months.

On the plus side, lets mention, latest chromium ebuilds work now without py2 :)
Comment 21 Thomas Bettler 2021-06-18 08:11:18 UTC
watch out for https://github.com/qt/qtwebengine-chromium/commits/upstream-master moving to chromium >= 93
Comment 22 Andreas Sturmlechner gentoo-dev 2021-09-29 17:46:54 UTC
We know that chromium has py3 support upstream.

That's irrelevant for qtwebengine:5 which remains stuch at chromium-87 with only security bugs being backported. Unless someone does the work and backports py3 support.
Comment 23 Thomas Bettler 2021-12-13 12:35:16 UTC
@asturm: I totally agree.

For the curious:
https://github.com/qt/qtwebengine/tree/6.3 includes support for chromium-94 thus builds without python-2. Although we will still have to wait until this version will be released and eventually lands in gentoo... let's be patient.
Comment 24 Michael 2021-12-13 12:57:58 UTC
(In reply to Thomas Bettler from comment #23)
> Although we will still have to wait until this
> version will be released and eventually lands in gentoo... 

And all BDEPS ported to it. It'll be years.
Comment 25 Manfred Knick 2021-12-13 13:06:00 UTC
Yes, indeed - Thomas is right, twice:

"This version of Qt WebEngine is based on Chromium version 90.0.4430, with additional security fixes from newer versions."
[ https://doc-snapshots.qt.io/qt6-dev/qtwebengine-overview.html#qt-webengine-core-module ]

As Michael just pointed out ("Mid-Air Collision"):
The vast majority of applications (including KDE, e.g.) still depends upon QT 5.
Comment 26 Michael 2021-12-13 13:20:48 UTC
So is the 6.3 branch going to be chromium 90 or 94?
Comment 27 Andreas Sturmlechner gentoo-dev 2021-12-13 13:31:25 UTC
No offtopic chatter please, this bug is about qtwebengine:5 which can't go away until revdeps are ported.
Comment 28 Andreas Sturmlechner gentoo-dev 2021-12-13 14:03:25 UTC
(In reply to Michael from comment #26)
> So is the 6.3 branch going to be chromium 90 or 94?

To answer your question anyway:
https://gitweb.gentoo.org/proj/qt.git/tree/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
Comment 29 Thomas Bettler 2021-12-13 21:09:24 UTC
@asturm: you'd like to look at qtwebengine:5 only ? - would you like to clarify the title?