Opened 13 months ago
Closed 9 months ago
#19442 closed enhancement (fixed)
qt5-5.15.14 (Partial removal)
Reported by: | Bruce Dubbs | Owned by: | Bruce Dubbs |
---|---|---|---|
Priority: | normal | Milestone: | 12.2 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by ) ¶
New point version.
Perhaps we should remove the full qt5 and just stay with qt5-alternate.
Note that qt5-components is only needed for audacious (qtmultimedia), network-manager (qtdoc for examples), and wireshark (qtmultimedia if qt6 is not installed).
The reason those two modules were split off is due to their dependencies.
This is a list of packages that can use qt5. We will need to hold off on this for quite a while until the required and recommended packages can be downgraded to at least optional.
x/dm/sddm.xml: required x/lib/grantlee.xml: required multimedia/audioutils/audacious.xml: required multimedia/videoutils/vlc.xml: required for gui networking/netlibs/kdsoap.xml: required multimedia/libdriv/v4l-utils.xml: recommended networking/netutils/avahi.xml: recommended general/genlib/libportal.xml: optional general/genlib/log4cplus.xml: optional general/genutils/graphviz.xml: optional general/genutils/highlight.xml: optional (for GUI front-end) general/genutils/pinentry.xml: optional general/graphlib/poppler.xml: optional general/prog/doxygen.xml: optional (for doxywizard), multimedia/libdriv/gst10-plugins-base.xml: optional (for examples), multimedia/libdriv/gst10-plugins-good.xml: optional multimedia/libdriv/mlt.xml: optional networking/netprogs/wpa_supplicant.xml: optional networking/netutils/networkmanager.xml optional networking/netutils/wireshark.xml: optional postlfs/security/gpgme.xml: optional pst/typesetting/asymptote.xml: optional x/dm/lightdm.xml: optional xsoft/office/libreoffice.xml: optional xsoft/other/transmission.xml: optional general/sysutils/sysmon-qt.xml: note
(Reopened as lxqt-2.0 was just added)
Change History (24)
comment:1 by , 13 months ago
comment:2 by , 13 months ago
Milestone: | 12.2 → hold |
---|---|
Summary: | qt5-5.15.13 → qt5-5.15.13 (Hold until lxqt-2.x) |
After lxqt-2.x re-examine need and possibly archive qt5.
comment:3 by , 12 months ago
Description: | modified (diff) |
---|---|
Milestone: | hold → 12.2 |
comment:4 by , 12 months ago
Summary: | qt5-5.15.13 (Hold until lxqt-2.x) → qt5-5.15.13 (Possible Archive/Partial removal) |
---|
comment:5 by , 12 months ago
I think we can archive Qt5 at this point, we should probably leave alternate in but after 12.2 we should be able to remove it entirely.
comment:6 by , 12 months ago
I'm currently not at home so typing this on my phone, but isn't Qt5 a requirement for VLC? VLC is needed for Phonon for Plasma still, so we really need that to be Qt6 ready
comment:7 by , 12 months ago
For vlc we currently have:
Optional interface plugins
- (Qt-5.15.12 or qt-alternate-5.15.12) (required for the graphical user interface).
Wouldn't mpv or mplayer be alternatives for a player with a UI?
follow-up: 9 comment:8 by , 12 months ago
Just for the record:
I've to add
sed -e "/c++1z/s;^CONFIG;#CONFIG;" \ -e "s;c++14;c++17;" \ -i qtlocation/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro
and add
-c++std c++17
to the configure instruction to get our current qt5 to compile with icu-75.
comment:9 by , 11 months ago
Replying to thomas:
Just for the record:
I've to add
sed -e "/c++1z/s;^CONFIG;#CONFIG;" \ -e "s;c++14;c++17;" \ -i qtlocation/src/3rdparty/mapbox-gl-native/mapbox-gl-native.proand add
-c++std c++17to the configure instruction to get our current qt5 to compile with icu-75.
Note that technically mapbox-gl-native is not compatible with C++17. The code is using some C++ features removed in C++17. So this hack is not sound.
I'm leaning forward to just archive Qt5.
comment:10 by , 11 months ago
Another possibility is just keep qt5-alternate for VLC. Qtlocation is not built for qt5-alternate, so the bit rot mapbox-gl-native won't be a issue.
follow-up: 12 comment:11 by , 11 months ago
From Uwe Düffert via the mailing list:
To get it (5.15.13) built (on current system including icu-75.1) I also needed: mkdir -pv qtbase/.git sed -e "/pragma once/a#include <cstdint>" -i \ qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \ qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp \ qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp sed -e 's@std=c++1y@std=c++17@g' -i qtbase/mkspecs/common/g++-base.conf
comment:12 by , 11 months ago
Again 's@std=c++1y@std=c++17@g' is unsound and we should avoid it, unless we really have no option.
But to me the alternative is quite clear: just disable qtlocation or switch to qt-alternative completely.
comment:13 by , 11 months ago
Description: | modified (diff) |
---|---|
Milestone: | 12.2 → 99-Waiting |
Summary: | qt5-5.15.13 (Possible Archive/Partial removal) → qt5-5.15.13 (Possible Archive/Partial removal) (hold for now) |
comment:14 by , 10 months ago
qtlocation relies on RapidJSON which FTBFS with GCC 14, see https://github.com/Tencent/rapidjson/issues/2277 Fix: https://github.com/Tencent/rapidjson/pull/719
This could probably be adapted to 2 seds
follow-up: 16 comment:15 by , 10 months ago
IMO we should at least add -skip qtlocation
. Nothing in BLFS ever needs it and it has caused two troubles now.
And again 's@std=c++1y@std=c++17@g' is just wrong. It's bad to tell the users to do a wrong thing from a educational prospective.
comment:16 by , 10 months ago
Replying to Xi Ruoyao:
IMO we should at least add
-skip qtlocation
. Nothing in BLFS ever needs it and it has caused two troubles now.
Actually three. One with GCC 13, another with ICU 75, last one with GCC 14.
comment:17 by , 10 months ago
Now qtlocation is removed from both (monolithic) qt5 and qt5-components.
comment:18 by , 9 months ago
Milestone: | 99-Waiting → 12.2 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:19 by , 9 months ago
Summary: | qt5-5.15.13 (Possible Archive/Partial removal) (hold for now) → qt5-5.15.14 (Partial removal) |
---|
Now version 5.15.14.
Will consolidate the three qt pages to one for only components we need for BLFS.
comment:20 by , 9 months ago
At commit ad8b7168d3 the full qt5 and old qt5-components pages were removed. The qt5-alternate pages was renamed to qt5-components and instructions were added to build qtmultimedia if desired for wireshark and qtdoc if desired for NetworkManager examples.
Leaving the ticket open for now to update to version 5.15.14, but need the kf5 patch in order to do that.
comment:21 by , 9 months ago
I'm currently doing a test build, but I was able to come up with a patch using the following procedure:
git clone https://invent.kde.org/qt/qt/qt5.git cd qt5 git submodule init git submodule update git diff v5.15.14-lts-lgpl..origin/kde/5.15 --submodule=diff > ~/qt-5.15.14-kf5.patch kate ~/qt-5.15.14-kf5.patch --- Remove all hunks referencing qtpim and qtwebengine ---
If this builds successfully I'll add it to the patches repo
comment:23 by , 9 months ago
Release notes for 5.15.14: https://code.qt.io/cgit/qt/qtreleasenotes.git/tree/qt/5.15.14/release-note.md
Release notes for 5.15.13: https://code.qt.io/cgit/qt/qtreleasenotes.git/tree/qt/5.15.13/release-note.md
Note that the security patch that was present for 5.15.12 has been applied in the KF5 patch now.
comment:24 by , 9 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Updated to version 5.15.14 at commit c75cce7eab.
Closing.
Replying to Bruce Dubbs:
For audacious, on my qt6 systems I'm using the following changes for both audacious and its plugins (and omitting -Dgtk3=true)
I will again mention that unless you specify -Dgtk=false it will look for gtk2 irrespective of the other choices.
With qt6 the controls have text labels instead of icons for pause, play, etc.