aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2020-06-30 01:33:19 +0200
committerGitHub <noreply@github.com>2020-06-29 16:33:19 -0700
commit3b275f51385cbb7a4a1637cda281a6010ea65e12 (patch)
tree964cb7e5b21260794dfc943c48c07e5fb79ac658
parent1f01a1fd25a67e7a985998a38b4963f6e16310e2 (diff)
downloadvcpkg-3b275f51385cbb7a4a1637cda281a6010ea65e12.tar.gz
vcpkg-3b275f51385cbb7a4a1637cda281a6010ea65e12.zip
[qt5-base] fix static init fiasco and fix debug dll's not being copied (#12153)
-rw-r--r--ports/qt5-base/CONTROL2
-rw-r--r--ports/qt5-base/cmake/qt_build_submodule.cmake4
-rw-r--r--ports/qt5-base/patches/8c44d70_latest.diff28
-rw-r--r--ports/qt5-base/patches/8c44d70_lts.diff28
-rw-r--r--ports/qt5-base/portfile.cmake2
5 files changed, 60 insertions, 4 deletions
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index 35dba0e64..623d49f8e 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,5 +1,5 @@
Source: qt5-base
-Version: 5.12.8-5
+Version: 5.12.8-6
Homepage: https://www.qt.io/
Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl, angle (!windows), egl-registry, icu (!uwp), fontconfig (!windows)
diff --git a/ports/qt5-base/cmake/qt_build_submodule.cmake b/ports/qt5-base/cmake/qt_build_submodule.cmake
index f356d9f85..b30ef0299 100644
--- a/ports/qt5-base/cmake/qt_build_submodule.cmake
+++ b/ports/qt5-base/cmake/qt_build_submodule.cmake
@@ -101,9 +101,7 @@ function(qt_build_submodule SOURCE_PATH)
endif()
#This should be removed if somehow possible
- if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/tools/qt5/bin")
- file(COPY "${CURRENT_PACKAGES_DIR}/debug/tools/qt5/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug")
-
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/bin")
set(CURRENT_INSTALLED_DIR_BACKUP "${CURRENT_INSTALLED_DIR}")
set(CURRENT_INSTALLED_DIR "./../../../.." ) # Making the qt.conf relative and not absolute
configure_file(${CURRENT_INSTALLED_DIR_BACKUP}/tools/qt5/qt_debug.conf ${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/qt.conf) # This makes the tools at least useable for release
diff --git a/ports/qt5-base/patches/8c44d70_latest.diff b/ports/qt5-base/patches/8c44d70_latest.diff
new file mode 100644
index 000000000..3b6e3221b
--- /dev/null
+++ b/ports/qt5-base/patches/8c44d70_latest.diff
@@ -0,0 +1,28 @@
+diff --git a/src/corelib/tools/qarraydata.cpp b/src/corelib/tools/qarraydata.cpp
+index 3879b48..c380893 100644
+--- a/src/corelib/tools/qarraydata.cpp
++++ b/src/corelib/tools/qarraydata.cpp
+@@ -149,19 +149,16 @@
+
+ // End of qtools_p.h implementation
+
+-QT_WARNING_PUSH
+-QT_WARNING_DISABLE_GCC("-Wmissing-field-initializers")
+-
+ const QArrayData QArrayData::shared_null[2] = {
+ { Q_REFCOUNT_INITIALIZE_STATIC, 0, 0, 0, sizeof(QArrayData) }, // shared null
+- /* zero initialized terminator */};
++ { { Q_BASIC_ATOMIC_INITIALIZER(0) }, 0, 0, 0, 0 } /* zero initialized terminator */
++};
+
+ static const QArrayData qt_array[3] = {
+ { Q_REFCOUNT_INITIALIZE_STATIC, 0, 0, 0, sizeof(QArrayData) }, // shared empty
+ { { Q_BASIC_ATOMIC_INITIALIZER(0) }, 0, 0, 0, sizeof(QArrayData) }, // unsharable empty
+- /* zero initialized terminator */};
+-
+-QT_WARNING_POP
++ { { Q_BASIC_ATOMIC_INITIALIZER(0) }, 0, 0, 0, 0 } /* zero initialized terminator */
++};
+
+ static const QArrayData &qt_array_empty = qt_array[0];
+ static const QArrayData &qt_array_unsharable_empty = qt_array[1];
diff --git a/ports/qt5-base/patches/8c44d70_lts.diff b/ports/qt5-base/patches/8c44d70_lts.diff
new file mode 100644
index 000000000..567b79057
--- /dev/null
+++ b/ports/qt5-base/patches/8c44d70_lts.diff
@@ -0,0 +1,28 @@
+diff --git a/src/corelib/tools/qarraydata.cpp b/src/corelib/tools/qarraydata.cpp
+index 3879b48..c380893 100644
+--- a/src/corelib/tools/qarraydata.cpp
++++ b/src/corelib/tools/qarraydata.cpp
+@@ -46,19 +46,17 @@
+
+ QT_BEGIN_NAMESPACE
+
+-QT_WARNING_PUSH
+-QT_WARNING_DISABLE_GCC("-Wmissing-field-initializers")
+-
+ const QArrayData QArrayData::shared_null[2] = {
+ { Q_REFCOUNT_INITIALIZE_STATIC, 0, 0, 0, sizeof(QArrayData) }, // shared null
+- /* zero initialized terminator */};
++ { { Q_BASIC_ATOMIC_INITIALIZER(0) }, 0, 0, 0, 0 } /* zero initialized terminator */
++ };
+
+ static const QArrayData qt_array[3] = {
+ { Q_REFCOUNT_INITIALIZE_STATIC, 0, 0, 0, sizeof(QArrayData) }, // shared empty
+ { { Q_BASIC_ATOMIC_INITIALIZER(0) }, 0, 0, 0, sizeof(QArrayData) }, // unsharable empty
+- /* zero initialized terminator */};
++ { { Q_BASIC_ATOMIC_INITIALIZER(0) }, 0, 0, 0, 0 } /* zero initialized terminator */
++ };
+
+-QT_WARNING_POP
+
+ static const QArrayData &qt_array_empty = qt_array[0];
+ static const QArrayData &qt_array_unsharable_empty = qt_array[1];
diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake
index 984ff123b..5de6b37d0 100644
--- a/ports/qt5-base/portfile.cmake
+++ b/ports/qt5-base/portfile.cmake
@@ -19,12 +19,14 @@ if("latest" IN_LIST FEATURES)
patches/Qt5BasicConfig_latest.patch
patches/Qt5PluginTarget_latest.patch
patches/create_cmake.patch
+ patches/8c44d70_latest.diff # Fix for MSVC static init fiasco.
)
else()
set(PATCHES
patches/Qt5BasicConfig.patch
patches/Qt5PluginTarget.patch
patches/prl_parser.patch # Modified backport of the prl parser from Qt5.14.1 without using QMAKE_PRL_LIBS_FOR_CMAKE
+ patches/8c44d70_lts.diff # Fix for MSVC static init fiasco.
)
endif()