summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2018-05-28 21:50:43 +0200
committerMartchus2018-05-28 21:50:43 +0200
commit1de5b17c1169b308c3a014303dc8217228b90cca (patch)
treed2cdeb79f6dc53b2c55cbfbc84e191ca59508b7b
parent5522f822fc1124b7feaa9b9ed1e958a5f8897a9c (diff)
downloadaur-1de5b17c1169b308c3a014303dc8217228b90cca.tar.gz
Update to 5.11.0
-rw-r--r--.SRCINFO76
-rw-r--r--0001-Add-profile-for-cross-compilation-with-mingw-w64.patch314
-rw-r--r--0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch174
-rw-r--r--0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch8
-rw-r--r--0003-Use-external-ANGLE-library.patch18
-rw-r--r--0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch6
-rw-r--r--0005-Make-sure-.pc-files-are-installed-correctly.patch6
-rw-r--r--0006-Don-t-add-resource-files-to-LIBS-parameter.patch6
-rw-r--r--0007-Prevent-debug-library-names-in-pkg-config-files.patch6
-rw-r--r--0008-Fix-linking-against-shared-static-libpng.patch8
-rw-r--r--0009-Fix-linking-against-static-D-Bus.patch10
-rw-r--r--0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch10
-rw-r--r--0011-Fix-linking-against-static-freetype2.patch8
-rw-r--r--0012-Fix-linking-against-static-harfbuzz.patch8
-rw-r--r--0013-Fix-linking-against-static-pcre.patch10
-rw-r--r--0014-Fix-linking-against-shared-static-MariaDB.patch6
-rw-r--r--0015-Fix-linking-against-shared-static-PostgreSQL.patch6
-rw-r--r--0016-Rename-qtmain-to-qt5main.patch26
-rw-r--r--0017-Build-dynamic-host-libraries.patch8
-rw-r--r--0018-Enable-rpath-for-build-tools.patch6
-rw-r--r--0019-Use-system-zlib-for-build-tools.patch10
-rw-r--r--0020-Use-.dll.a-as-import-lib-extension.patch10
-rw-r--r--0021-Merge-shared-and-static-library-trees.patch12
-rw-r--r--0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch24
-rw-r--r--0023-Allow-usage-of-static-version-with-CMake.patch121
-rw-r--r--0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch10
-rw-r--r--0025-Use-correct-pkg-config-static-flag.patch8
-rw-r--r--0026-Fix-macro-invoking-moc-rcc-and-uic.patch12
-rw-r--r--0027-Ignore-errors-about-missing-feature-static.patch10
-rw-r--r--0028-Enable-and-fix-use-of-iconv.patch12
-rw-r--r--0029-Ignore-failing-pkg-config-test.patch10
-rw-r--r--0030-Prevent-qmake-from-messing-static-lib-dependencies.patch6
-rw-r--r--0031-Hardcode-linker-flags-for-platform-plugins.patch14
-rw-r--r--0032-Fix-linking-against-static-plugins-with-qmake.patch6
-rw-r--r--0033-Disable-hardware-randomizer-for-32-bit.patch49
-rw-r--r--PKGBUILD269
-rw-r--r--README.md90
37 files changed, 680 insertions, 713 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1c88459f3ce..7ea995617bb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,6 @@
-# Generated by mksrcinfo v8
-# Mon Feb 19 19:15:10 UTC 2018
pkgbase = mingw-w64-qt5-base
pkgdesc = A cross-platform application and UI framework (mingw-w64)
- pkgver = 5.10.1
+ pkgver = 5.11.0
pkgrel = 1
url = https://www.qt.io/
arch = i686
@@ -31,8 +29,8 @@ pkgbase = mingw-w64-qt5-base
options = !buildflags
options = staticlibs
options = !emptydirs
- source = https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtbase-everywhere-src-5.10.1.tar.xz
- source = 0001-Add-profile-for-cross-compilation-with-mingw-w64.patch
+ source = https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtbase-everywhere-src-5.11.0.tar.xz
+ source = 0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
source = 0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
source = 0003-Use-external-ANGLE-library.patch
source = 0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
@@ -64,39 +62,41 @@ pkgbase = mingw-w64-qt5-base
source = 0030-Prevent-qmake-from-messing-static-lib-dependencies.patch
source = 0031-Hardcode-linker-flags-for-platform-plugins.patch
source = 0032-Fix-linking-against-static-plugins-with-qmake.patch
- sha256sums = d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969
- sha256sums = 6b29d7a3751a506c15155425d6dc213e9f4654ee5b833007a0119bda6a050b28
- sha256sums = ca10438f4a2d309f496e85d7b974d9eeb88115e068e146ca511b9784db95b822
- sha256sums = 75bf0d8b155f95bad2dfbc5c046f88afd6a5f2233336a1f6d148583ba445fca6
- sha256sums = d70dcd1c44e751b0120f514af9db4ff20ebb0a327a22a371cf5e8d9453f66953
- sha256sums = cbad834340bc9e9261704034e9192bd0d7306f9ff02a99fd73fc348948c37ed9
- sha256sums = 3c7cd1839a6f0891b871c75824b8ebeb05e4e61884c342d6b6ab583f10819138
- sha256sums = c923da99871dac4fc58b8e70bd76c70fba0f421fc676a53bcb8c0187190ba737
- sha256sums = f9be656281652f72297f1e573f23298c22f4849857d92106096feb4b3fe9244f
- sha256sums = 5add111a9e521159e31ecef4d85ebef86285bbbe2adce5d8cec94fd22822731e
- sha256sums = 7d38e79bc6b2e5d74515291bf78c3a6168f8bc834f7f59bda2c013f65e45bd3e
- sha256sums = 9ab62cc8cd1cf68ee5e87e276d5a2f19c43b04a1c50c10341794924277cfcca5
- sha256sums = f1926bd51376a95ea1deee933dadd62166296e5780e24ce8312637c9d3eda27b
- sha256sums = 03f7a178af6b630f48da79c76e1239695d96137fd8394ba814e4bdf8c7e0a826
- sha256sums = dc3e0e3fe4ba979f74ff9dc343b235d32473edb18ca7f8afea3076f613564a95
- sha256sums = ef64b965a19e1e2848761829a6817dcb9f3ad616faa666f9e52736d810190c66
- sha256sums = 9e0c3848df586ec7decd9b7a6dab86a9e7e5cc7bf5ac06ff97d7d63e370bb05b
- sha256sums = 7dc90045a838f9ebcb7933d582abb3e8bba250644602e1019bf1a03e74cc3b09
- sha256sums = b5cc23a29e80ec8185da8ca0950ab8a2f12f4ef4b998c763334d352e68b53fc2
- sha256sums = 944cfdbfd9d13285aefb4305596950d2880cc1023b5ad241af08e3d6995daa69
- sha256sums = 5f7498a98912542c39b081c2df1930246df3bdb533c2e30204bf795cea8b885f
- sha256sums = 0b8408d70a4544e43fd573e5b9ac751fb2732d3e4490f21e1737ac09ece25b62
- sha256sums = 08155a41f22c03741096145bf201d5503e38495c2f255f3c81ea658948258cd3
- sha256sums = 7b30d46f739dffa20a1964e09958a92af1749104fe7a88d7ea255aa54e553b25
- sha256sums = c92d6a124b7b0333175122555ef9f647817eb54563480cf3eaaf47decfd907c3
- sha256sums = 0818c4d59aabb898fed8f313e21085cc8fc576d3f4975383eb73ba3f758c302e
- sha256sums = ce5d416a3404199072062063d8038084c23bbfe8aa45ed3340c4afb4dfa461e4
- sha256sums = 8d1e93bea1cdcdf1b965f4c061975668334cef6a65130f1b4b528f2b6952a602
- sha256sums = 298ffdcd378e2b07fe8e978cfb5faac29c117a5f79288273545a6938b905f33a
- sha256sums = 7514edba8ecd28b27715650bbafa8649492b68efba1df9c9fa70f06a924fea14
- sha256sums = 7c232c385303b447e17270b946d333b56274312b08b4e76439a5f77cb77aa909
- sha256sums = acfdf70ae8738a0373bbd93e42048d1c699f666dd72933ad3c09b09620fb0715
- sha256sums = c3df40da9b2494e59aae786a26ba93d88128b69971d10a64cb6d610045a101f8
+ source = 0033-Disable-hardware-randomizer-for-32-bit.patch
+ sha256sums = ed6e46db84f7d34923ab4eae165c63e05ab3cfa9d19a73d3f57b4e7bfd41de66
+ sha256sums = d01df5be5f96578f65c0343b1ae6eaac31e0c7608fb9b69e745865a5dfc8a1a3
+ sha256sums = 29621ba67b026c9fb61ba865ba9d6198d3b8914623609b97bbc375feb33415b2
+ sha256sums = 58435fde3af1478450c49637581884c217bd9080704dc80d035eb38df4706a6e
+ sha256sums = 3b4dff095110e60257f794c31e5c3b7f73c91d690c7acb3182b489d04988dd27
+ sha256sums = 2b62c549626e76da5c36779fe7dd18bddb8041fdb1b983cd29651cf5b0a2b905
+ sha256sums = 5c94228d93b7a6340098968738477f9720908a360358f51cd1bc6590e83679c0
+ sha256sums = 164b09da056113e19b859a151f93803f19e0c9ea5130db916722f5f0bcb7a8cd
+ sha256sums = 351e61261c87d700f4076c6d3f19e81a60d1bfcc0e64f2164cb2696c47a0fafc
+ sha256sums = a1ed220ddba56656fdbc37163e794f3b43e9a5dae6099b2b23967e870cd9214e
+ sha256sums = 844d136f65d498dc1eea11e1882cf2645320d249c82fdcec5d25875e9158cb39
+ sha256sums = a4a4f5ea9bc79b474ea3c5d86903054d6e9242a22b84589c210b3b8c2f797447
+ sha256sums = 7d1d1d57bff00ae77d5480955b85737bd4f30185f5b99f8b34d89f90976f53fb
+ sha256sums = 1937bb971912fa7021295174aee8c250a7be9c2d3e3ad76f700d9f7d80fd1117
+ sha256sums = 504fd54855d13a326cb65cffc006d1c67d9e6236830df9f581106ae8fe319fff
+ sha256sums = b732bca79bced6595e278e9e7ceec79306f51be121e78db0a9faa461344c918d
+ sha256sums = f86242c7e013971812c9a17d667db362ac10d19a63b51cda23d1f306bc8f3242
+ sha256sums = da007b133f51f27342854e0fb251a1784096f24dab454def99c8496c143f38e5
+ sha256sums = e6e8f2290a019071ded71c090c3cb8b24e0e33a37dcabdc6f676b886c18dd06a
+ sha256sums = 83645b01666aae48121ea9a952c6cfce9ba2aedb3edb9e1b11a893a5d8882831
+ sha256sums = bb7e54a090ceb6cddac43acee2f34d888a15df2ae0e99808ef6aad9ff6e9ebcf
+ sha256sums = 7166f4ab8b7c5a60c4a6e3ac86411719fab67ef6a6c5a16463c6541e9955ce17
+ sha256sums = bf1defbedd5c0d26aa000178092ac2c87ecb70b992184dc8ffff4502351e70c2
+ sha256sums = 29289ac6b2380c4a5d551d3c9b331f9b13190f4dafabdc203dcbfabcb4075c4d
+ sha256sums = 0494a41d31ff097cd59117557a6869c5e0e7670eef33267f93974c15e4445e76
+ sha256sums = bc53b50f4055170fea15b669366b8961e896d2705f91382ee3beea013979408e
+ sha256sums = 08d299eb938edc1d535bbb68b5b720203e2dffbc49129218bb1368791e6fb384
+ sha256sums = 20d945b374b0e73501013fcf6ba9fd7e8732b76060c948faeb42c605f2f9dd1f
+ sha256sums = d9eeaceb89efd143918a1bfed6b60d33e004e8421a613036647f318320b25d6a
+ sha256sums = fb54191f4479ed66446d9c6b9066be11c5d2d580ff4aa0910a3ad29183329e75
+ sha256sums = df8bfa7901b6af9de447a4f4d0983419f7c1fe5882cc97614d0e5b0759c67dec
+ sha256sums = 65d4a1aedc465dd9f5284cd1e2a352bc3c21e8e8e697e58ff9e89f54e5fcb173
+ sha256sums = 178144d85cf4c69ae5cea694959a555c4a8eb3a0a5ad5116a2c979beac0e36c0
+ sha256sums = 704c95d7fc157e58cc7d4436eb74bdcc0453ba29bb3326a3fe511ee35273e4c3
pkgname = mingw-w64-qt5-base
diff --git a/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch b/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch
deleted file mode 100644
index 7f9af67268f..00000000000
--- a/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-From fc85bad55db9fd58860c84e74ba3de1720111ef1 Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Fri, 3 Feb 2017 18:30:51 +0100
-Subject: [PATCH 01/32] Add profile for cross compilation with mingw-w64
-
----
- mkspecs/mingw-w64-g++/qmake.conf | 132 +++++++++++++++++++++++++++++
- mkspecs/mingw-w64-g++/qplatformdefs.h | 155 ++++++++++++++++++++++++++++++++++
- 2 files changed, 287 insertions(+)
- create mode 100644 mkspecs/mingw-w64-g++/qmake.conf
- create mode 100644 mkspecs/mingw-w64-g++/qplatformdefs.h
-
-diff --git a/mkspecs/mingw-w64-g++/qmake.conf b/mkspecs/mingw-w64-g++/qmake.conf
-new file mode 100644
-index 0000000000..978867fa1b
---- /dev/null
-+++ b/mkspecs/mingw-w64-g++/qmake.conf
-@@ -0,0 +1,132 @@
-+#
-+# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++
-+#
-+# Written for cross compilation with mingw-w64 under GNU/Linux
-+#
-+# Cross compile example for i686-w64-mingw32-g++:
-+# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
-+#
-+
-+load(device_config)
-+include(../common/angle.conf)
-+
-+MAKEFILE_GENERATOR = MINGW
-+QMAKE_PLATFORM = win32 win32-g++ mingw
-+CONFIG += debug_and_release debug_and_release_target precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG}
-+DEFINES += UNICODE
-+QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
-+
-+QMAKE_EXT_OBJ = .o
-+QMAKE_EXT_RES = _res.o
-+
-+QMAKE_COMPILER = gcc
-+
-+QMAKE_CC = $${CROSS_COMPILE}gcc
-+QMAKE_LEX = flex
-+QMAKE_LEXFLAGS =
-+QMAKE_YACC = bison -y
-+QMAKE_YACCFLAGS = -d
-+QMAKE_CFLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fno-keep-inline-dllexport $${CROSS_COMPILE_CFLAGS}
-+QMAKE_CFLAGS_DEPS = -M
-+QMAKE_CFLAGS_WARN_ON = -Wall -Wextra
-+QMAKE_CFLAGS_WARN_OFF = -w
-+QMAKE_CFLAGS_RELEASE = -O2
-+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -O2 -g
-+QMAKE_CFLAGS_DEBUG = -g
-+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
-+QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
-+QMAKE_CFLAGS_SSE2 = -msse2 -mstackrealign
-+QMAKE_CFLAGS_SSE3 = -msse3
-+QMAKE_CFLAGS_SSSE3 = -mssse3
-+QMAKE_CFLAGS_SSE4_1 = -msse4.1
-+QMAKE_CFLAGS_SSE4_2 = -msse4.2
-+QMAKE_CFLAGS_AVX = -mavx
-+QMAKE_CFLAGS_AVX2 = -mavx2
-+QMAKE_CFLAGS_NEON = -mfpu=neon
-+
-+QMAKE_CXX = $${CROSS_COMPILE}g++
-+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
-+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
-+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
-+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
-+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
-+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
-+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
-+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
-+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
-+QMAKE_CXXFLAGS_RTTI_ON = -frtti
-+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
-+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
-+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
-+QMAKE_CXXFLAGS_CXX11 = -std=c++11
-+QMAKE_CXXFLAGS_CXX14 = -std=c++1y
-+QMAKE_CXXFLAGS_CXX1Z = -std=c++1z
-+QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
-+QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
-+QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
-+QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
-+
-+QMAKE_INCDIR =
-+
-+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
-+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
-+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
-+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
-+
-+QMAKE_LINK = $${CROSS_COMPILE}g++
-+QMAKE_LINK_C = $${CROSS_COMPILE}gcc
-+QMAKE_LFLAGS = -g
-+QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
-+QMAKE_LFLAGS_EXCEPTIONS_OFF =
-+QMAKE_LFLAGS_RELEASE =
-+QMAKE_LFLAGS_DEBUG =
-+QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
-+QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
-+QMAKE_LFLAGS_DLL = -shared
-+QMAKE_LFLAGS_CXX11 =
-+QMAKE_LFLAGS_CXX14 =
-+QMAKE_LFLAGS_CXX1Z =
-+QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
-+QMAKE_LINK_OBJECT_MAX = 10
-+QMAKE_LINK_OBJECT_SCRIPT = object_script
-+QMAKE_PREFIX_SHLIB =
-+QMAKE_EXTENSION_SHLIB = dll
-+QMAKE_PREFIX_STATICLIB = lib
-+QMAKE_EXTENSION_STATICLIB = a
-+QMAKE_EXTENSION_IMPORTLIB = dll.a
-+
-+QMAKE_IDL = $${CROSS_COMPILE}widl
-+QMAKE_LIB = $${CROSS_COMPILE}ar -rc
-+QMAKE_RC = $${CROSS_COMPILE}windres
-+QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
-+QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5
-+
-+QMAKE_STRIP = $${CROSS_COMPILE}strip
-+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
-+QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
-+QMAKE_NM = $${CROSS_COMPILE}nm -P
-+
-+PKG_CONFIG = $${CROSS_COMPILE}pkg-config
-+QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config
-+
-+QMAKE_LIBS =
-+QMAKE_LIBS_CORE = -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
-+QMAKE_LIBS_GUI = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \
-+ $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) \
-+ $$system($${QMAKE_PKG_CONFIG} --libs freetype2)
-+QMAKE_LIBS_GUI_STATIC = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \
-+ $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) \
-+ $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2)
-+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
-+QMAKE_LIBS_NETWORK_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs openssl) \
-+ -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
-+QMAKE_LIBS_DBUS = $$system($${QMAKE_PKG_CONFIG} --libs dbus-1)
-+QMAKE_LIBS_DBUS_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs dbus-1)
-+QMAKE_LIBS_WIDGETS_STATIC = -ldwmapi -luxtheme
-+QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
-+QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
-+QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
-+QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
-+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqt5main
-+
-+load(qt_config)
-diff --git a/mkspecs/mingw-w64-g++/qplatformdefs.h b/mkspecs/mingw-w64-g++/qplatformdefs.h
-new file mode 100644
-index 0000000000..c5a70b1445
---- /dev/null
-+++ b/mkspecs/mingw-w64-g++/qplatformdefs.h
-@@ -0,0 +1,155 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2016 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the qmake spec of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QPLATFORMDEFS_H
-+#define QPLATFORMDEFS_H
-+
-+#ifdef UNICODE
-+#ifndef _UNICODE
-+#define _UNICODE
-+#endif
-+#endif
-+
-+// Get Qt defines/settings
-+
-+#include "qglobal.h"
-+
-+#include <tchar.h>
-+#include <io.h>
-+#include <direct.h>
-+#include <stdio.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <sys/stat.h>
-+#include <stdlib.h>
-+#include <limits.h>
-+
-+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
-+typedef enum {
-+ NameUnknown = 0,
-+ NameFullyQualifiedDN = 1,
-+ NameSamCompatible = 2,
-+ NameDisplay = 3,
-+ NameUniqueId = 6,
-+ NameCanonical = 7,
-+ NameUserPrincipal = 8,
-+ NameCanonicalEx = 9,
-+ NameServicePrincipal = 10,
-+ NameDnsDomain = 12
-+} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
-+#endif
-+
-+#ifdef QT_LARGEFILE_SUPPORT
-+#define QT_STATBUF struct _stati64 // non-ANSI defs
-+#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs
-+#define QT_STAT ::_stati64
-+#define QT_FSTAT ::_fstati64
-+#else
-+#define QT_STATBUF struct _stat // non-ANSI defs
-+#define QT_STATBUF4TSTAT struct _stat // non-ANSI defs
-+#define QT_STAT ::_stat
-+#define QT_FSTAT ::_fstat
-+#endif
-+#define QT_STAT_REG _S_IFREG
-+#define QT_STAT_DIR _S_IFDIR
-+#define QT_STAT_MASK _S_IFMT
-+#if defined(_S_IFLNK)
-+# define QT_STAT_LNK _S_IFLNK
-+#endif
-+#define QT_FILENO _fileno
-+#define QT_OPEN ::_open
-+#define QT_CLOSE ::_close
-+#ifdef QT_LARGEFILE_SUPPORT
-+#define QT_LSEEK ::_lseeki64
-+#ifndef UNICODE
-+#define QT_TSTAT ::_stati64
-+#else
-+#define QT_TSTAT ::_wstati64
-+#endif
-+#else
-+#define QT_LSEEK ::_lseek
-+#ifndef UNICODE
-+#define QT_TSTAT ::_stat
-+#else
-+#define QT_TSTAT ::_wstat
-+#endif
-+#endif
-+#define QT_READ ::_read
-+#define QT_WRITE ::_write
-+#define QT_ACCESS ::_access
-+#define QT_GETCWD ::_getcwd
-+#define QT_CHDIR ::_chdir
-+#define QT_MKDIR ::_mkdir
-+#define QT_RMDIR ::_rmdir
-+#define QT_OPEN_LARGEFILE 0
-+#define QT_OPEN_RDONLY _O_RDONLY
-+#define QT_OPEN_WRONLY _O_WRONLY
-+#define QT_OPEN_RDWR _O_RDWR
-+#define QT_OPEN_CREAT _O_CREAT
-+#define QT_OPEN_TRUNC _O_TRUNC
-+#define QT_OPEN_APPEND _O_APPEND
-+#if defined(O_TEXT)
-+# define QT_OPEN_TEXT _O_TEXT
-+# define QT_OPEN_BINARY _O_BINARY
-+#endif
-+
-+#include "../common/c89/qplatformdefs.h"
-+
-+#ifdef QT_LARGEFILE_SUPPORT
-+#undef QT_FSEEK
-+#undef QT_FTELL
-+#undef QT_OFF_T
-+
-+#define QT_FSEEK ::fseeko64
-+#define QT_FTELL ::ftello64
-+#define QT_OFF_T off64_t
-+#endif
-+
-+#define QT_SIGNAL_ARGS int
-+
-+#define QT_VSNPRINTF ::_vsnprintf
-+#define QT_SNPRINTF ::_snprintf
-+
-+# define F_OK 0
-+# define X_OK 1
-+# define W_OK 2
-+# define R_OK 4
-+
-+
-+#endif // QPLATFORMDEFS_H
---
-2.16.1
-
diff --git a/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
new file mode 100644
index 00000000000..013d327fd29
--- /dev/null
+++ b/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
@@ -0,0 +1,174 @@
+From bd010d1fb00f61dd6cca52c93a4285c5d967029b Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Fri, 3 Feb 2017 18:30:51 +0100
+Subject: [PATCH 01/33] Adjust win32-g++ profile for cross compilation with
+ mingw-w64
+
+Adding a new, separate mkspec instead of patching the existing one
+might be the cleaner solution. However tools like windeployqt and
+qbs do checks based on the hardcoded mkspec name to detect MinGW.
+So for this to work, the mkspec must be called win32-g++.
+
+Also see the following issues:
+* https://github.com/Martchus/PKGBUILDs/issues/59
+* https://github.com/Martchus/PKGBUILDs/issues/60
+---
+ mkspecs/common/g++-win32.conf | 56 +++++++++++++++++++++---------
+ mkspecs/win32-clang-g++/qmake.conf | 4 +--
+ mkspecs/win32-g++/qmake.conf | 4 +--
+ 3 files changed, 43 insertions(+), 21 deletions(-)
+
+diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
+index 610503379d..f099380cca 100644
+--- a/mkspecs/common/g++-win32.conf
++++ b/mkspecs/common/g++-win32.conf
+@@ -8,22 +8,31 @@
+ # Compiler-specific settings go into win32-g++/qmake.conf and
+ # win32-clang-g++/qmake.conf
+ #
++# The device options CROSS_COMPILE_CUSTOM_CONFIG and CROSS_COMPILE_CFLAGS can be used
++# to specify custom config/flags for cross compilation.
++#
+
+ load(device_config)
+ include(gcc-base.conf)
+ include(g++-base.conf)
+
++include(angle.conf)
++include(windows-vulkan.conf)
++
+ # modifications to gcc-base.conf and g++-base.conf
+
+ MAKEFILE_GENERATOR = MINGW
+ QMAKE_PLATFORM = win32 mingw
+-CONFIG += debug_and_release debug_and_release_target precompile_header
+-DEFINES += UNICODE _UNICODE WIN32
+-QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32
++CONFIG += debug_and_release debug_and_release_target precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG}
++DEFINES += UNICODE _UNICODE
++QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32 WIN32
+ # can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for
+ # x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC,
+ # 'QMAKE_TARGET.arch' is inherently unavailable.
+
++# prevent definition of _xgetbv() in psdk_inc/intrin-impl.h (already defined in xsaveintrin.h)
++DEFINES += __INTRINSIC_DEFINED__xgetbv
++
+ QMAKE_LEX = flex
+ QMAKE_LEXFLAGS =
+ QMAKE_YACC = bison -y
+@@ -34,6 +43,7 @@ QMAKE_CFLAGS_SSE2 += -mstackrealign
+ QMAKE_CXXFLAGS_RTTI_ON = -frtti
+ QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
+ QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
++QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
+
+ QMAKE_INCDIR =
+
+@@ -42,41 +52,53 @@ QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+ QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+ QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
++QMAKE_LFLAGS = -g
+ QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
+-QMAKE_LFLAGS_RELEASE = -Wl,-s
++QMAKE_LFLAGS_RELEASE =
++QMAKE_LFLAGS_DEBUG =
+ QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
+ QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
+ QMAKE_LFLAGS_DLL = -shared
+ QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
+-equals(QMAKE_HOST.os, Windows) {
+- QMAKE_LINK_OBJECT_MAX = 10
+- QMAKE_LINK_OBJECT_SCRIPT = object_script
+-}
++QMAKE_LINK_OBJECT_MAX = 10
++QMAKE_LINK_OBJECT_SCRIPT = object_script
+ QMAKE_EXT_OBJ = .o
+ QMAKE_EXT_RES = _res.o
+ QMAKE_PREFIX_SHLIB =
+ QMAKE_EXTENSION_SHLIB = dll
+ QMAKE_PREFIX_STATICLIB = lib
+ QMAKE_EXTENSION_STATICLIB = a
+-QMAKE_LIB_EXTENSIONS = a dll.a
++QMAKE_EXTENSION_IMPORTLIB = dll.a
++
++PKG_CONFIG = $${CROSS_COMPILE}pkg-config
++QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config
+
+ QMAKE_LIBS =
+-QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
+-QMAKE_LIBS_NETWORK = -lws2_32
++QMAKE_LIBS_CORE = -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
++QMAKE_LIBS_GUI = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \
++ $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) \
++ $$system($${QMAKE_PKG_CONFIG} --libs freetype2)
++QMAKE_LIBS_GUI_STATIC = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \
++ $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) \
++ $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2)
++QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
++QMAKE_LIBS_NETWORK_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs openssl) -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
++QMAKE_LIBS_DBUS = $$system($${QMAKE_PKG_CONFIG} --libs dbus-1)
++QMAKE_LIBS_DBUS_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs dbus-1)
++QMAKE_LIBS_WIDGETS_STATIC = -ldwmapi -luxtheme
+ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
+-QMAKE_LIBS_OPENGL_ES2 = -lgdi32 -luser32
+-QMAKE_LIBS_OPENGL_ES2_DEBUG = -lgdi32 -luser32
++QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
++QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
+ QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
+ QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
+
+-QMAKE_IDL = midl
++QMAKE_IDL = $${CROSS_COMPILE}widl
+ QMAKE_LIB = $${CROSS_COMPILE}ar -rc
+ QMAKE_RC = $${CROSS_COMPILE}windres
++QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
++QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5
+
+ QMAKE_STRIP = $${CROSS_COMPILE}strip
+ QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+ QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
+ QMAKE_NM = $${CROSS_COMPILE}nm -P
+-
+-include(angle.conf)
+-include(windows-vulkan.conf)
+diff --git a/mkspecs/win32-clang-g++/qmake.conf b/mkspecs/win32-clang-g++/qmake.conf
+index 4630ec4602..4981a28736 100644
+--- a/mkspecs/win32-clang-g++/qmake.conf
++++ b/mkspecs/win32-clang-g++/qmake.conf
+@@ -14,11 +14,11 @@ include(../common/g++-win32.conf)
+ QMAKE_COMPILER += clang llvm # clang pretends to be gcc
+
+ QMAKE_CC = $${CROSS_COMPILE}clang
+-QMAKE_CFLAGS +=
++QMAKE_CFLAGS += -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fno-keep-inline-dllexport $${CROSS_COMPILE_CFLAGS}
+ QMAKE_CFLAGS_WARN_ON += -Wextra -Wno-ignored-attributes
+
+ QMAKE_CXX = $${CROSS_COMPILE}clang++
+-QMAKE_CXXFLAGS +=
++QMAKE_CXXFLAGS += $${QMAKE_CFLAGS}
+ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+
+ QMAKE_LINK = $${CROSS_COMPILE}clang++
+diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
+index ed131c6823..b77d86cd6b 100644
+--- a/mkspecs/win32-g++/qmake.conf
++++ b/mkspecs/win32-g++/qmake.conf
+@@ -12,11 +12,11 @@ include(../common/g++-win32.conf)
+ # modifications to g++-win32.conf
+
+ QMAKE_CC = $${CROSS_COMPILE}gcc
+-QMAKE_CFLAGS += -fno-keep-inline-dllexport
++QMAKE_CFLAGS += -g -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fno-keep-inline-dllexport $${CROSS_COMPILE_CFLAGS}
+ QMAKE_CFLAGS_WARN_ON += -Wextra
+
+ QMAKE_CXX = $${CROSS_COMPILE}g++
+-QMAKE_CXXFLAGS += -fno-keep-inline-dllexport
++QMAKE_CXXFLAGS += $${QMAKE_CFLAGS}
+ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+
+ QMAKE_LINK = $${CROSS_COMPILE}g++
+--
+2.17.0
+
diff --git a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
index 724babddbd3..c26ef5b8c3e 100644
--- a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
+++ b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
@@ -1,7 +1,7 @@
-From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001
+From 2cf971ff3e2c1a6f736d6b23f843f00456e3949b Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:36:53 +0200
-Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL
+Subject: [PATCH 02/33] Ensure GLdouble is defined when using dynamic OpenGL
FIXME: Not sure whether this is still required
---
@@ -9,7 +9,7 @@ FIXME: Not sure whether this is still required
1 file changed, 2 deletions(-)
diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h
-index 0a5de2c9af..35798a2a28 100644
+index 1a43f13d9b..a4c954a453 100644
--- a/src/gui/opengl/qopenglfunctions.h
+++ b/src/gui/opengl/qopenglfunctions.h
@@ -56,9 +56,7 @@
@@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
#include <stdio.h>
--
-2.16.1
+2.17.0
diff --git a/0003-Use-external-ANGLE-library.patch b/0003-Use-external-ANGLE-library.patch
index 54822d27ae3..b22e59f7d09 100644
--- a/0003-Use-external-ANGLE-library.patch
+++ b/0003-Use-external-ANGLE-library.patch
@@ -1,7 +1,7 @@
-From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001
+From cb3fe1244a3c10139b4019d3378e644d41b6db6c Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:41:38 +0200
-Subject: [PATCH 03/32] Use external ANGLE library
+Subject: [PATCH 03/33] Use external ANGLE library
---
src/gui/Qt5GuiConfigExtras.cmake.in | 4 ++--
@@ -28,7 +28,7 @@ index 07869efd7d..2e32911a64 100644
_qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
-index f8cec00b82..d09c9fd49c 100644
+index 759d6f3cbf..1ddcf1db78 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -18,12 +18,6 @@ MODULE_PLUGIN_TYPES = \
@@ -54,10 +54,10 @@ index f8cec00b82..d09c9fd49c 100644
include(accessible/accessible.pri)
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
-index 742be61a50..5fef69fd3f 100644
+index 8b2349ff2f..f5e43c6adc 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
-@@ -11,6 +11,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf
+@@ -10,6 +10,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf
qtConfig(opengl): CONFIG += opengl
qtConfig(opengles2): CONFIG += opengles2
@@ -66,7 +66,7 @@ index 742be61a50..5fef69fd3f 100644
HEADERS += qgl.h \
qgl_p.h \
diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
-index b7790a66e3..046fe34a06 100644
+index f4c396f7c5..fc87e810aa 100644
--- a/src/plugins/platforms/windows/windows.pri
+++ b/src/plugins/platforms/windows/windows.pri
@@ -4,6 +4,7 @@ LIBS += -lole32 -luser32 -lwinspool -limm32 -lwinmm -loleaut32
@@ -78,10 +78,10 @@ index b7790a66e3..046fe34a06 100644
mingw: LIBS *= -luuid
# For the dialog helpers:
diff --git a/src/src.pro b/src/src.pro
-index a73729a760..32d9f8502a 100644
+index 1f7c5d99c1..24e24ef7f1 100644
--- a/src/src.pro
+++ b/src/src.pro
-@@ -180,10 +180,6 @@ qtConfig(gui) {
+@@ -189,10 +189,6 @@ qtConfig(gui) {
SUBDIRS += src_3rdparty_harfbuzzng
src_gui.depends += src_3rdparty_harfbuzzng
}
@@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644
SUBDIRS += src_3rdparty_libpng
src_3rdparty_freetype.depends += src_3rdparty_libpng
--
-2.16.1
+2.17.0
diff --git a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
index 5c87faacb8a..7cb589f5ec7 100644
--- a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
+++ b/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
@@ -1,7 +1,7 @@
-From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001
+From ad81c1479122de4d4468cabf26c9f19b5703d9c1 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:48:51 +0200
-Subject: [PATCH 04/32] Fix too many sections assemler error in OpenGL factory
+Subject: [PATCH 04/33] Fix too many sections assemler error in OpenGL factory
On x86_64 qopenglversionfunctionsfactory.o exceeds the
limit of 32768 sections.
@@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644
HEADERS += opengl/qopengl.h \
opengl/qopengl_p.h \
--
-2.16.1
+2.17.0
diff --git a/0005-Make-sure-.pc-files-are-installed-correctly.patch b/0005-Make-sure-.pc-files-are-installed-correctly.patch
index 6ca3d4f8641..6968e39395d 100644
--- a/0005-Make-sure-.pc-files-are-installed-correctly.patch
+++ b/0005-Make-sure-.pc-files-are-installed-correctly.patch
@@ -1,7 +1,7 @@
-From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001
+From 5bd6c26b352fe5bdf4d62ace615ccdd411c39002 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:54:12 +0200
-Subject: [PATCH 05/32] Make sure *.pc files are installed correctly
+Subject: [PATCH 05/33] Make sure *.pc files are installed correctly
---
qmake/generators/makefile.cpp | 8 ++++++--
@@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
--
-2.16.1
+2.17.0
diff --git a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/0006-Don-t-add-resource-files-to-LIBS-parameter.patch
index 6c7a6dec627..45d79c886e0 100644
--- a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch
+++ b/0006-Don-t-add-resource-files-to-LIBS-parameter.patch
@@ -1,7 +1,7 @@
-From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001
+From 9b80c0d4cabad01097173fd73693417f9461f4e9 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:58:28 +0200
-Subject: [PATCH 06/32] Don't add resource files to LIBS parameter
+Subject: [PATCH 06/33] Don't add resource files to LIBS parameter
Solves an issue where the generated pkg-config
files contained invalid Libs.private references
@@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644
if (project->isActiveConfig("dll")) {
QString destDir = "";
--
-2.16.1
+2.17.0
diff --git a/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/0007-Prevent-debug-library-names-in-pkg-config-files.patch
index 98d4bbde04d..8cd33a821bc 100644
--- a/0007-Prevent-debug-library-names-in-pkg-config-files.patch
+++ b/0007-Prevent-debug-library-names-in-pkg-config-files.patch
@@ -1,7 +1,7 @@
-From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001
+From 4beab05117f21513f0e400c94c9b3d31db25fec0 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:01:14 +0200
-Subject: [PATCH 07/32] Prevent debug library names in pkg-config files
+Subject: [PATCH 07/33] Prevent debug library names in pkg-config files
qmake generates the pkgconfig .pc files two times, once for the
release build and once for the debug build (which we're not actually
@@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
if(!subdir.isEmpty()) {
--
-2.16.1
+2.17.0
diff --git a/0008-Fix-linking-against-shared-static-libpng.patch b/0008-Fix-linking-against-shared-static-libpng.patch
index 13b1f738ba6..ff974a9c485 100644
--- a/0008-Fix-linking-against-shared-static-libpng.patch
+++ b/0008-Fix-linking-against-shared-static-libpng.patch
@@ -1,7 +1,7 @@
-From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001
+From d4effcacb4dcb9e2cdd33162d7da3dd53e79a9aa Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 26 Jan 2017 17:51:31 +0100
-Subject: [PATCH 08/32] Fix linking against shared/static libpng
+Subject: [PATCH 08/33] Fix linking against shared/static libpng
Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf
---
@@ -9,7 +9,7 @@ Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index dab66fafb4..bc501bd3fc 100644
+index 219385a108..d629a45b92 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -291,7 +291,8 @@
@@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644
"use": [
{ "lib": "zlib", "condition": "features.system-zlib" }
--
-2.16.1
+2.17.0
diff --git a/0009-Fix-linking-against-static-D-Bus.patch b/0009-Fix-linking-against-static-D-Bus.patch
index bf620e71d31..385522d894b 100644
--- a/0009-Fix-linking-against-static-D-Bus.patch
+++ b/0009-Fix-linking-against-static-D-Bus.patch
@@ -1,7 +1,7 @@
-From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001
+From 3f683a34bafb1cc19636c017febdc92a450be9e2 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 3 Feb 2017 19:36:25 +0100
-Subject: [PATCH 09/32] Fix linking against static D-Bus
+Subject: [PATCH 09/33] Fix linking against static D-Bus
---
configure.json | 9 +++++++--
@@ -9,10 +9,10 @@ Subject: [PATCH 09/32] Fix linking against static D-Bus
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/configure.json b/configure.json
-index a6f3ed66a9..803abf38bb 100644
+index ae2aa22070..baa99a3da9 100644
--- a/configure.json
+++ b/configure.json
-@@ -171,18 +171,23 @@
+@@ -172,18 +172,23 @@
"CONFIG(debug, debug|release): \\",
" LIBS += $$LIBS_DEBUG",
"else: \\",
@@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644
# include <dbus/dbus.h>
#else
--
-2.16.1
+2.17.0
diff --git a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
index 93c1d12d283..a0ee831464b 100644
--- a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
+++ b/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
@@ -1,7 +1,7 @@
-From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001
+From 990f59202b9e39903d43ada99fd4f6b58e046c55 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 18:28:10 +0200
-Subject: [PATCH 10/32] Don't try to use debug version of D-Bus library
+Subject: [PATCH 10/33] Don't try to use debug version of D-Bus library
Required for a debug build of Qt because mingw-w64-dbus
does not contain debug version
@@ -12,10 +12,10 @@ Change-Id: Ic34e1025fda55f9659e065f5bbe9d51f55420adb
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.json b/configure.json
-index 803abf38bb..7e0b7ffb56 100644
+index baa99a3da9..dfb8835ecb 100644
--- a/configure.json
+++ b/configure.json
-@@ -184,7 +184,7 @@
+@@ -185,7 +185,7 @@
{
"libs": "",
"builds": {
@@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644
},
"condition": "config.win32 && features.shared"
--
-2.16.1
+2.17.0
diff --git a/0011-Fix-linking-against-static-freetype2.patch b/0011-Fix-linking-against-static-freetype2.patch
index 36bf7606509..afeb125272f 100644
--- a/0011-Fix-linking-against-static-freetype2.patch
+++ b/0011-Fix-linking-against-static-freetype2.patch
@@ -1,14 +1,14 @@
-From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001
+From 7c357a7a1a8e7b5ab4eb2bf4dfce9a5aee5c444d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 3 Feb 2017 20:51:19 +0100
-Subject: [PATCH 11/32] Fix linking against static freetype2
+Subject: [PATCH 11/33] Fix linking against static freetype2
---
src/gui/configure.json | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index bc501bd3fc..f7a4a39fd4 100644
+index d629a45b92..afa3d95f39 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -158,8 +158,11 @@
@@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644
},
"fontconfig": {
--
-2.16.1
+2.17.0
diff --git a/0012-Fix-linking-against-static-harfbuzz.patch b/0012-Fix-linking-against-static-harfbuzz.patch
index 796b98390b6..33e27261250 100644
--- a/0012-Fix-linking-against-static-harfbuzz.patch
+++ b/0012-Fix-linking-against-static-harfbuzz.patch
@@ -1,14 +1,14 @@
-From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001
+From e7137841052bacf081a9d8c33486ffc86403acd5 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:22:56 +0200
-Subject: [PATCH 12/32] Fix linking against static harfbuzz
+Subject: [PATCH 12/33] Fix linking against static harfbuzz
---
src/gui/configure.json | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index f7a4a39fd4..5ff8449509 100644
+index afa3d95f39..a2b0a00d09 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -218,7 +218,11 @@
@@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644
},
"imf": {
--
-2.16.1
+2.17.0
diff --git a/0013-Fix-linking-against-static-pcre.patch b/0013-Fix-linking-against-static-pcre.patch
index cee71e74024..4c94c36c3c5 100644
--- a/0013-Fix-linking-against-static-pcre.patch
+++ b/0013-Fix-linking-against-static-pcre.patch
@@ -1,7 +1,7 @@
-From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001
+From d0bc7fd8109d53c80976e00f89af33a2b841a595 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:24:01 +0200
-Subject: [PATCH 13/32] Fix linking against static pcre
+Subject: [PATCH 13/33] Fix linking against static pcre
Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1
---
@@ -9,10 +9,10 @@ Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1
1 file changed, 4 insertions(+)
diff --git a/src/corelib/tools/qregularexpression.cpp b/src/corelib/tools/qregularexpression.cpp
-index 86bc99716d..5037ae68a1 100644
+index 13eff07c04..ea747244da 100644
--- a/src/corelib/tools/qregularexpression.cpp
+++ b/src/corelib/tools/qregularexpression.cpp
-@@ -55,6 +55,10 @@
+@@ -53,6 +53,10 @@
#include <QtCore/qdatastream.h>
#define PCRE2_CODE_UNIT_WIDTH 16
@@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644
#include <pcre2.h>
--
-2.16.1
+2.17.0
diff --git a/0014-Fix-linking-against-shared-static-MariaDB.patch b/0014-Fix-linking-against-shared-static-MariaDB.patch
index 1d5d8bdb783..913a0837bcd 100644
--- a/0014-Fix-linking-against-shared-static-MariaDB.patch
+++ b/0014-Fix-linking-against-shared-static-MariaDB.patch
@@ -1,7 +1,7 @@
-From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001
+From a2831789ce79bcff73a2cdb2378626f593499fd2 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:56:55 +0200
-Subject: [PATCH 14/32] Fix linking against shared/static MariaDB
+Subject: [PATCH 14/33] Fix linking against shared/static MariaDB
Change-Id: I9722c154d845f288a2d4d1ab14a014066b28819b
---
@@ -23,5 +23,5 @@ index 234f880579..4619db4a54 100644
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
--
-2.16.1
+2.17.0
diff --git a/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/0015-Fix-linking-against-shared-static-PostgreSQL.patch
index c66730e9dbf..38d22d9d483 100644
--- a/0015-Fix-linking-against-shared-static-PostgreSQL.patch
+++ b/0015-Fix-linking-against-shared-static-PostgreSQL.patch
@@ -1,7 +1,7 @@
-From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001
+From 2097d5ad594a291ecf8ca098566681fa52731183 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:58:25 +0200
-Subject: [PATCH 15/32] Fix linking against shared/static PostgreSQL
+Subject: [PATCH 15/33] Fix linking against shared/static PostgreSQL
---
src/plugins/sqldrivers/configure.json | 5 +++--
@@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644
]
},
--
-2.16.1
+2.17.0
diff --git a/0016-Rename-qtmain-to-qt5main.patch b/0016-Rename-qtmain-to-qt5main.patch
index 93a9c548fef..d95196cb88b 100644
--- a/0016-Rename-qtmain-to-qt5main.patch
+++ b/0016-Rename-qtmain-to-qt5main.patch
@@ -1,20 +1,34 @@
-From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001
+From 594acda6ca575369ca13cc4a14ba7bd392de4aee Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:25:40 +0200
-Subject: [PATCH 16/32] Rename qtmain to qt5main
+Subject: [PATCH 16/33] Rename qtmain to qt5main
Prevents conflict with mingw-w64-qt4 package
---
+ mkspecs/common/g++-win32.conf | 2 +-
mkspecs/features/create_cmake.prf | 4 ++--
mkspecs/features/win32/windows.prf | 2 +-
src/winmain/winmain.pro | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
+index f099380cca..44c211d176 100644
+--- a/mkspecs/common/g++-win32.conf
++++ b/mkspecs/common/g++-win32.conf
+@@ -90,7 +90,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
+ QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
+ QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
+ QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
+-QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
++QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqt5main
+
+ QMAKE_IDL = $${CROSS_COMPILE}widl
+ QMAKE_LIB = $${CROSS_COMPILE}ar -rc
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index bb5083c925..146e83ae67 100644
+index 66acedef55..5d553d9ca6 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
-@@ -225,8 +225,8 @@ mac {
+@@ -227,8 +227,8 @@ mac {
CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
mingw {
@@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644
CONFIG += static
--
-2.16.1
+2.17.0
diff --git a/0017-Build-dynamic-host-libraries.patch b/0017-Build-dynamic-host-libraries.patch
index 3535c0553c8..0b364109534 100644
--- a/0017-Build-dynamic-host-libraries.patch
+++ b/0017-Build-dynamic-host-libraries.patch
@@ -1,7 +1,7 @@
-From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001
+From 2cfb089ea3b0155758be97c7ea8724d77f63a704 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:27:28 +0200
-Subject: [PATCH 17/32] Build dynamic host libraries
+Subject: [PATCH 17/33] Build dynamic host libraries
This came initially from Fedora, not sure whether
it makes sense to keep it. Regular Arch package
@@ -14,7 +14,7 @@ Change-Id: I91a3613955c656fb0d262ccb9b2529350bab032b
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
-index e6a0d97f1a..c07c1adc8b 100644
+index f8729de947..db23f4ad1d 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -24,7 +24,7 @@ requires(!$$skip)
@@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644
-INSTALLS = lib
+INSTALLS += lib
--
-2.16.1
+2.17.0
diff --git a/0018-Enable-rpath-for-build-tools.patch b/0018-Enable-rpath-for-build-tools.patch
index 499eab9484a..9a9bcbc0a45 100644
--- a/0018-Enable-rpath-for-build-tools.patch
+++ b/0018-Enable-rpath-for-build-tools.patch
@@ -1,7 +1,7 @@
-From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001
+From c2c76f23ead7aa39ab076de58fb52da7dd79d7eb Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 17:59:27 +0200
-Subject: [PATCH 18/32] Enable rpath for build tools
+Subject: [PATCH 18/33] Enable rpath for build tools
- Required because various tools depend on libQt5Bootstrap.so which resides
in folder /usr/${_arch}/lib
@@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644
INSTALLS += target
--
-2.16.1
+2.17.0
diff --git a/0019-Use-system-zlib-for-build-tools.patch b/0019-Use-system-zlib-for-build-tools.patch
index 5bb33f855ce..c41e5725ad6 100644
--- a/0019-Use-system-zlib-for-build-tools.patch
+++ b/0019-Use-system-zlib-for-build-tools.patch
@@ -1,17 +1,17 @@
-From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001
+From e21b3f56efc786c0dd5dc75957fc6f3ba198d600 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:04:42 +0200
-Subject: [PATCH 19/32] Use system zlib for build tools
+Subject: [PATCH 19/33] Use system zlib for build tools
---
src/tools/bootstrap/bootstrap.pro | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
-index 042ad7adb9..7e3bc3977a 100644
+index a45382106a..17b9828581 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
-@@ -132,7 +132,7 @@ macx {
+@@ -133,7 +133,7 @@ macx {
../../corelib/io/qstandardpaths_win.cpp
}
@@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644
} else {
CONFIG += no_core_dep
--
-2.16.1
+2.17.0
diff --git a/0020-Use-.dll.a-as-import-lib-extension.patch b/0020-Use-.dll.a-as-import-lib-extension.patch
index 39d3af6e943..c1473f53674 100644
--- a/0020-Use-.dll.a-as-import-lib-extension.patch
+++ b/0020-Use-.dll.a-as-import-lib-extension.patch
@@ -1,7 +1,7 @@
-From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001
+From b2f4400da1fce797a2a939f731ef2f5689a300c5 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:26:18 +0200
-Subject: [PATCH 20/32] Use *.dll.a as import lib extension
+Subject: [PATCH 20/33] Use *.dll.a as import lib extension
The variables used here are provided by
mingw-w64 specific mkspec
@@ -11,10 +11,10 @@ mingw-w64 specific mkspec
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index 146e83ae67..15fc070008 100644
+index 5d553d9ca6..3e5ec55dae 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
-@@ -236,8 +236,9 @@ mac {
+@@ -238,8 +238,9 @@ mac {
CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl
CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
} else {
@@ -64,5 +64,5 @@ index 737f3abc3a..2e6d5d94a9 100644
+ project->first("QMAKE_EXTENSION_SHLIB"));
project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET");
--
-2.16.1
+2.17.0
diff --git a/0021-Merge-shared-and-static-library-trees.patch b/0021-Merge-shared-and-static-library-trees.patch
index c75ede7a9cf..c532a95d455 100644
--- a/0021-Merge-shared-and-static-library-trees.patch
+++ b/0021-Merge-shared-and-static-library-trees.patch
@@ -1,7 +1,7 @@
-From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001
+From 10b1ab0ecf79787af8906a6186088d7e81a05b8a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:45:08 +0200
-Subject: [PATCH 21/32] Merge shared and static library trees
+Subject: [PATCH 21/33] Merge shared and static library trees
Allow installation of shared and static build in the same prefix
---
@@ -13,10 +13,10 @@ Allow installation of shared and static build in the same prefix
5 files changed, 51 insertions(+), 6 deletions(-)
diff --git a/configure.pri b/configure.pri
-index ea482552c4..9da756fb3a 100644
+index 0512ef0144..c3ce522e4f 100644
--- a/configure.pri
+++ b/configure.pri
-@@ -1225,3 +1225,12 @@ defineTest(createConfigStatus) {
+@@ -1249,3 +1249,12 @@ defineTest(createConfigStatus) {
QMAKE_POST_CONFIGURE += \
"createConfigStatus()"
@@ -30,7 +30,7 @@ index ea482552c4..9da756fb3a 100644
+ CONFIG += no_smart_library_merge
+}
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
-index 7e027325bd..ad0db62b78 100644
+index 9eba5bcf00..0f8d03eb2c 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -1,5 +1,16 @@
@@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644
t << endl;
--
-2.16.1
+2.17.0
diff --git a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
index d01739b9b4a..d894cf8e30c 100644
--- a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
+++ b/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
@@ -1,22 +1,22 @@
-From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001
+From a9a2bb15ac7ae34e43ff146c8dad6f15e3877dd7 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:32:00 +0200
-Subject: [PATCH 22/32] Pull dependencies of static libraries in CMake modules
+Subject: [PATCH 22/33] Pull dependencies of static libraries in CMake modules
When doing a static build of Qt, the dependencies of the Qt
libraries and plugins itself must be specified when linking
the final application.
---
- .../features/data/cmake/Qt5BasicConfig.cmake.in | 148 ++++++++++++++++-----
- .../features/data/cmake/Qt5PluginTarget.cmake.in | 11 +-
- qmake/generators/makefile.cpp | 16 ++-
+ .../data/cmake/Qt5BasicConfig.cmake.in | 148 ++++++++++++++----
+ .../data/cmake/Qt5PluginTarget.cmake.in | 11 +-
+ qmake/generators/makefile.cpp | 16 +-
3 files changed, 133 insertions(+), 42 deletions(-)
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 55c74aad66..b401db5ac2 100644
+index 27f4c277d6..358945b758 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -55,35 +55,52 @@ but not all the files it references.
+@@ -49,35 +49,52 @@ but not all the files it references.
endmacro()
!!IF !equals(TEMPLATE, aux)
@@ -77,7 +77,7 @@ index 55c74aad66..b401db5ac2 100644
)
endif()
!!ENDIF
-@@ -227,13 +244,47 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -217,13 +234,47 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!IF !isEmpty(CMAKE_STATIC_TYPE)
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
@@ -126,7 +126,7 @@ index 55c74aad66..b401db5ac2 100644
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1)
-@@ -245,6 +296,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -235,6 +286,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES})
@@ -183,7 +183,7 @@ index 55c74aad66..b401db5ac2 100644
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE)
foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS})
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
-@@ -336,9 +437,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -325,9 +426,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ELSE
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
!!ENDIF
@@ -197,7 +197,7 @@ index 55c74aad66..b401db5ac2 100644
!!ENDIF // CMAKE_RELEASE_TYPE
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -349,29 +452,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -338,29 +441,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
)
!!ENDIF // TEMPLATE != aux
@@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644
}
--
-2.16.1
+2.17.0
diff --git a/0023-Allow-usage-of-static-version-with-CMake.patch b/0023-Allow-usage-of-static-version-with-CMake.patch
index 9ea53096f36..31bf85a14d7 100644
--- a/0023-Allow-usage-of-static-version-with-CMake.patch
+++ b/0023-Allow-usage-of-static-version-with-CMake.patch
@@ -1,7 +1,7 @@
-From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001
+From 4e2e5f7c439f46101f59525af6f271912df5b133 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 5 Aug 2017 21:14:26 +0200
-Subject: [PATCH 23/32] Allow usage of static version with CMake
+Subject: [PATCH 23/33] Allow usage of static version with CMake
Allow selecting between dynamic and static Qt versions
installed in the same prefix
@@ -11,18 +11,18 @@ installed in the same prefix
- Set USE_STATIC_QT_BY_DEFAULT to use static version
via regular find_package(Qt5Core)
---
- mkspecs/features/create_cmake.prf | 103 ++++---
- .../features/data/cmake/Qt5BasicConfig.cmake.in | 298 ++++++++++++++-------
- .../features/data/cmake/Qt5PluginTarget.cmake.in | 18 +-
- .../data/cmake/Qt5StaticOnlyRedirection.cmake.in | 11 +
- src/corelib/Qt5CoreConfigExtras.cmake.in | 26 +-
- src/gui/Qt5GuiConfigExtras.cmake.in | 8 +-
- src/testlib/Qt5TestConfigExtras.cmake.in | 2 +-
- 7 files changed, 314 insertions(+), 152 deletions(-)
+ mkspecs/features/create_cmake.prf | 103 +++---
+ .../data/cmake/Qt5BasicConfig.cmake.in | 298 ++++++++++++------
+ .../data/cmake/Qt5PluginTarget.cmake.in | 18 +-
+ .../cmake/Qt5StaticOnlyRedirection.cmake.in | 11 +
+ src/corelib/Qt5CoreConfigExtras.cmake.in | 24 +-
+ src/gui/Qt5GuiConfigExtras.cmake.in | 8 +-
+ src/testlib/Qt5TestConfigExtras.cmake.in | 2 +-
+ 7 files changed, 313 insertions(+), 151 deletions(-)
create mode 100644 mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index 15fc070008..13bd362092 100644
+index 3e5ec55dae..b6c47124cc 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -38,7 +38,7 @@ split_incpath {
@@ -34,7 +34,7 @@ index 15fc070008..13bd362092 100644
!build_pass:QMAKE_SUBSTITUTES += \
cmake_extra_source_includes
-@@ -90,6 +90,8 @@ win32:!static:!staticlib {
+@@ -92,6 +92,8 @@ win32:!static:!staticlib {
}
static|staticlib:CMAKE_STATIC_TYPE = true
@@ -43,7 +43,7 @@ index 15fc070008..13bd362092 100644
CMAKE_DEBUG_TYPE =
CMAKE_RELEASE_TYPE =
-@@ -135,17 +137,19 @@ contains(CONFIG, plugin) {
+@@ -137,17 +139,19 @@ contains(CONFIG, plugin) {
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
win32 {
@@ -67,7 +67,7 @@ index 15fc070008..13bd362092 100644
mac {
isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
else: CMAKE_PlUGIN_EXT = .a
-@@ -161,13 +165,13 @@ contains(CONFIG, plugin) {
+@@ -163,13 +167,13 @@ contains(CONFIG, plugin) {
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
@@ -83,7 +83,7 @@ index 15fc070008..13bd362092 100644
INSTALLS += cmake_qt5_plugin_file
return()
-@@ -180,27 +184,36 @@ mod_deps =
+@@ -182,27 +186,36 @@ mod_deps =
lib_deps =
aux_mod_deps =
aux_lib_deps =
@@ -124,7 +124,7 @@ index 15fc070008..13bd362092 100644
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
-@@ -228,35 +241,33 @@ mac {
+@@ -230,35 +243,33 @@ mac {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
@@ -179,7 +179,7 @@ index 15fc070008..13bd362092 100644
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
-@@ -276,12 +287,12 @@ mac {
+@@ -278,12 +289,12 @@ mac {
INSTALLS += cmake_qt5_module_files
cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in
@@ -194,7 +194,7 @@ index 15fc070008..13bd362092 100644
!build_pass:QMAKE_SUBSTITUTES += \
cmake_config_file \
-@@ -291,11 +302,29 @@ cmake_qt5_module_files.files = \
+@@ -293,11 +304,29 @@ cmake_qt5_module_files.files = \
$$cmake_config_file.output \
$$cmake_config_version_file.output
@@ -225,7 +225,7 @@ index 15fc070008..13bd362092 100644
!build_pass:QMAKE_SUBSTITUTES += cmake_extras_file
-@@ -307,7 +336,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake
+@@ -309,7 +338,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake
exists($$cmake_macros_file.input) {
CMAKE_MODULE_MACROS = "true"
@@ -234,7 +234,7 @@ index 15fc070008..13bd362092 100644
cmake_macros_file.CONFIG = verbatim
!build_pass:QMAKE_SUBSTITUTES += cmake_macros_file
-@@ -315,7 +344,7 @@ exists($$cmake_macros_file.input) {
+@@ -317,7 +346,7 @@ exists($$cmake_macros_file.input) {
cmake_qt5_module_files.files += $$cmake_macros_file.output
}
@@ -244,12 +244,12 @@ index 15fc070008..13bd362092 100644
# We are generating cmake files. Most developers of Qt are not aware of cmake,
# so we require automatic tests to be available. The only module which should
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index b401db5ac2..e6dd749c9e 100644
+index 358945b758..d123edf665 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,6 +9,33 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+@@ -3,6 +3,33 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
endif()
- !!ENDIF
+!!IF isEmpty(CMAKE_STATIC_TYPE)
+# "redirect" to static package overriding variant prefix so it does not contain "Static" anymore
@@ -281,7 +281,7 @@ index b401db5ac2..e6dd749c9e 100644
!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
-@@ -35,15 +62,19 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+@@ -29,15 +56,19 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
!!IF !equals(TEMPLATE, aux)
# For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
@@ -307,7 +307,7 @@ index b401db5ac2..e6dd749c9e 100644
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
-@@ -54,23 +85,60 @@ but not all the files it references.
+@@ -48,23 +79,60 @@ but not all the files it references.
endif()
endmacro()
@@ -371,7 +371,7 @@ index b401db5ac2..e6dd749c9e 100644
\"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\"
\"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location}
!!IF !isEmpty(CMAKE_LIB_SONAME)
-@@ -80,7 +148,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
+@@ -74,7 +142,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
\"IMPORTED_LINK_INTERFACE_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\"
)
!!ELSE
@@ -380,7 +380,7 @@ index b401db5ac2..e6dd749c9e 100644
\"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
\"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location}
!!IF !isEmpty(CMAKE_LIB_SONAME)
-@@ -97,9 +165,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
+@@ -91,9 +159,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
!!ELSE
set(imported_implib \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
!!ENDIF
@@ -395,7 +395,7 @@ index b401db5ac2..e6dd749c9e 100644
\"IMPORTED_IMPLIB_${TARGET_CONFIG}\" ${imported_implib}
)
endif()
-@@ -107,8 +179,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
+@@ -101,8 +173,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
endmacro()
!!ENDIF
@@ -406,7 +406,7 @@ index b401db5ac2..e6dd749c9e 100644
!!IF !no_module_headers
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
-@@ -116,46 +189,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -110,46 +183,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
)
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
@@ -474,7 +474,7 @@ index b401db5ac2..e6dd749c9e 100644
endforeach()
!!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-@@ -164,16 +241,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -158,16 +235,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
list(FIND Qt5$${CMAKE_MODULE_NAME}_FIND_COMPONENTS Private _check_private)
if (NOT _check_private STREQUAL -1)
foreach(_dir ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS})
@@ -498,8 +498,8 @@ index b401db5ac2..e6dd749c9e 100644
!!ENDIF // TEMPLATE != aux
set(_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\")
-@@ -183,10 +264,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- endif()
+@@ -175,10 +256,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ list(APPEND _Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_INTERFACE_MODULE_DEPS}\")
!!ENDIF
- set(Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS})
@@ -511,7 +511,7 @@ index b401db5ac2..e6dd749c9e 100644
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED REQUIRED)
endif()
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_QUIET)
-@@ -194,17 +275,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -186,17 +267,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set(_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET QUIET)
endif()
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT)
@@ -533,7 +533,7 @@ index b401db5ac2..e6dd749c9e 100644
$$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET}
${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED}
-@@ -212,28 +293,32 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -204,36 +285,41 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
)
endif()
@@ -577,8 +577,7 @@ index b401db5ac2..e6dd749c9e 100644
+!!ENDIF
!!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS)
- if (NOT CMAKE_VERSION VERSION_LESS 3.0.0)
-@@ -242,8 +327,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\")
!!ENDIF
!!IF !isEmpty(CMAKE_STATIC_TYPE)
@@ -590,7 +589,7 @@ index b401db5ac2..e6dd749c9e 100644
macro(_process_prl_file PRL_FILE_LOCATION CONFIGURATION)
if (EXISTS \"${PRL_FILE_LOCATION}\")
file(STRINGS \"${PRL_FILE_LOCATION}\" prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE\")
-@@ -267,34 +353,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -257,34 +343,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endmacro()
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
@@ -646,7 +645,7 @@ index b401db5ac2..e6dd749c9e 100644
# Find plugin targets
file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
-@@ -308,7 +405,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -298,7 +395,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endforeach()
endif()
@@ -658,7 +657,7 @@ index b401db5ac2..e6dd749c9e 100644
set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG})
!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
-@@ -316,7 +417,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -306,7 +407,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ELSE
set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
!!ENDIF
@@ -670,7 +669,7 @@ index b401db5ac2..e6dd749c9e 100644
set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES
\"IMPORTED_LOCATION_${CONFIG}\" ${imported_location}
)
-@@ -347,7 +452,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -337,16 +442,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endif()
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE)
@@ -679,10 +678,9 @@ index b401db5ac2..e6dd749c9e 100644
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST FALSE)
endif()
-@@ -355,9 +460,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ endforeach()
- if (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST
- AND NOT CMAKE_VERSION VERSION_LESS 3.0.0 )
+ if (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST)
- add_library(Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED)
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY
- INTERFACE_INCLUDE_DIRECTORIES ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS}
@@ -692,7 +690,7 @@ index b401db5ac2..e6dd749c9e 100644
)
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS)
foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES})
-@@ -365,66 +470,68 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -354,66 +459,68 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private)
endif()
endforeach()
@@ -783,7 +781,7 @@ index b401db5ac2..e6dd749c9e 100644
if (EXISTS
!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-@@ -437,7 +544,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -426,7 +533,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ELSE
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
!!ENDIF
@@ -792,7 +790,7 @@ index b401db5ac2..e6dd749c9e 100644
endif()
!!ENDIF // CMAKE_STATIC_TYPE
-@@ -447,19 +554,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -436,19 +543,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ENDIF // CMAKE_DEBUG_TYPE
!!ELSE // TEMPLATE != aux
@@ -870,7 +868,7 @@ index 0000000000..0091940fd2
+set(OVERRIDE_QT_VARIANT_PREFIX "${ORIGINAL_OVERRIDE_QT_VARIANT_PREFIX}")
+
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index 545b9a3d1e..ebe6644dfe 100644
+index e0652fdcf9..f0add757bb 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
@@ -1,4 +1,6 @@
@@ -902,19 +900,16 @@ index 545b9a3d1e..ebe6644dfe 100644
set(_qt5_corelib_extra_includes)
# Targets using Qt need to use the POSITION_INDEPENDENT_CODE property. The
-@@ -81,9 +83,9 @@ set(Qt5_POSITION_INDEPENDENT_CODE True)
- if (CMAKE_VERSION VERSION_LESS 2.8.12
- AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL \"GNU\"
- OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))
-- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\")
-+ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\")
- else()
-- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP)
-+ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP)
- endif()
-
- # Applications using qmake or cmake >= 2.8.12 as their build system will
-@@ -103,7 +105,7 @@ endif()
+@@ -78,7 +80,7 @@ set(Qt5_POSITION_INDEPENDENT_CODE True)
+ # Applications now need to be compiled with the -fPIC option if the Qt option
+ # \"reduce relocations\" is active. For backward compatibility only, Qt accepts
+ # the use of -fPIE for GCC 4.x versions.
+-set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP)
++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP)
+
+ # TODO Qt6: Remove
+ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\")
+@@ -86,7 +88,7 @@ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\")
!!IF !isEmpty(QT_NAMESPACE)
list(APPEND Qt5Core_DEFINITIONS -DQT_NAMESPACE=$$QT_NAMESPACE)
list(APPEND Qt5Core_COMPILE_DEFINITIONS QT_NAMESPACE=$$QT_NAMESPACE)
@@ -923,7 +918,7 @@ index 545b9a3d1e..ebe6644dfe 100644
!!ENDIF
!!IF !isEmpty(CMAKE_DISABLED_FEATURES)
-@@ -112,9 +114,9 @@ set(Qt5_DISABLED_FEATURES
+@@ -95,9 +97,9 @@ set(Qt5_DISABLED_FEATURES
)
!!ENDIF
@@ -935,7 +930,7 @@ index 545b9a3d1e..ebe6644dfe 100644
!!IF qtConfig(reduce_exports)
set(QT_VISIBILITY_AVAILABLE \"True\")
-@@ -162,14 +164,14 @@ if (NOT TARGET Qt5::WinMain)
+@@ -145,14 +147,14 @@ if (NOT TARGET Qt5::WinMain)
set(_isWin32 $<BOOL:$<TARGET_PROPERTY:WIN32_EXECUTABLE>>)
set(_isNotExcluded $<NOT:$<BOOL:$<TARGET_PROPERTY:Qt5_NO_LINK_QTMAIN>>>)
set(_isPolicyNEW $<TARGET_POLICY:CMP0020>)
@@ -997,5 +992,5 @@ index 2a575958ae..ca0e3be3b5 100644
INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
)
--
-2.16.1
+2.17.0
diff --git a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
index d463e883d3a..c0d4180ce96 100644
--- a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
+++ b/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
@@ -1,7 +1,7 @@
-From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001
+From c34e48c2f0ce088b746e2d8bdc646db929339454 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 16:42:07 +0200
-Subject: [PATCH 24/32] Adjust linker flags for static build with
+Subject: [PATCH 24/33] Adjust linker flags for static build with
cmake/mingw-w64
Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d
@@ -10,10 +10,10 @@ Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d
1 file changed, 7 insertions(+)
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index ebe6644dfe..687d611b3f 100644
+index f0add757bb..5328da2e80 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -190,3 +190,10 @@ get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH)
+@@ -173,3 +173,10 @@ get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH)
set(_Qt5CTestMacros \"${_Qt5CoreConfigDir}/Qt5CTestMacros.cmake\")
_qt5_Core_check_file_exists(${_Qt5CTestMacros})
@@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644
+unset(_isExe)
+!!ENDIF
--
-2.16.1
+2.17.0
diff --git a/0025-Use-correct-pkg-config-static-flag.patch b/0025-Use-correct-pkg-config-static-flag.patch
index db588595a42..b770cfd83e1 100644
--- a/0025-Use-correct-pkg-config-static-flag.patch
+++ b/0025-Use-correct-pkg-config-static-flag.patch
@@ -1,14 +1,14 @@
-From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001
+From f7284cc26542c8d760e0d348be44f1bf947296cb Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:50:21 +0200
-Subject: [PATCH 25/32] Use correct pkg-config --static flag
+Subject: [PATCH 25/33] Use correct pkg-config --static flag
---
configure.pri | 3 +++
1 file changed, 3 insertions(+)
diff --git a/configure.pri b/configure.pri
-index 9da756fb3a..fa2719bb0c 100644
+index c3ce522e4f..59a9b1e88a 100644
--- a/configure.pri
+++ b/configure.pri
@@ -311,6 +311,9 @@ defineTest(qtConfTest_detectPkgConfig) {
@@ -22,5 +22,5 @@ index 9da756fb3a..fa2719bb0c 100644
$$qtConfEvaluate("features.cross_compile") {
# cross compiling, check that pkg-config is set up sanely
--
-2.16.1
+2.17.0
diff --git a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/0026-Fix-macro-invoking-moc-rcc-and-uic.patch
index eedb6ba5282..23e7c6f99f3 100644
--- a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch
+++ b/0026-Fix-macro-invoking-moc-rcc-and-uic.patch
@@ -1,7 +1,7 @@
-From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001
+From 9204f18623db15d10cadbd4c659f47550584984a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 4 Dec 2016 20:35:47 +0100
-Subject: [PATCH 26/32] Fix macro invoking moc, rcc and uic
+Subject: [PATCH 26/33] Fix macro invoking moc, rcc and uic
* Otherwise the arguments aren't passed correctly leading to errors like
```
@@ -18,7 +18,7 @@ Change-Id: I6fde86d0a3ade37b4376604a1eb6d5723eda8b4c
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
-index 8d3dbe3ecf..f0f0d69309 100644
+index 1627de4002..ed0f6555a7 100644
--- a/src/corelib/Qt5CoreMacros.cmake
+++ b/src/corelib/Qt5CoreMacros.cmake
@@ -132,8 +132,9 @@ function(QT5_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target
@@ -32,7 +32,7 @@ index 8d3dbe3ecf..f0f0d69309 100644
DEPENDS ${infile} ${moc_depends}
${_moc_working_dir}
VERBATIM)
-@@ -254,8 +255,9 @@ function(QT5_ADD_BINARY_RESOURCES target )
+@@ -248,8 +249,9 @@ function(QT5_ADD_BINARY_RESOURCES target )
set(rc_depends ${rc_depends} ${_rc_depends})
endforeach()
@@ -43,7 +43,7 @@ index 8d3dbe3ecf..f0f0d69309 100644
ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles}
DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM)
add_custom_target(${target} ALL DEPENDS ${rcc_destination})
-@@ -287,8 +289,9 @@ function(QT5_ADD_RESOURCES outfiles )
+@@ -281,8 +283,9 @@ function(QT5_ADD_RESOURCES outfiles )
_QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends)
set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
@@ -70,5 +70,5 @@ index 737371a5ad..d103278cdf 100644
MAIN_DEPENDENCY ${infile} VERBATIM)
set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON)
--
-2.16.1
+2.17.0
diff --git a/0027-Ignore-errors-about-missing-feature-static.patch b/0027-Ignore-errors-about-missing-feature-static.patch
index 2c7ef03220d..e7d0f24ddf5 100644
--- a/0027-Ignore-errors-about-missing-feature-static.patch
+++ b/0027-Ignore-errors-about-missing-feature-static.patch
@@ -1,7 +1,7 @@
-From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001
+From c1a0fe77f6528695728fc35d7057da66939d39e0 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 20:59:54 +0100
-Subject: [PATCH 27/32] Ignore errors about missing feature static
+Subject: [PATCH 27/33] Ignore errors about missing feature static
Not sure why this error occurs, let's hope for the best
---
@@ -10,10 +10,10 @@ Not sure why this error occurs, let's hope for the best
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
-index 76e1d15319..9a1c5cd8b6 100644
+index 021036e4f9..16e8aa631d 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
-@@ -138,5 +138,5 @@ defineTest(qtConfig) {
+@@ -140,5 +140,5 @@ defineTest(qtConfig) {
contains(QT.$${module}.disabled_features, $$1): \
return(false)
}
@@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644
+ !equals($$1, "static"): error("Could not find feature $${1}.")
}
--
-2.16.1
+2.17.0
diff --git a/0028-Enable-and-fix-use-of-iconv.patch b/0028-Enable-and-fix-use-of-iconv.patch
index 3ad2c176f78..72ac55163b1 100644
--- a/0028-Enable-and-fix-use-of-iconv.patch
+++ b/0028-Enable-and-fix-use-of-iconv.patch
@@ -1,7 +1,7 @@
-From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001
+From 075aed08de151f6fc1c8dad91214c66ce4e614d5 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 21:08:20 +0100
-Subject: [PATCH 28/32] Enable and fix use of iconv
+Subject: [PATCH 28/33] Enable and fix use of iconv
Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c
---
@@ -24,7 +24,7 @@ index fe4b87b923..be4236436f 100644
size_t inbytes, outbytes;
iconv(x, &inp, &inbytes, &outp, &outbytes);
diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
-index d6362b6fbc..4da4546a24 100644
+index 330eb7c038..88a782b863 100644
--- a/src/corelib/codecs/qiconvcodec.cpp
+++ b/src/corelib/codecs/qiconvcodec.cpp
@@ -49,7 +49,6 @@ QT_REQUIRE_CONFIG(iconv);
@@ -63,10 +63,10 @@ index d6362b6fbc..4da4546a24 100644
#else
char **inBytesPtr = &inBytes;
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
-index 8cd73d6ce4..dd259157e3 100644
+index 5e48024def..15e7372dcb 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
-@@ -521,9 +521,9 @@
+@@ -539,9 +539,9 @@
},
"gnu-libiconv": {
"label": "GNU iconv",
@@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644
},
"icu": {
--
-2.16.1
+2.17.0
diff --git a/0029-Ignore-failing-pkg-config-test.patch b/0029-Ignore-failing-pkg-config-test.patch
index 16250b8d137..61caf681d8a 100644
--- a/0029-Ignore-failing-pkg-config-test.patch
+++ b/0029-Ignore-failing-pkg-config-test.patch
@@ -1,7 +1,7 @@
-From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001
+From ef184cf89b14e092051a2644b5fefa0e2bfaf7fe Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 21:08:48 +0100
-Subject: [PATCH 29/32] Ignore failing pkg-config test
+Subject: [PATCH 29/33] Ignore failing pkg-config test
Didn't investigate why it fails, let's hope for the best
---
@@ -9,10 +9,10 @@ Didn't investigate why it fails, let's hope for the best
1 file changed, 1 deletion(-)
diff --git a/configure.json b/configure.json
-index 7e0b7ffb56..0f098e7b3f 100644
+index dfb8835ecb..f9735f59cd 100644
--- a/configure.json
+++ b/configure.json
-@@ -725,7 +725,6 @@
+@@ -597,7 +597,6 @@
"pkg-config": {
"label": "Using pkg-config",
"autoDetect": "!config.darwin && !config.win32",
@@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644
"publicFeature",
{ "type": "publicQtConfig", "negative": true },
--
-2.16.1
+2.17.0
diff --git a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch
index 33aee858ed8..38f184dfaaf 100644
--- a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch
+++ b/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch
@@ -1,7 +1,7 @@
-From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001
+From a401f6740c459cc21909ec406814852ff3ec233d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 7 Feb 2017 18:25:28 +0100
-Subject: [PATCH 30/32] Prevent qmake from messing static lib dependencies
+Subject: [PATCH 30/33] Prevent qmake from messing static lib dependencies
In particular, it messes resolving cyclic dependency between
static freetype2 and harfbuzz
@@ -39,5 +39,5 @@ index 2e6d5d94a9..a8320bae09 100644
static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", 0 };
for (int i = 0; lflags[i]; i++) {
--
-2.16.1
+2.17.0
diff --git a/0031-Hardcode-linker-flags-for-platform-plugins.patch b/0031-Hardcode-linker-flags-for-platform-plugins.patch
index 807a40e7441..6f873f40eb9 100644
--- a/0031-Hardcode-linker-flags-for-platform-plugins.patch
+++ b/0031-Hardcode-linker-flags-for-platform-plugins.patch
@@ -1,19 +1,19 @@
-From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001
+From 1c4ecb65d3f7a060f499cad169a7252b550f6769 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 23:42:30 +0100
-Subject: [PATCH 31/32] Hardcode linker flags for platform plugins
+Subject: [PATCH 31/33] Hardcode linker flags for platform plugins
Otherwise incorrect order of libs leads to errors
when building libqminimal.dll, libqoffscreen.dll
and libqwindows.dll
---
- src/plugins/platforms/minimal/minimal.pro | 15 +++++++++++--
- src/plugins/platforms/offscreen/offscreen.pro | 14 ++++++++++--
- src/plugins/platforms/windows/windows.pro | 32 +++++++++++++++++++--------
+ src/plugins/platforms/minimal/minimal.pro | 15 +++++++--
+ src/plugins/platforms/offscreen/offscreen.pro | 14 ++++++--
+ src/plugins/platforms/windows/windows.pro | 32 +++++++++++++------
3 files changed, 48 insertions(+), 13 deletions(-)
diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
-index 8cfb68824e..46834a71fc 100644
+index a1a2da547b..7ef91b574d 100644
--- a/src/plugins/platforms/minimal/minimal.pro
+++ b/src/plugins/platforms/minimal/minimal.pro
@@ -1,8 +1,19 @@
@@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644
include(windows.pri)
--
-2.16.1
+2.17.0
diff --git a/0032-Fix-linking-against-static-plugins-with-qmake.patch b/0032-Fix-linking-against-static-plugins-with-qmake.patch
index 6b7b9f0df8c..92b0abe8e2b 100644
--- a/0032-Fix-linking-against-static-plugins-with-qmake.patch
+++ b/0032-Fix-linking-against-static-plugins-with-qmake.patch
@@ -1,7 +1,7 @@
-From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001
+From af66aa78320b37f4c5100e2822eceb3ecd0a703a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 25 Aug 2017 17:07:17 +0200
-Subject: [PATCH 32/32] Fix linking against static plugins with qmake
+Subject: [PATCH 32/33] Fix linking against static plugins with qmake
Required because qtConfig(static) does not work
with 'Merge shared and static library trees'
@@ -33,5 +33,5 @@ index 6eebd068f1..310b8713f0 100644
# Check if the plugin is known to Qt. We can use this to determine
# the plugin path. Unknown plugins must rely on the default link path.
--
-2.16.1
+2.17.0
diff --git a/0033-Disable-hardware-randomizer-for-32-bit.patch b/0033-Disable-hardware-randomizer-for-32-bit.patch
new file mode 100644
index 00000000000..d7cf9b4b1e8
--- /dev/null
+++ b/0033-Disable-hardware-randomizer-for-32-bit.patch
@@ -0,0 +1,49 @@
+From 3758ea380174eaf89f31b68d5b7e4e2bf02e50be Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sat, 26 May 2018 03:47:14 +0200
+Subject: [PATCH 33/33] Disable hardware randomizer for 32-bit
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Otherwise it fails to compile src/corelib/global/qrandom.cpp:
+```
+during RTL pass: ira
+/build/mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/src/corelib/global/qrandom.cpp: In function ‘qsizetype qt_random_cpu(void*, qsizetype)’:
+/build/mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/src/corelib/global/qrandom.cpp:121:1: internal compiler error: in ix86_compute_frame_layout, at config/i386/i386.c:11693
+ }
+```
+---
+ src/corelib/global/qrandom.cpp | 2 +-
+ src/corelib/global/qrandom_p.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
+index ebf9864b15..2fb04ab12a 100644
+--- a/src/corelib/global/qrandom.cpp
++++ b/src/corelib/global/qrandom.cpp
+@@ -90,7 +90,7 @@ DECLSPEC_IMPORT BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG Rando
+
+ QT_BEGIN_NAMESPACE
+
+-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
++#if defined(Q_PROCESSOR_X86_64) && QT_COMPILER_SUPPORTS_HERE(RDRND)
+ static qsizetype qt_random_cpu(void *buffer, qsizetype count) Q_DECL_NOTHROW;
+
+ # ifdef Q_PROCESSOR_X86_64
+diff --git a/src/corelib/global/qrandom_p.h b/src/corelib/global/qrandom_p.h
+index 917a91098e..c770a3e19b 100644
+--- a/src/corelib/global/qrandom_p.h
++++ b/src/corelib/global/qrandom_p.h
+@@ -81,7 +81,7 @@ enum { qt_randomdevice_control = 0 };
+
+ inline bool qt_has_hwrng()
+ {
+-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
++#if defined(Q_PROCESSOR_X86_64) && QT_COMPILER_SUPPORTS_HERE(RDRND)
+ return qCpuHasFeature(RDRND);
+ #else
+ return false;
+--
+2.17.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 34cdc478276..6bf45ece9ab 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,62 +3,14 @@
# Contributor: Filip Brcic <brcha@gna.org>
# Contributor: jellysheep <max.mail@dameweb.de>
+# BEFORE COMMENTING OR REPORING ISSUES, PLEASE READ THE FILE `README.md` IN THIS REPOSITORY.
+# ALSO HAVE A LOOK AT THE COMMENTS IN THE AUR.
+
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# All patches are managed at https://github.com/Martchus/qtbase
-# There are different variants of the package which can be selected by simply adjusting pkgname:
-# - mingw-w64-qt5-base or mingw-w64-qt5-base-opengl: using native OpenGL
-# - mingw-w64-qt5-base-angle: using ANGLE rather than native OpenGL
-# - mingw-w64-qt5-base-dynamic: allows choosing between ANGLE and native OpenGL dynamically at runtime
-# - mingw-w64-qt5-base-noopenql: no OpenGL support
-# The variants are conflicting (and hence can not be installed at the same time).
-# See also: http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers
-
-# The variants listed above only contain dynamic libraries. For building static libraries
-# just append '-static' to the package name, eg. mingw-w64-qt5-base-static or mingw-w64-qt5-base-angle-static.
-# The static variants rely on the corresponding dynamic variant for headers and tools.
-# I only tested the static variant using native OpenGL so far (mingw-w64-qt5-base-static).
-# Note that ANGLE will still be loaded as dynamic library in mingw-w64-qt5-base-dynamic-static.
-
-# By default CMake and qmake will link against the dynamic Qt libraries.
-
-# To use the static Qt libraries with CMake prepend the Qt module name with Static:
-# eg. find_package(Qt5Core) becomes find_package(StaticQt5Core)
-# To use a static module, add the corresponding imported target, eg.
-# target_link_libraries(target ... StaticQt5::Core)
-# and using
-# This approach allows installing dynamic and static Qt in the same prefix
-# and using both variants in the same CMake project.
-
-# To use a static plugin, add the corresponding imported target, eg.
-# target_link_libraries(target ... StaticQt5::QWindowsIntegrationPlugin)
-# Automatically importing static plugins is currently not possible, though. Hence it is required to use Q_IMPORT_PLUGIN, eg.
-# #include<QtPlugin>
-# Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
-
-# It is also possible to use static Qt libraries with CMake by setting the
-# variable USE_STATIC_QT_BY_DEFAULT: set(USE_STATIC_QT_BY_DEFAULT ON)
-# In this case the regular imported targets (eg. Qt5::Core) will be static.
-# This approach does *not* allow to use dynamic and static Qt in the same
-# CMake project.
-
-# To use the static Qt libraries with qmake add 'static' to the project config (either inside the *.pro file or as qmake argument):
-# CONFIG+=static
-
-# Further Qt modules (those not found in the base repository and hence not included in this package) include by default
-# static and dynamic libraries; if only one version is requried, just set NO_STATIC_LIBS or NO_SHARED_LIBS when building
-# the package, eg. by adding 'NO_STATIC_LIBS=1' to /etc/makepkg.conf.
-
-# By default, executables will not be removed because I find them useful when testing. To remove executables
-# set NO_EXECUTABLES (or NO_STATIC_EXECUTABLES to remove statically linked executables only) when building the package.
-# If Qt modules containing tools are built as static and as dynamic library only the dynamically linked tools will be present
-# in the package.
-
-# Qt packages can be built in the following order (for example):
-# qt5-base qt5-base-static qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-datavis3s qt5-virtualkeyboard qt5-activeqt qt5-webkit
-
# Helper functions for the split builds
isDefault() {
[[ $pkgname = 'mingw-w64-qt5-base' ]] || [[ $pkgname = 'mingw-w64-qt5-base-static' ]]
@@ -84,7 +36,7 @@ isNoOpenGL() {
}
pkgname=mingw-w64-qt5-base
-pkgver=5.10.1
+pkgver=5.11.0
pkgrel=1
pkgdesc='A cross-platform application and UI framework (mingw-w64)'
# The static variant doesn't contain any executables which need to be executed on the build machine
@@ -100,7 +52,7 @@ makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
_pkgfqn="qtbase-everywhere-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
- '0001-Add-profile-for-cross-compilation-with-mingw-w64.patch'
+ '0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch'
'0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch'
'0003-Use-external-ANGLE-library.patch'
'0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch'
@@ -131,40 +83,42 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm
'0029-Ignore-failing-pkg-config-test.patch'
'0030-Prevent-qmake-from-messing-static-lib-dependencies.patch'
'0031-Hardcode-linker-flags-for-platform-plugins.patch'
- '0032-Fix-linking-against-static-plugins-with-qmake.patch')
-sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969'
- '6b29d7a3751a506c15155425d6dc213e9f4654ee5b833007a0119bda6a050b28'
- 'ca10438f4a2d309f496e85d7b974d9eeb88115e068e146ca511b9784db95b822'
- '75bf0d8b155f95bad2dfbc5c046f88afd6a5f2233336a1f6d148583ba445fca6'
- 'd70dcd1c44e751b0120f514af9db4ff20ebb0a327a22a371cf5e8d9453f66953'
- 'cbad834340bc9e9261704034e9192bd0d7306f9ff02a99fd73fc348948c37ed9'
- '3c7cd1839a6f0891b871c75824b8ebeb05e4e61884c342d6b6ab583f10819138'
- 'c923da99871dac4fc58b8e70bd76c70fba0f421fc676a53bcb8c0187190ba737'
- 'f9be656281652f72297f1e573f23298c22f4849857d92106096feb4b3fe9244f'
- '5add111a9e521159e31ecef4d85ebef86285bbbe2adce5d8cec94fd22822731e'
- '7d38e79bc6b2e5d74515291bf78c3a6168f8bc834f7f59bda2c013f65e45bd3e'
- '9ab62cc8cd1cf68ee5e87e276d5a2f19c43b04a1c50c10341794924277cfcca5'
- 'f1926bd51376a95ea1deee933dadd62166296e5780e24ce8312637c9d3eda27b'
- '03f7a178af6b630f48da79c76e1239695d96137fd8394ba814e4bdf8c7e0a826'
- 'dc3e0e3fe4ba979f74ff9dc343b235d32473edb18ca7f8afea3076f613564a95'
- 'ef64b965a19e1e2848761829a6817dcb9f3ad616faa666f9e52736d810190c66'
- '9e0c3848df586ec7decd9b7a6dab86a9e7e5cc7bf5ac06ff97d7d63e370bb05b'
- '7dc90045a838f9ebcb7933d582abb3e8bba250644602e1019bf1a03e74cc3b09'
- 'b5cc23a29e80ec8185da8ca0950ab8a2f12f4ef4b998c763334d352e68b53fc2'
- '944cfdbfd9d13285aefb4305596950d2880cc1023b5ad241af08e3d6995daa69'
- '5f7498a98912542c39b081c2df1930246df3bdb533c2e30204bf795cea8b885f'
- '0b8408d70a4544e43fd573e5b9ac751fb2732d3e4490f21e1737ac09ece25b62'
- '08155a41f22c03741096145bf201d5503e38495c2f255f3c81ea658948258cd3'
- '7b30d46f739dffa20a1964e09958a92af1749104fe7a88d7ea255aa54e553b25'
- 'c92d6a124b7b0333175122555ef9f647817eb54563480cf3eaaf47decfd907c3'
- '0818c4d59aabb898fed8f313e21085cc8fc576d3f4975383eb73ba3f758c302e'
- 'ce5d416a3404199072062063d8038084c23bbfe8aa45ed3340c4afb4dfa461e4'
- '8d1e93bea1cdcdf1b965f4c061975668334cef6a65130f1b4b528f2b6952a602'
- '298ffdcd378e2b07fe8e978cfb5faac29c117a5f79288273545a6938b905f33a'
- '7514edba8ecd28b27715650bbafa8649492b68efba1df9c9fa70f06a924fea14'
- '7c232c385303b447e17270b946d333b56274312b08b4e76439a5f77cb77aa909'
- 'acfdf70ae8738a0373bbd93e42048d1c699f666dd72933ad3c09b09620fb0715'
- 'c3df40da9b2494e59aae786a26ba93d88128b69971d10a64cb6d610045a101f8')
+ '0032-Fix-linking-against-static-plugins-with-qmake.patch'
+ '0033-Disable-hardware-randomizer-for-32-bit.patch')
+sha256sums=('ed6e46db84f7d34923ab4eae165c63e05ab3cfa9d19a73d3f57b4e7bfd41de66'
+ 'd01df5be5f96578f65c0343b1ae6eaac31e0c7608fb9b69e745865a5dfc8a1a3'
+ '29621ba67b026c9fb61ba865ba9d6198d3b8914623609b97bbc375feb33415b2'
+ '58435fde3af1478450c49637581884c217bd9080704dc80d035eb38df4706a6e'
+ '3b4dff095110e60257f794c31e5c3b7f73c91d690c7acb3182b489d04988dd27'
+ '2b62c549626e76da5c36779fe7dd18bddb8041fdb1b983cd29651cf5b0a2b905'
+ '5c94228d93b7a6340098968738477f9720908a360358f51cd1bc6590e83679c0'
+ '164b09da056113e19b859a151f93803f19e0c9ea5130db916722f5f0bcb7a8cd'
+ '351e61261c87d700f4076c6d3f19e81a60d1bfcc0e64f2164cb2696c47a0fafc'
+ 'a1ed220ddba56656fdbc37163e794f3b43e9a5dae6099b2b23967e870cd9214e'
+ '844d136f65d498dc1eea11e1882cf2645320d249c82fdcec5d25875e9158cb39'
+ 'a4a4f5ea9bc79b474ea3c5d86903054d6e9242a22b84589c210b3b8c2f797447'
+ '7d1d1d57bff00ae77d5480955b85737bd4f30185f5b99f8b34d89f90976f53fb'
+ '1937bb971912fa7021295174aee8c250a7be9c2d3e3ad76f700d9f7d80fd1117'
+ '504fd54855d13a326cb65cffc006d1c67d9e6236830df9f581106ae8fe319fff'
+ 'b732bca79bced6595e278e9e7ceec79306f51be121e78db0a9faa461344c918d'
+ 'f86242c7e013971812c9a17d667db362ac10d19a63b51cda23d1f306bc8f3242'
+ 'da007b133f51f27342854e0fb251a1784096f24dab454def99c8496c143f38e5'
+ 'e6e8f2290a019071ded71c090c3cb8b24e0e33a37dcabdc6f676b886c18dd06a'
+ '83645b01666aae48121ea9a952c6cfce9ba2aedb3edb9e1b11a893a5d8882831'
+ 'bb7e54a090ceb6cddac43acee2f34d888a15df2ae0e99808ef6aad9ff6e9ebcf'
+ '7166f4ab8b7c5a60c4a6e3ac86411719fab67ef6a6c5a16463c6541e9955ce17'
+ 'bf1defbedd5c0d26aa000178092ac2c87ecb70b992184dc8ffff4502351e70c2'
+ '29289ac6b2380c4a5d551d3c9b331f9b13190f4dafabdc203dcbfabcb4075c4d'
+ '0494a41d31ff097cd59117557a6869c5e0e7670eef33267f93974c15e4445e76'
+ 'bc53b50f4055170fea15b669366b8961e896d2705f91382ee3beea013979408e'
+ '08d299eb938edc1d535bbb68b5b720203e2dffbc49129218bb1368791e6fb384'
+ '20d945b374b0e73501013fcf6ba9fd7e8732b76060c948faeb42c605f2f9dd1f'
+ 'd9eeaceb89efd143918a1bfed6b60d33e004e8421a613036647f318320b25d6a'
+ 'fb54191f4479ed66446d9c6b9066be11c5d2d580ff4aa0910a3ad29183329e75'
+ 'df8bfa7901b6af9de447a4f4d0983419f7c1fe5882cc97614d0e5b0759c67dec'
+ '65d4a1aedc465dd9f5284cd1e2a352bc3c21e8e8e697e58ff9e89f54e5fcb173'
+ '178144d85cf4c69ae5cea694959a555c4a8eb3a0a5ad5116a2c979beac0e36c0'
+ '704c95d7fc157e58cc7d4436eb74bdcc0453ba29bb3326a3fe511ee35273e4c3')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
@@ -206,39 +160,33 @@ patch() {
prepare() {
cd "${srcdir}/${_pkgfqn}"
- # Apply patches; further descriptions can be found in patch files itself
+ # apply patches; further descriptions can be found in patch files itself
for patch in "$srcdir/"*.patch; do
patch -p1 -i "$patch"
done
- # Make sure the Qt5 build system uses our external ANGLE library
+ # make sure the Qt 5 build system uses our external ANGLE library
rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR}
- # As well as our external PCRE library and zlib
+ # as well as our external PCRE library and zlib
rm -rf src/3rdparty/{pcre,zlib}
}
build() {
cd "${srcdir}/${_pkgfqn}"
- # Do not set any flags here, flags are configured via mkspec
- # Setting flags here is not appropriate as it does not allow to
- # distinguish between flags for native compiler and cross compiler
+ # do not set any flags here, flags are configured via mkspec
+ # (Setting flags here is not appropriate as it does not allow to
+ # distinguish between flags for native compiler and cross compiler.)
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
unset PKG_CONFIG_PATH
for _arch in ${_architectures}; do
- # To prevent conflicts with the mingw-w64-qt4 package we have
- # to put tools in a dedicated folder
-
- # The last device option allows using ccache despite the use of
- # pre-compile header
- # (sloppiness must be set to pch_defines,time_macros in ccache config)
-
+ # define general configure arguments
local qt_configure_args="\
- -xplatform mingw-w64-g++ \
+ -xplatform win32-g++ \
-optimized-qmake \
-verbose \
-opensource \
@@ -277,18 +225,22 @@ build() {
-sysconfdir /usr/${_arch}/etc \
-translationdir /usr/${_arch}/share/qt/translations \
-device-option CROSS_COMPILE=${_arch}- \
- -device-option CROSS_COMPILE_PREFIX=/usr/${_arch} \
- -device-option CROSS_COMPILE_CFLAGS=-fpch-preprocess"
+ -device-option CROSS_COMPILE_PREFIX=/usr/${_arch}"
+
+ # allows using ccache despite the use of pre-compile header (sloppiness must be set to pch_defines,time_macros in ccache config for this)
+ qt_configure_args+=' -device-option CROSS_COMPILE_CFLAGS=-fpch-preprocess'
- # Fix include directory of freetype2 and dbus
- qt_configure_args+=" $(${_arch}-pkg-config --cflags-only-I freetype2 dbus-1)"
+ # add include directory of freetype2 and dbus manually (pkg-config detection in qmake doesn't work which is currently ignored via a patch)
+ qt_configure_args+=" $(${_arch}-pkg-config --cflags-only-I freetype2 dbus-1 | sed -e "s/-I\/usr\/${_arch}\/include //g")"
+ # note: The sed is required to prevent -isystem /usr/${_arch}/include (qmake will turn -I into -isystem) which would lead to
+ # the same issue as here: https://github.com/Martchus/tageditor/issues/22#issuecomment-330899141
- # Enable debug build if MINGW_W64_QT_DEBUG_BUILD is set (in /etc/makepkg.config)
+ # enable debug build if MINGW_W64_QT_DEBUG_BUILD is set (could be set in eg. /etc/makepkg.config if debug build is wanted)
[[ $MINGW_W64_QT_DEBUG_BUILD ]] \
&& qt_configure_args+=' -debug-and-release' \
|| qt_configure_args+=' -release'
- # Configure usage of ANGLE/OpenGL
+ # configure usage of ANGLE/OpenGL
if isOpenGL; then
msg2 'Using native OpenGL backend'
qt_configure_args+=' -opengl desktop'
@@ -303,35 +255,38 @@ build() {
msg2 'Using ANGLE as OpenGL backend'
qt_configure_args+=' -angle'
fi
- # GL_GLEXT_PROTOTYPES must be defined to enable declarations of GLES functions
+ # enable declarations of GLES functions
qt_configure_args+=' -DGL_GLEXT_PROTOTYPES'
fi
- # Fix MariaDB
+ # add include directory of MariaDB
qt_configure_args+=" -I/usr/${_arch}/include/mariadb"
msg2 'Configure and build qmake'
mkdir -p ../build-${_arch} && pushd ../build-${_arch}
if isStatic; then
- export OPENSSL_LIBS="/usr/${_arch}/lib/libssl.a /usr/${_arch}/lib/libcrypto.a -lws2_32 -lgdi32 -lcrypt32"
- ../${_pkgfqn}/configure \
- $qt_configure_args \
- -static \
- -openssl-linked
- msg2 'Build static Qt libraries'
- make
+ qt_configure_args+=' -static'
+
+ # configure static version to use linked OpenSSL
+ qt_configure_args+=' -openssl-linked'
+ export OPENSSL_LIBS="/usr/${_arch}/lib/libssl.a /usr/${_arch}/lib/libcrypto.a -lws2_32 -lgdi32 -lcrypt32 -ldnsapi -liphlpapi"
+
else
- # The LD_LIBRARY_PATH override is needed because libQt5Bootstrap* are shared
- # libraries which various compiled tools (like moc) use. As the libQt5Bootstrap*
- # libraries aren't installed at this point yet, we have to workaround this
- ../${_pkgfqn}/configure \
- $qt_configure_args \
- -shared \
- -openssl-runtime \
- -device-option 'CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build'
- msg2 'Build shared Qt libraries'
- LD_LIBRARY_PATH="$PWD/lib" LDFLAGS="-L$PWD/lib" make
+ qt_configure_args+=' -shared'
+
+ # configure shared version to load OpenSSL dynamically
+ qt_configure_args+=' -openssl-runtime'
+
+ qt_configure_args+=' -device-option CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build'
+
+ # override LD_LIBRARY_PATH so libraries for native build tools like libQt5Bootstrap.so are found
+ export LD_LIBRARY_PATH="$PWD/lib"
+ export LDFLAGS="-L$PWD/lib"
fi
+
+ msg2 'Build qmake and configure' && ../${_pkgfqn}/configure $qt_configure_args
+ msg2 'Build Qt libraries' && make
+
popd
done
}
@@ -341,20 +296,20 @@ package() {
cd "$srcdir/${_pkgfqn}"
make install -C ../build-${_arch} INSTALL_ROOT="${pkgdir}"
- # Use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE
+ # use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE
pushd "$srcdir/build-${_arch}/lib"
- find -iname '*.static.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib" --parents {} +
+ find -iname '*.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib" --parents {} +
popd
pushd "$srcdir/build-${_arch}/plugins"
- find -iname '*.static.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib/qt/plugins" --parents {} +
+ find -iname '*.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib/qt/plugins" --parents {} +
popd
if isStatic; then
# The static release contains only the static libs itself but relies on the
- # shared release for Qt5Bootstrap library and tools (qmake, uic, ...)
+ # shared release for Qt5Bootstrap library and tools (qmake, uic, ...).
- # Drop Qt5Bootstrap and libraries which are only provided as static lib
- # and are hence already present in shared build (such as Qt5OpenGLExtensions)
+ # drop Qt5Bootstrap and libraries which are only provided as static lib
+ # and hence already present in shared build (such as Qt5OpenGLExtensions)
rm -f \
"${pkgdir}/usr/${_arch}/lib/"{lib,}qt5main* \
"${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5AccessibilitySupport* \
@@ -367,9 +322,10 @@ package() {
"${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5ThemeSupport* \
"${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5OpenGLExtensions* \
"${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5PlatformSupport* \
+ "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5WindowsUIAutomationSupport* \
"${pkgdir}/usr/${_arch}/lib/"libQt5Bootstrap* \
- # Also ensure config files don't conflict with shared version
+ # ensure config files don't conflict with shared version
pushd "${pkgdir}/usr/${_arch}/lib/cmake"
for cmake_dir in $(find . ! -path . -type d ! -name 'Static*'); do
mkdir -p "./Static${cmake_dir:2}";
@@ -380,56 +336,59 @@ package() {
popd
rm "${pkgdir}/usr/${_arch}/lib/pkgconfig/StaticQt5OpenGLExtensions.pc"
- # Create links to static plugins in lib directory
+ # create links to static plugins in lib directory
pushd "${pkgdir}/usr/${_arch}/lib/" && ln -s "./qt/plugins/"*/*.a . && popd
- # Keep a couple pri files not found in base
+ # keep a couple pri files not found in base
mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}"
- # Delete duplicate files that are in the base package
+ # delete duplicate files that are in the base package
rm -fR "${pkgdir}/usr/${_arch}/"{include,share}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs}
- # Move pri files back
+ # move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
- else # Shared release
- # The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
+ else # shared version
+ # remove DLLs from libdir (DLLs are installed in both bindir and libdir, one copy is sufficient)
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
- # The Qt5OpenGLExtensions module is only available as static library and hence part of the
- # shared build
-
- # Create symlinks for tools
+ # create symlinks for tools
mkdir -p "${pkgdir}/usr/bin"
for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do
ln -s "../${_arch}/lib/qt/bin/${tool}" "${pkgdir}/usr/bin/${_arch}-${tool}-qt5"
done
fi
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ # drop QMAKE_PRL_BUILD_DIR because reference the build dir
find "${pkgdir}/usr/${_arch}/lib" -type f -name '*.prl' -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
- # Remove doc
+ # remove doc
rm -rf "${pkgdir}/usr/${_arch}/share/doc"
- # Strip the binaries
+ # remove prl files for debug version
+ if ! [[ $MINGW_W64_QT_DEBUG_BUILD ]]; then
+ for file in $(find "${pkgdir}/usr/${_arch}" -name '*d.prl' -o -name '*d.static.prl'); do
+ [ -f "${file%d*}${file##*d}" ] && rm "${file}";
+ done
+ fi
+
+ # replace library path in *.prl files so it points to the installed location and not the build directory
+ find "${pkgdir}/usr/${_arch}/lib" \( -type f -name '*.prl' -o -name '*.pc' \) -exec sed -i -e "s:${PWD%/*}/build-${_arch}/lib:/usr/${_arch}/lib:g" {} \;
+
+ # strip binaries, remove unuseful files
if ! isStatic; then
strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*[!.pl]
strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver}
fi
-
- # Applications might be useful as well; keeping them by default will not hurt anybody I suppose
if isStatic || [[ $NO_EXECUTABLES ]]; then
- find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \;
+ find "${pkgdir}/usr/${_arch}" -name '*.exe' -delete
else
- find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
+ find "${pkgdir}/usr/${_arch}" -name '*.exe' -exec ${_arch}-strip --strip-all {} \;
fi
- # No use for these files though
- find "${pkgdir}/usr/${_arch}" \( -name "*.bat" -o -name "*.def" -o -name "*.exp" \) -exec rm {} \;
- # Strip binaries
- find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
- find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
+ find "${pkgdir}/usr/${_arch}" \( -name '*.bat' -o -name '*.def' -o -name '*.exp' \) -delete
+ find "${pkgdir}/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
+ find "${pkgdir}/usr/${_arch}" \( -name '*.a' -not -name 'libQt5QmlDevTools.a' -not -name 'libQt5Bootstrap.a' \) -exec ${_arch}-strip -g {} \;
done
}
diff --git a/README.md b/README.md
new file mode 100644
index 00000000000..3233d55ba5d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,90 @@
+# README for Qt 5 mingw-w64 packages
+## Development, building, issues
+* All PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where you also find the URL of a binary repository.
+* Issues are tracks there as well.
+* All patches are managed at https://github.com/Martchus/qtbase, https://github.com/Martchus/qttools, ...
+
+### Build order
+Qt packages can be built in the following order (for example):
+```
+qt5-base qt5-base-static qt5-svg qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-imageformats qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-graphicaleffects qt5-gamepad qt5-scxml qt5-datavis3d qt5-virtualkeyboard qt5-activeqt qt5-speech qt5-remoteobjects qt5-networkauth qt5-webkit
+```
+
+### Executables
+By default, executables will be present in the package because I find them useful for testing. To remove executables,
+set NO_EXECUTABLES (or NO_STATIC_EXECUTABLES to remove statically linked executables only) when building the package.
+If Qt modules containing tools are built as static and as dynamic library only the dynamically linked tools will be present
+in the package.
+
+## Variants
+There are different variants of the package which can be selected by simply adjusting pkgname:
+
+| Package name | Customization |
+| ----------------------------------------------- | -----------------------------------------------------------------------|
+| mingw-w64-qt5-base or mingw-w64-qt5-base-opengl | using native OpenGL |
+| mingw-w64-qt5-base-angle | using ANGLE rather than native OpenGL |
+| mingw-w64-qt5-base-dynamic | allows choosing between ANGLE and native OpenGL dynamically at runtime |
+| mingw-w64-qt5-base-noopenql | no OpenGL support |
+
+* The variants are conflicting (and hence can not be installed at the same time).
+* See also: http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers
+
+## Static libraries
+The variants listed above only contain dynamic libraries. For building static libraries
+just append `-static` to the package name, eg. `mingw-w64-qt5-base-static` or `mingw-w64-qt5-base-angle-static`.
+
+The static variants rely on the corresponding dynamic variant for headers and tools.
+I only tested the static variant using native OpenGL so far (`mingw-w64-qt5-base-static`).
+Note that ANGLE will still be loaded as dynamic library in `mingw-w64-qt5-base-dynamic-static`.
+
+Further Qt modules (those not found in the base repository) include by default static and dynamic libraries; if only one
+version is requried, just set `NO_STATIC_LIBS` or `NO_SHARED_LIBS` when building the package, eg. by adding `NO_STATIC_LIBS=1`
+to `/etc/makepkg.conf`.
+
+### Using static libraries
+By default, CMake and qmake will link against the dynamic Qt libraries.
+
+#### CMake
+To use the static Qt libraries with CMake prepend the Qt module name with Static, eg.:
+```
+find_package(Qt5Core) becomes find_package(StaticQt5Core)
+```
+
+To use a static module, add the corresponding imported target, eg.:
+```
+target_link_libraries(target ... StaticQt5::Core)
+```
+
+This approach allows installing dynamic and static Qt in the same prefix
+and using both variants in the same CMake project.
+
+To use a static plugin, add the corresponding imported target, eg.:
+```
+target_link_libraries(target ... StaticQt5::QWindowsIntegrationPlugin)
+```
+
+Automatically importing static plugins is currently not possible, though.
+Hence it is required to use Q_IMPORT_PLUGIN, eg.:
+```
+#include<QtPlugin>
+Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
+```
+
+It is also possible to use static Qt libraries with CMake by setting the
+variable `USE_STATIC_QT_BY_DEFAULT`: `set(USE_STATIC_QT_BY_DEFAULT ON)`
+
+In this case the regular imported targets (eg. `Qt5::Core`) will be static.
+This approach does *not* allow to use dynamic and static Qt in the same
+CMake project.
+
+#### qmake
+To use the static Qt libraries with qmake add 'static' to the project config (either inside the *.pro file or as qmake argument):
+```
+CONFIG+=static
+```
+
+Currently qmake is messing with linker flags for cyclic dependencies and static MariaDB is unavailable due to clashing symbols.
+To workaround these issues, use the following arguments:
+```
+CONFIG+=no_smart_library_merge QTPLUGIN.sqldrivers=qsqlite QTPLUGIN.sqldrivers+=qsqlpsql QTPLUGIN.sqldrivers+=qsqlodbc
+``` \ No newline at end of file