qt5-static: update to 5.15.17

Fixes #23792
This commit is contained in:
مهدي شينون (Mehdi Chinoune) 2025-06-21 15:57:22 +01:00
parent 4d1824dc55
commit fd5d407809
6 changed files with 27 additions and 242 deletions

View File

@ -0,0 +1,22 @@
--- a/qtbase/bin/syncqt.pl
+++ b/qtbase/bin/syncqt.pl
@@ -54,7 +54,7 @@
use warnings;
use English qw(-no_match_vars );
-my $normalizePath_fixDrive = ($^O eq "msys" ? 1 : 0);
+my $normalizePath_fixDrive = ($^O eq "cygwin" ? 1 : 0);
######################################################################
# Syntax: normalizePath(\$path)
--- a/qtbase/configure
+++ b/qtbase/configure
@@ -305,7 +305,7 @@
if [ -d /System/Library/Frameworks/Cocoa.framework ]; then
BUILD_ON_MAC=yes
fi
-if [ "$OSTYPE" = "msys" ]; then
+if [ "$OSTYPE" = "cygwin" ]; then
relpath=`(cd "$relpath"; pwd -W)`
outpath=`pwd -W`
fi

View File

@ -1,71 +0,0 @@
--- a/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-05 09:24:36.000000000 -0700
+++ b/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in 2014-12-11 10:19:51.599972209 -0700
@@ -2,9 +2,9 @@
!!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\")
!!ELSE
-set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\")
!!ENDIF
_qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
--- a/qtbase/src/gui/gui.pro 2014-12-05 09:24:35.000000000 -0700
+++ b/qtbase/src/gui/gui.pro 2014-12-11 10:22:37.644366784 -0700
@@ -18,12 +18,6 @@ MODULE_PLUGIN_TYPES = \
imageformats \
egldeviceintegrations
-# This is here only because the platform plugin is no module, obviously.
-qtConfig(angle) {
- MODULE_AUX_INCLUDES = \
- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
-}
-
# Code coverage with TestCocoon
# The following is required as extra compilers use $$QMAKE_CXX instead of $(CXX).
# Without this, testcocoon.prf is read only after $$QMAKE_CXX is used by the
@@ -35,6 +29,8 @@ testcocoon {
osx: LIBS_PRIVATE += -framework AppKit
darwin: LIBS_PRIVATE += -framework CoreGraphics
+win32:qtConfig(angle): LIBS_PRIVATE += -lGLESv2
+
CONFIG += simd optimize_full
include(accessible/accessible.pri)
--- a/qtbase/src/opengl/opengl.pro 2014-12-05 09:24:31.000000000 -0700
+++ b/qtbase/src/opengl/opengl.pro 2014-12-11 10:15:45.884805707 -0700
@@ -10,6 +10,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf
qtConfig(opengl): CONFIG += opengl
qtConfig(opengles2): CONFIG += opengles2
+win32:qtConfig(angle): LIBS_PRIVATE += -lGLESv2
HEADERS += qgl.h \
qgl_p.h \
--- a/qtbase/src/plugins/platforms/windows/windows.pri 2014-12-05 09:24:37.000000000 -0700
+++ b/qtbase/src/plugins/platforms/windows/windows.pri 2014-12-11 10:13:45.228261276 -0700
@@ -4,6 +4,7 @@ LIBS += -lole32 -luser32 -lwinspool -limm32 -lwinmm -loleaut32
QT_FOR_CONFIG += gui
qtConfig(opengl):!qtConfig(opengles2):!qtConfig(dynamicgl): LIBS *= -lopengl32
+qtConfig(angle):LIBS += -lGLESv2 -lEGL
mingw: LIBS *= -luuid
# For the dialog helpers:
--- a/qtbase/src/src.pro 2014-12-05 09:24:31.000000000 -0700
+++ b/qtbase/src/src.pro 2014-12-11 10:06:14.882845813 -0700
@@ -199,10 +199,6 @@ qtConfig(gui) {
SUBDIRS += src_3rdparty_harfbuzzng
src_gui.depends += src_3rdparty_harfbuzzng
}
- qtConfig(angle) {
- SUBDIRS += src_angle
- src_gui.depends += src_angle
- }
qtConfig(png):!qtConfig(system-png) {
SUBDIRS += src_3rdparty_libpng
src_3rdparty_freetype.depends += src_3rdparty_libpng

View File

@ -1,53 +0,0 @@
--- x86_64/qtbase/tools/configure/configureapp.cpp.orig 2014-03-23 03:12:04.000000000 +0400
+++ x86_64/qtbase/tools/configure/configureapp.cpp 2014-04-10 22:56:50.341400000 +0400
@@ -2077,6 +2077,8 @@
bool Configure::checkAngleAvailability(QString *errorMessage /* = 0 */) const
{
+ const QByteArray externalAngle = qgetenv("EXTERNAL_ANGLE");
+ if (externalAngle.isEmpty()) {
// Check for Direct X SDK (include lib and direct shader compiler 'fxc').
// Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the
// DXSDK_DIR variable. Starting with Windows Kit 8, it is included
@@ -2120,6 +2122,7 @@
*errorMessage = QString::fromLatin1("The shader compiler '%1' could not be found.").arg(fxcBinary);
return false;
}
+ }
return true;
}
--- x86_64/qtbase/tools/configure/environment.cpp.orig 2014-04-10 22:49:11.171000000 +0400
+++ x86_64/qtbase/tools/configure/environment.cpp 2014-04-10 22:57:20.901800000 +0400
@@ -610,11 +610,14 @@
// MinGW: Although gcc doesn't care about INCLUDE, qmake automatically adds it via -I
headerPaths += splitPathList(QString::fromLocal8Bit(getenv("INCLUDE")));
+ const QByteArray externalAngle = qgetenv("EXTERNAL_ANGLE");
+ if (externalAngle.isEmpty()) {
// Add Direct X SDK for ANGLE
const QString directXSdk = detectDirectXSdk();
if (!directXSdk.isEmpty()) // Add Direct X SDK for ANGLE
headerPaths += directXSdk + QLatin1String("/include");
return headerPaths;
+ }
}
QStringList Environment::libraryPaths(Compiler compiler)
@@ -626,6 +629,8 @@
// MinGW: Although gcc doesn't care about LIB, qmake automatically adds it via -L
libraryPaths += splitPathList(QString::fromLocal8Bit(qgetenv("LIB")));
+ const QByteArray externalAngle = qgetenv("EXTERNAL_ANGLE");
+ if (externalAngle.isEmpty()) {
// Add Direct X SDK for ANGLE
const QString directXSdk = detectDirectXSdk();
if (!directXSdk.isEmpty()) {
@@ -635,6 +640,7 @@
libraryPaths += directXSdk + QLatin1String("/lib/x86");
#endif
}
+ }
return libraryPaths;
}

View File

@ -1,21 +0,0 @@
--- x86_64/qtlocation/src/3rdparty/icu_dependency.pri.orig 2014-04-20 21:24:31.107015700 +0100
+++ x86_64/qtlocation/src/3rdparty/icu_dependency.pri 2014-04-20 21:24:25.573813000 +0100
@@ -2,11 +2,17 @@
CONFIG(static, static|shared) {
CONFIG(debug, debug|release) {
LIBS_PRIVATE += -lsicuind -lsicuucd -lsicudtd
+ DEFINES += "U_LIB_SUFFIX_C_NAME=d"
} else {
LIBS_PRIVATE += -lsicuin -lsicuuc -lsicudt
}
} else {
- LIBS_PRIVATE += -licuin -licuuc -licudt
+ CONFIG(debug, debug|release) {
+ LIBS_PRIVATE += -licuind -licuucd -licudtd
+ DEFINES += "U_LIB_SUFFIX_C_NAME=d"
+ } else {
+ LIBS_PRIVATE += -licuin -licuuc -licudt
+ }
}
} else {
LIBS_PRIVATE += -licui18n -licuuc -licudata

View File

@ -1,91 +0,0 @@
diff -Naur qt-everywhere-src-5.12.4-orig/qtbase/src/corelib/io/qfilesystemengine_win.cpp qt-everywhere-src-5.12.4/qtbase/src/corelib/io/qfilesystemengine_win.cpp
--- qt-everywhere-src-5.12.4-orig/qtbase/src/corelib/io/qfilesystemengine_win.cpp 2019-06-12 23:59:14.000000000 +0300
+++ qt-everywhere-src-5.12.4/qtbase/src/corelib/io/qfilesystemengine_win.cpp 2019-06-15 15:56:30.187254700 +0300
@@ -936,9 +936,10 @@
int errorCode = GetLastError();
if (errorCode == ERROR_ACCESS_DENIED || errorCode == ERROR_SHARING_VIOLATION) {
WIN32_FIND_DATA findData;
- if (getFindData(fname.nativeFilePath(), findData)
+ const QString nativeFilePath = fname.nativeFilePath();
+ if (getFindData(nativeFilePath, findData)
&& findData.dwFileAttributes != INVALID_FILE_ATTRIBUTES) {
- data.fillFromFindData(findData, true, fname.isDriveRoot());
+ data.fillFromFindData(findData, true, fname.isDriveRoot(), nativeFilePath);
filledData = true;
}
}
@@ -1053,8 +1054,9 @@
data.knownFlagsMask |= QFileSystemMetaData::LinkType;
if (data.fileAttribute_ & FILE_ATTRIBUTE_REPARSE_POINT) {
WIN32_FIND_DATA findData;
- if (getFindData(fname.nativeFilePath(), findData))
- data.fillFromFindData(findData, true);
+ const QString nativeFilePath = fname.nativeFilePath();
+ if (getFindData(nativeFilePath, findData))
+ data.fillFromFindData(findData, true, false, nativeFilePath);
}
}
data.knownFlagsMask |= what;
diff -Naur qt-everywhere-src-5.12.4-orig/qtbase/src/corelib/io/qfilesystemiterator_win.cpp qt-everywhere-src-5.12.4/qtbase/src/corelib/io/qfilesystemiterator_win.cpp
--- qt-everywhere-src-5.12.4-orig/qtbase/src/corelib/io/qfilesystemiterator_win.cpp 2019-06-12 23:59:14.000000000 +0300
+++ qt-everywhere-src-5.12.4/qtbase/src/corelib/io/qfilesystemiterator_win.cpp 2019-06-15 15:56:30.187254700 +0300
@@ -133,7 +133,7 @@
fileEntry = QFileSystemEntry(dirPath + fileName);
metaData = QFileSystemMetaData();
if (!fileName.endsWith(QLatin1String(".lnk"))) {
- metaData.fillFromFindData(findData, true);
+ metaData.fillFromFindData(findData, true, false, fileEntry.nativeFilePath());
}
return true;
}
diff -Naur qt-everywhere-src-5.12.4-orig/qtbase/src/corelib/io/qfilesystemmetadata_p.h qt-everywhere-src-5.12.4/qtbase/src/corelib/io/qfilesystemmetadata_p.h
--- qt-everywhere-src-5.12.4-orig/qtbase/src/corelib/io/qfilesystemmetadata_p.h 2019-06-12 23:59:14.000000000 +0300
+++ qt-everywhere-src-5.12.4/qtbase/src/corelib/io/qfilesystemmetadata_p.h 2019-06-15 15:56:30.187254700 +0300
@@ -231,7 +231,7 @@
#if defined(Q_OS_WIN)
inline void fillFromFileAttribute(DWORD fileAttribute, bool isDriveRoot = false);
- inline void fillFromFindData(WIN32_FIND_DATA &findData, bool setLinkType = false, bool isDriveRoot = false);
+ inline void fillFromFindData(WIN32_FIND_DATA &findData, bool setLinkType = false, bool isDriveRoot = false, const QString &nativeFullFilePath = QString());
# ifndef Q_OS_WINRT
inline void fillFromFindInfo(BY_HANDLE_FILE_INFORMATION &fileInfo);
# endif
@@ -339,7 +339,7 @@
knownFlagsMask |= FileType | DirectoryType | HiddenAttribute | ExistsAttribute;
}
-inline void QFileSystemMetaData::fillFromFindData(WIN32_FIND_DATA &findData, bool setLinkType, bool isDriveRoot)
+inline void QFileSystemMetaData::fillFromFindData(WIN32_FIND_DATA &findData, bool setLinkType, bool isDriveRoot, const QString &nativeFullFilePath)
{
fillFromFileAttribute(findData.dwFileAttributes, isDriveRoot);
birthTime_ = findData.ftCreationTime;
@@ -359,14 +359,21 @@
if (setLinkType) {
knownFlagsMask |= LinkType;
entryFlags &= ~LinkType;
- if (fileAttribute_ & FILE_ATTRIBUTE_REPARSE_POINT) {
- if (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK) {
- entryFlags |= LinkType;
-#if defined(IO_REPARSE_TAG_MOUNT_POINT)
- } else if ((fileAttribute_ & FILE_ATTRIBUTE_DIRECTORY)
- && (findData.dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT)) {
- entryFlags |= JunctionType;
-#endif
+ if (fileAttribute_ & FILE_ATTRIBUTE_REPARSE_POINT) {
+ if (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK) {
+ entryFlags |= LinkType;
+ } else if (findData.dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT) {
+ // Junctions and mount points are implemented as NTFS reparse points.
+ // But mount points cannot be treated as symlinks because they might
+ // not have a link target.
+ wchar_t buf[50];
+ QString path = nativeFullFilePath;
+ if (!path.endsWith(QLatin1Char('\\')))
+ path.append(QLatin1Char('\\'));
+ BOOL isMountPoint = GetVolumeNameForVolumeMountPoint(reinterpret_cast<const wchar_t*>(path.utf16()), buf, sizeof(buf) / sizeof(wchar_t));
+ if (!isMountPoint)
+ entryFlags |= LinkType;
+ }
}
}
}

View File

@ -5,7 +5,7 @@
_realname=qt5-static
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=5.15.16
pkgver=5.15.17
pkgrel=1
pkgdesc="A cross-platform application and UI framework (static) (mingw-w64)"
arch=('any')
@ -50,16 +50,15 @@ source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/singl
0012-mingw-add-extra-flags.patch
0013-qtbase-use-system-libs.patch
0014-qtimageformats-use-system-libs.patch
0015-fix-build-with-cygwin-tools.patch
0016-qt-5.8.0-win32-g++-use-qpa-genericunixfontdatabase.patch
0017-qt-5.3.0-fix-examples-building.patch
0024-qt-5.3.0-icu-add-U_LIB_SUFFIX_C_NAME.patch
0025-qt-5.8.0-force-using-make-on-msys.patch
0028-qt-5.8.0-Revert-untangle-use-of-system-vs.-shell-path-list-se.patch
0029-qt-5.8.0-Revert-fix-quoting-and-path-separators-in-qtPrepareT.patch
0030-qt-5.3.1-workaround-ansidecl-h-PTR-define-conflict.patch
0035-qt-5.3.2-dont-add-resource-files-to-qmake-libs.patch
0036-qt-5.3.2-win32-qt5-static-cmake-link-ws2_32-and--static.patch
0046-qt-5.4.1-Revert-Revert-fix-NTFS-mount-points.patch
0048-qt-5.4.2-win32-Avoid-platformNativeInterface-segfaults-with-minimal-platform.patch
0049-qt-5.8.0-win32-do-not-use-fontconfig.patch
0051-qt-5.9.1-disable-qtlocation-mapboxgl-plugin.patch
@ -82,7 +81,7 @@ source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/singl
0403-qtactiveqt-tools-avoid-race-condition.patch
0411-javascriptcore-disable-deprecated-warnings.patch
0412-jitstubs-underscore-symbol-name-for-x86.patch)
sha256sums=('efa99827027782974356aceff8a52bd3d2a8a93a54dd0db4cca41b5e35f1041c'
sha256sums=('85eb566333d6ba59be3a97c9445a6e52f2af1b52fc3c54b8a2e7f9ea040a7de4'
'884b32f0e2e1bb110330a921b69443379a7be98c42f13754f9c5f56c040ba3b7'
'617e6fa85a92353d0073425d37cd5d90d92cb7f906d66dd2d0df576122d091a4'
'27ce2161b5dbea2fcce6b15948ab722a71036d056420854f6554969f683583bb'
@ -98,16 +97,15 @@ sha256sums=('efa99827027782974356aceff8a52bd3d2a8a93a54dd0db4cca41b5e35f1041c'
'6e57b29ef71476f0eeb0fde9ac6635a1e4dcf66e0b83a34baf38c9df4f4429d2'
'b4135a287752a983183b966785c04c46c018055d43b8a84ef9f6e72c3406a766'
'91d65c71a1c809b23dc651981eee64a8d1fe9c8738f4c4756e5dca87e1c3ad4a'
'9e81d5a387b4a436c6728c2dde9d9102cf18d89dfd1b14f64cb39e798621a568'
'b31929c78f9906756a5e1bdf9a796541865c474aaa1b3eefea1a3f1d7c8d94ca'
'd8a476be7e55e8bb9362868073dc9e7937431e68b9578c0a0ed103cf1ebc8c01'
'd7c228df3cc680793a6c858e1fac01092c0877071c075804b7e93f6b3a481eae'
'97fcd6bd58ff8b8d735a6381b607bb3b4b351d1d07be1bbc18b97155dcbb501d'
'f80ce415f25f0aa4ead2efe369b41efe35d9848d4d36d8dbf3831e48dbd6e506'
'19566c38bd50581acaa6a9f46f0e25c41fdfc8b0b42269126e4d3a9b83e2f224'
'ddaa067d144f5788ab7a3ed0dfc426d702c13de9c35f04eaaf38d642be4934d4'
'bfb9ff161442683c88e137ca4ac4f9aabe44742d8204be565ccdaac6c59fcc0d'
'f008164ef2a224b8c52736bab53f1aeec72d610928f03cce57f632824dfdd615'
'a09ba083957a2b9020b5e17e57db98c3f41390db26d85b310798597fc2a4d34f'
'42724bd154ed98c612d19a7daee2b5028270ef6dbfe7f35d5f97c8d0605f9fe6'
'3dc4d7c4fed8fedd726211edbfe13f4d78247d3ab2f789f3ce2a8e43e59a7c5b'
'c84cb5ba4243413232bc693fb0f54c0283bf0e496e6790a2698f226f80275a61'
@ -163,6 +161,7 @@ prepare() {
0012-mingw-add-extra-flags.patch \
0013-qtbase-use-system-libs.patch \
0014-qtimageformats-use-system-libs.patch \
0015-fix-build-with-cygwin-tools.patch \
0016-qt-5.8.0-win32-g++-use-qpa-genericunixfontdatabase.patch \
0017-qt-5.3.0-fix-examples-building.patch \
0025-qt-5.8.0-force-using-make-on-msys.patch