Opened 3 years ago

Closed 2 years 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: medium 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@…, 3 years 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, 3 years 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 Rahul Chandra, 2 years ago

Description: modified (diff)
Milestone: hold → 12.2

comment:4 by Rahul Chandra, 2 years ago

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

comment:5 by Rahul Chandra, 2 years 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, 2 years 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, 2 years 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, 2 years 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 2 years ago by thomas (previous) (diff)

in reply to:  8 comment:9 by Xi Ruoyao, 2 years 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, 2 years 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, 2 years 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, 2 years 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, 2 years 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 Rahul Chandra, 2 years 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, 2 years 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, 2 years 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, 2 years ago

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

comment:18 by Bruce Dubbs, 2 years ago

Milestone: 99-Waiting → 12.2
Owner: changed from blfs-book to Bruce Dubbs
Status: new → assigned

comment:19 by Bruce Dubbs, 2 years 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, 2 years 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, 2 years 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, 2 years ago

I've submitted the patch to the patches repository

comment:23 by Douglas R. Reno, 2 years 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, 2 years ago

Resolution: → fixed
Status: assigned → closed

Updated to version 5.15.14 at commit c75cce7eab.

Closing.

Note: See TracTickets for help on using tickets.