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 Bruce Dubbs)

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)

in reply to:  description comment:1 by ken@…, 13 months ago

Replying to Bruce Dubbs:

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.

For audacious, on my qt6 systems I'm using the following changes for both audacious and its plugins (and omitting -Dgtk3=true)

 -Dgtk=false \
 -Dqt6=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.

comment:2 by Bruce Dubbs, 13 months ago

Milestone: 12.2hold
Summary: qt5-5.15.13qt5-5.15.13 (Hold until lxqt-2.x)

After lxqt-2.x re-examine need and possibly archive qt5.

comment:3 by Rahul Chandra, 12 months ago

Description: modified (diff)
Milestone: hold12.2

comment:4 by Rahul Chandra, 12 months ago

Summary: qt5-5.15.13 (Hold until lxqt-2.x)qt5-5.15.13 (Possible Archive/Partial removal)

comment:5 by Rahul Chandra, 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 Douglas R. Reno, 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 Bruce Dubbs, 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?

comment:8 by thomas, 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.

Last edited 12 months ago by thomas (previous) (diff)

in reply to:  8 comment:9 by Xi Ruoyao, 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.pro

and add

-c++std c++17

to 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 Xi Ruoyao, 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.

comment:11 by Bruce Dubbs, 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

in reply to:  11 comment:12 by Xi Ruoyao, 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 Bruce Dubbs, 11 months ago

Description: modified (diff)
Milestone: 12.299-Waiting
Summary: qt5-5.15.13 (Possible Archive/Partial removal)qt5-5.15.13 (Possible Archive/Partial removal) (hold for now)

comment:14 by Rahul Chandra, 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

comment:15 by Xi Ruoyao, 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.

in reply to:  15 comment:16 by Xi Ruoyao, 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 Xi Ruoyao, 10 months ago

Now qtlocation is removed from both (monolithic) qt5 and qt5-components.

comment:18 by Bruce Dubbs, 9 months ago

Milestone: 99-Waiting12.2
Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:19 by Bruce Dubbs, 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 Bruce Dubbs, 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 Douglas R. Reno, 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:22 by Douglas R. Reno, 9 months ago

I've submitted the patch to the patches repository

comment:23 by Douglas R. Reno, 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 Bruce Dubbs, 9 months ago

Resolution: fixed
Status: assignedclosed

Updated to version 5.15.14 at commit c75cce7eab.

Closing.

Note: See TracTickets for help on using tickets.