parent
4d1824dc55
commit
fd5d407809
22
mingw-w64-qt5-static/0015-fix-build-with-cygwin-tools.patch
Normal file
22
mingw-w64-qt5-static/0015-fix-build-with-cygwin-tools.patch
Normal 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
|
||||
@ -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
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
@ -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;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user