bitwiseworks / qt5-os2

Port of Qt software development framework version 5 to OS/2
Other
18 stars 2 forks source link

Update to 5.13.1 #8

Closed dmik closed 4 years ago

dmik commented 4 years ago

5.13.1 is out recently. Should be cheap to update all current modules to it (qtbase, qtsvg, qtdeclarative, qttools). Releases like .1 usually contain a lot of hot fixes to .0 ones — it makes sense to take them as a whole rather than cherry pick.

dmik commented 4 years ago

All of the four repos and the root (this one) have been merged. Now the build stage.

dmik commented 4 years ago

All built (with a number of patches here and there). Now some testing.

dmik commented 4 years ago

I found some test failures in qtbase after the 5.13.1 update which I wan to fix before releasing. I will create separate per-module thickets for those who take more than a blink to fix.

dmik commented 4 years ago

Got a problem while building 5.13.1 RPMs. It seems that .prl files for DLLs are missing from /lib (static LIBs are fine). They are present in 5.11 builds but not in 5.13.0, so it looks like a 5.13.0 regression to me.

dmik commented 4 years ago

The above problem has been fixed in https://github.com/bitwiseworks/qtbase-os2/commit/c2b39f359fc44786a2b7c214a15a614ea7f46cc0. Starting a rebuild now.

dmik commented 4 years ago

I've resolved https://github.com/bitwiseworks/qtbase-os2/issues/104, but while doing it, found another 5.13 regression (perhaps in qmake as well). Running qmake-qt5 in a source tree of any Qt app gives this:

Cannot read D:/@unixroot/usr/lib/Qt5Network.prl: No such file or directory
Error processing meta file /@unixroot/usr/lib/Qt5Network.prl
Cannot read D:/@unixroot/usr/lib/Qt5Core.prl: No such file or directory
Error processing meta file /@unixroot/usr/lib/Qt5Core.prl
Error processing meta file /@unixroot/usr/lib/Qt5Network.prl
Error processing meta file /@unixroot/usr/lib/Qt5Core.prl

Qt 5.11 RPMs don't show such a problem, neither does my dev build of 5.13.1.

dmik commented 4 years ago

There is a generic problem when cooking RPMs for modules other than qtbase. The build requires headers to be installed (symlinked) to include in a structured order (similar to how they appear in /usr/include). In a usual build this structure is created for all modules by the configure script. Since this script is only available in qtbase, .spec for other RPMs can't use it. I really wonder how it works on Fedora. Some debugging is needed.

dmik commented 4 years ago

Ok, I think I know what it is. Fedora builds from official tarballs. They provide forward-includes already. Somehow we need to run syncqt.pl manually. This also requires shipping it. Perhaps, in the root qt5 package, in qt5-srpm-macros.

dmik commented 4 years ago

It's much simpler than that: it's simply enough to create an empty .git subdirectory in the source tree for the module's .pro file (run by qmake) to create these includes using syncqt (which is already shipped with qtbase). I already used this hack in qtbase itself. Works for other modules just great. Building further.

SilvanScherrer commented 4 years ago

the rpm is out and so this task is done.