Page MenuHomeSolus

How hard could it be? Deprecation of Qt4
Open, NormalPublic

Description

The latest of the Qt 4.X series was released in 2011. Since then, many applications have been ported to Qt 5. This has been accelerated by the move from KF4 to KF5, as KDE-based applications are one of the largest consumers of Qt. The following is a table of our remaining Qt 4 packages, along with details regarding their Qt 5 migration status.

NameVersionQt5 Ready?Source Done
bitmessage0.6.2In progress, see hereHereDeprecated
dukto6.0No. It's dead. @JoshStrobl will deprecate it from repo.Deprecated
fbreader0.99.4Dead project (see here ) - Port to Qt5 patch from Gentoo appliedGtk?Yes
flacon2.1.1Yes (4.0.0)HereYes
graphviz2.40.10Yes (2.42.x)PatchYes
hedgewars0.9.22Yes (0.9.24)HereYes
hydrogen1.0.0-rc1Yes (1.0.0-beta1)HereYes
klayout0.25.1YesHereYes
lmms1.2.0YesHereYes
mixxx2.0.0Yes (2.2.0 - unreleased)HereYes
mp3diags1.2.03No, will be deprecatedHereDeprecated
mumble1.2.19Yes (>=1.3.0rc1)HereYes
natron2.3.4In-progress, qt5 buildable but buggy, see hereHere
picard1.4.2Yes (2.0.0beta2)HereYes
puddletag1.2.0NoHereDeprecated
python-pyside1.2.4Yes (PySide2)Here
python-qscintilla2.10.2Yespython-qscintilla-qt5Yes
qca2.1.3Yesqca-qt5Yes
qjson0.9.0NoHereYes
qscintilla2.10.2Yesqscintilla-qt5Yes
scribus1.4.6Yes (1.5.5 dev)HereYes
shiboken1.2.4Yes (PySide2)Here
tagainijisho1.0.3In-ProgressHere
testdisk7.0YesHereYes
tortoisehg4.4.1Yes (4.5.2)See setup.pyYes
x2goclient4.1.0.0In-ProgressSee InstallYes

Notes

  • Uses shiboken - natron python-pyside
    • Uses python-pyside - natron
  • Uses python-qt4 - bitmessage puddletag
  • python3-qt4 can be deprecated (nothing uses it)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Herald removed DataDrake as the assignee of this task. · View Herald TranscriptMar 22 2018, 2:14 PM
DataDrake triaged this task as Normal priority.Mar 22 2018, 2:14 PM
DataDrake moved this task from Backlog to Improvement on the Software board.
JoshStrobl updated the task description. (Show Details)Mar 22 2018, 2:24 PM
JoshStrobl added a subscriber: JoshStrobl.
JoshStrobl updated the task description. (Show Details)Mar 22 2018, 2:27 PM
JoshStrobl updated the task description. (Show Details)

yubikey-neo-manager can be deprecated, it is so upstream. I was waiting for it's replacement yubikey-manager-qt to be out of beta first but, feature wise it's already on par.

@joebonrichie As per our package inclusion policy:

Typically, we prefer stable tagged releases. However, this may be waived if:
The software has significant traction (i.e. prerelease)
A bug fix only exists beyond the latest stable release for a git source

IMO yubikey-manager-qt would fall under "has significant traction".

@joebonrichie why don't you give yubikey-manager-qt a go at packaging and let us know how it goes. If there aren't any issues, then we can make a decision.

joebonrichie updated the task description. (Show Details)Mar 22 2018, 9:59 PM
joebonrichie updated the task description. (Show Details)

We have yubikey-manager-qt packaged already, will deprecate yubikey-neo-manager.

livingsilver94 added a comment.EditedMar 22 2018, 11:46 PM

Picard's Qt5 support starts from v2.0.0, which is currently in beta.

➜  picard git:(master) git --no-pager diff release-1.4.2 release-2.0.0beta1 -- picard/tagger.py
diff --git a/picard/tagger.py b/picard/tagger.py
index 9c83f5a7..62c276ce 100644
--- a/picard/tagger.py
+++ b/picard/tagger.py
@@ -18,15 +18,15 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from __future__ import print_function
 import sip
 
 sip.setapi("QString", 2)
 sip.setapi("QVariant", 2)
 
-from PyQt4 import QtGui, QtCore
+from PyQt5 import QtGui, QtCore, QtWidgets
 
 import argparse
+import logging
 import os.path
 import platform
 import re
joebonrichie updated the task description. (Show Details)Apr 16 2018, 8:38 PM
joebonrichie updated the task description. (Show Details)Apr 23 2018, 4:09 PM
joebonrichie updated the task description. (Show Details)May 5 2018, 5:19 PM
joebonrichie updated the task description. (Show Details)May 5 2018, 6:18 PM
joebonrichie updated the task description. (Show Details)May 7 2018, 5:14 PM
Snuggle added a subscriber: Snuggle.EditedMay 8 2018, 4:07 AM

Could I please request the inclusion of Clementine on this list?

Relevant Package Requests
T272 T5536 T2122

[Edit]
Actually, I may have misunderstood the purpose of this list. I didn't realize it was for current packages. My bad!

joebonrichie updated the task description. (Show Details)Jul 19 2018, 8:24 PM
joebonrichie updated the task description. (Show Details)Jul 19 2018, 8:30 PM
Jacalz added a subscriber: Jacalz.Jul 21 2018, 2:27 PM
joebonrichie updated the task description. (Show Details)Aug 19 2018, 7:08 PM
This comment was removed by Jacalz.
DataDrake updated the task description. (Show Details)May 2 2019, 6:03 PM
This comment was removed by Jacalz.
joebonrichie updated the task description. (Show Details)Jul 15 2019, 2:28 PM

Please mark LMMS as done now that 1.2.0 is in the repositories.

JoshStrobl updated the task description. (Show Details)Jul 15 2019, 4:10 PM

testdisk 7.1 is out. Please allow me to update it.

@livingsilver94 It has no designated MAINTAINERS.md file, go for it. If no MAINTAINERS.md file exists and there should be, we'll accept the patch and proactively add it.

kyrios123 updated the task description. (Show Details)Jul 19 2019, 6:30 PM
joebonrichie updated the task description. (Show Details)Aug 5 2019, 10:01 AM
joebonrichie updated the task description. (Show Details)
joebonrichie updated the task description. (Show Details)Aug 5 2019, 10:09 AM
joebonrichie updated the task description. (Show Details)

Mumble should now be possible to mark as done with the release and inclusion of version 1.3.0 👍

joebonrichie updated the task description. (Show Details)Sep 10 2019, 6:49 PM

I think natron is dead. Its development stopped 2 years ago and the official website is not reachable.

The project is not dead, however it does need new maintainers and the website is now on GitHub Pages, still they haven't updated Qt4 to Qt5.

@livingsilver94, seems that upstream has moved to new repo, and new website is available here. And actually we're already tracking Natron's new repository (we're on 2.3.14 release now).
However, seems that its status on Qt hasn't changed - building against Qt5 is possible, but the build will be impaired because they don't support PySide2 yet. And we still can't build it...

Ah OK, cool! Thanks to both of you.

Fyi, the link for the source of Hydrogen is just 404. However, it does look like they quite recently released beta2: https://github.com/hydrogen-music/hydrogen/releases/tag/1.0.0-beta2

DataDrake updated the task description. (Show Details)Jun 7 2020, 3:54 AM
DataDrake updated the task description. (Show Details)Jun 7 2020, 3:57 AM
DataDrake updated the task description. (Show Details)
JoshStrobl added a comment.EditedJun 18 2020, 6:03 AM
  • FBReader has been proprietary since 2015, no active fork: https://github.com/geometer/FBReader/issues/308
    • This is going to be nuked.
  • tagainijisho hasn't had a release since 2015. Still being developed however Qt5 release (1.2.0) appears to be a significant ways off, with many issues dating back to 2015 and 2016 still being open. https://github.com/Gnurou/tagainijisho/milestone/6
    • This is going to be nuked
  • Hydrogen: Move to latest RC? https://github.com/hydrogen-music/hydrogen/releases/tag/1.0.0-rc1
    • If it fails, nuke it. I'd rather deal with it being "buggy" than having an entire toolkit for it.
  • Natron: Requested nukage by @DataDrake
  • Syncplay should support Qt5 however needs a maintainer. Can opt to either RFC or nuke.
  • python-pyside and python-pyside-tools can be nuked if we nuke syncplay. It may be able to be nuked depending on newer syncplay requirements.
  • shiboken is required for python-pyside, however has not seen a release since 2015. Advise to nuke if we can nuke syncplay or if it no longer requires python-pyside.
  • This basically leaves @DataDrake 's qucs as a blocker for qt4 deprecation

Once I land OpenSSL 1.1 series, Qt4 will no longer be able to be built without considerable effort I am not willing to invest. FreeBSD patches (I manually combined all their diffs from SVN) resolve X509 errors but everything else is result of changes in OpenSSL 1.1 series ABIs. Basically everybody (Arch, FreeBSD, Fedora, Debian, Ubuntu) nuked and stopped supporting it, the patches Debian provided that Arch carries do not function because of the very X509 issues that FreeBSD's patch solves. There aren't any differences between Debian and FreeBSD's patches otherwise, so if someone wants Qt4 badly enough they can sort it.

In theory qt4 will still work since the SOs aren't going away for OpenSSL 1.0 series, but not at the stage of testing yet (couple packages left before) so can't really say for sure.

If somebody wants to take a stab at it after I land OpenSSL 1.1 on Saturday (assuming testing is fine), here's what the patch will be to get you like halfway to building the OpenSSL support in Qt4.

I can have a go at getting Hydrogen updated to the latest RC if it is okay for you?

JoshStrobl updated the task description. (Show Details)Jun 18 2020, 5:26 PM
JoshStrobl updated the task description. (Show Details)
kyrios123 updated the task description. (Show Details)Jun 25 2020, 8:06 PM
kyrios123 updated the task description. (Show Details)
JoshStrobl updated the task description. (Show Details)Dec 16 2020, 6:11 PM