From b026866d2fff5fb86166282c3d3866ffacfdb771 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 17 Mar 2018 17:08:22 +0100 Subject: [PATCH] Update mingw-w64-qt5-base-* packages * Improve documentation * Switch back to patching win32-g++ rather than adding own mkspec to fix * https://github.com/Martchus/PKGBUILDs/issues/59 * https://github.com/Martchus/PKGBUILDs/issues/60 * Not tested yet --- devel/qt5/update-patches.sh | 10 +- ...for-cross-compilation-with-mingw-w64.patch | 314 ------------------ ...rofile-for-cross-compilation-with-mi.patch | 143 ++++++++ ...is-defined-when-using-dynamic-OpenGL.patch | 4 +- .../0003-Use-external-ANGLE-library.patch | 4 +- ...tions-assemler-error-in-OpenGL-facto.patch | 4 +- ...re-.pc-files-are-installed-correctly.patch | 4 +- ...add-resource-files-to-LIBS-parameter.patch | 4 +- ...ug-library-names-in-pkg-config-files.patch | 4 +- ...linking-against-shared-static-libpng.patch | 4 +- ...009-Fix-linking-against-static-D-Bus.patch | 4 +- ...o-use-debug-version-of-D-Bus-library.patch | 4 +- ...Fix-linking-against-static-freetype2.patch | 4 +- ...-Fix-linking-against-static-harfbuzz.patch | 4 +- ...0013-Fix-linking-against-static-pcre.patch | 4 +- ...inking-against-shared-static-MariaDB.patch | 4 +- ...ing-against-shared-static-PostgreSQL.patch | 4 +- .../0016-Rename-qtmain-to-qt5main.patch | 20 +- .../0017-Build-dynamic-host-libraries.patch | 4 +- .../0018-Enable-rpath-for-build-tools.patch | 4 +- ...0019-Use-system-zlib-for-build-tools.patch | 4 +- ...0-Use-.dll.a-as-import-lib-extension.patch | 4 +- ...erge-shared-and-static-library-trees.patch | 4 +- ...s-of-static-libraries-in-CMake-modul.patch | 4 +- ...w-usage-of-static-version-with-CMake.patch | 4 +- ...ags-for-static-build-with-cmake-ming.patch | 4 +- ...5-Use-correct-pkg-config-static-flag.patch | 4 +- ...6-Fix-macro-invoking-moc-rcc-and-uic.patch | 4 +- ...-errors-about-missing-feature-static.patch | 4 +- .../0028-Enable-and-fix-use-of-iconv.patch | 4 +- .../0029-Ignore-failing-pkg-config-test.patch | 4 +- ...from-messing-static-lib-dependencies.patch | 4 +- ...de-linker-flags-for-platform-plugins.patch | 4 +- ...ng-against-static-plugins-with-qmake.patch | 4 +- qt5-base/mingw-w64-angle/PKGBUILD | 122 +++---- qt5-base/mingw-w64-angle/README.md | 90 +++++ ...for-cross-compilation-with-mingw-w64.patch | 314 ------------------ ...rofile-for-cross-compilation-with-mi.patch | 143 ++++++++ ...is-defined-when-using-dynamic-OpenGL.patch | 4 +- .../0003-Use-external-ANGLE-library.patch | 4 +- ...tions-assemler-error-in-OpenGL-facto.patch | 4 +- ...re-.pc-files-are-installed-correctly.patch | 4 +- ...add-resource-files-to-LIBS-parameter.patch | 4 +- ...ug-library-names-in-pkg-config-files.patch | 4 +- ...linking-against-shared-static-libpng.patch | 4 +- ...009-Fix-linking-against-static-D-Bus.patch | 4 +- ...o-use-debug-version-of-D-Bus-library.patch | 4 +- ...Fix-linking-against-static-freetype2.patch | 4 +- ...-Fix-linking-against-static-harfbuzz.patch | 4 +- ...0013-Fix-linking-against-static-pcre.patch | 4 +- ...inking-against-shared-static-MariaDB.patch | 4 +- ...ing-against-shared-static-PostgreSQL.patch | 4 +- .../0016-Rename-qtmain-to-qt5main.patch | 20 +- .../0017-Build-dynamic-host-libraries.patch | 4 +- .../0018-Enable-rpath-for-build-tools.patch | 4 +- ...0019-Use-system-zlib-for-build-tools.patch | 4 +- ...0-Use-.dll.a-as-import-lib-extension.patch | 4 +- ...erge-shared-and-static-library-trees.patch | 4 +- ...s-of-static-libraries-in-CMake-modul.patch | 4 +- ...w-usage-of-static-version-with-CMake.patch | 4 +- ...ags-for-static-build-with-cmake-ming.patch | 4 +- ...5-Use-correct-pkg-config-static-flag.patch | 4 +- ...6-Fix-macro-invoking-moc-rcc-and-uic.patch | 4 +- ...-errors-about-missing-feature-static.patch | 4 +- .../0028-Enable-and-fix-use-of-iconv.patch | 4 +- .../0029-Ignore-failing-pkg-config-test.patch | 4 +- ...from-messing-static-lib-dependencies.patch | 4 +- ...de-linker-flags-for-platform-plugins.patch | 4 +- ...ng-against-static-plugins-with-qmake.patch | 4 +- qt5-base/mingw-w64-dynamic/PKGBUILD | 122 +++---- qt5-base/mingw-w64-dynamic/README.md | 90 +++++ ...for-cross-compilation-with-mingw-w64.patch | 314 ------------------ ...rofile-for-cross-compilation-with-mi.patch | 143 ++++++++ ...is-defined-when-using-dynamic-OpenGL.patch | 4 +- .../0003-Use-external-ANGLE-library.patch | 4 +- ...tions-assemler-error-in-OpenGL-facto.patch | 4 +- ...re-.pc-files-are-installed-correctly.patch | 4 +- ...add-resource-files-to-LIBS-parameter.patch | 4 +- ...ug-library-names-in-pkg-config-files.patch | 4 +- ...linking-against-shared-static-libpng.patch | 4 +- ...009-Fix-linking-against-static-D-Bus.patch | 4 +- ...o-use-debug-version-of-D-Bus-library.patch | 4 +- ...Fix-linking-against-static-freetype2.patch | 4 +- ...-Fix-linking-against-static-harfbuzz.patch | 4 +- ...0013-Fix-linking-against-static-pcre.patch | 4 +- ...inking-against-shared-static-MariaDB.patch | 4 +- ...ing-against-shared-static-PostgreSQL.patch | 4 +- .../0016-Rename-qtmain-to-qt5main.patch | 20 +- .../0017-Build-dynamic-host-libraries.patch | 4 +- .../0018-Enable-rpath-for-build-tools.patch | 4 +- ...0019-Use-system-zlib-for-build-tools.patch | 4 +- ...0-Use-.dll.a-as-import-lib-extension.patch | 4 +- ...erge-shared-and-static-library-trees.patch | 4 +- ...s-of-static-libraries-in-CMake-modul.patch | 4 +- ...w-usage-of-static-version-with-CMake.patch | 4 +- ...ags-for-static-build-with-cmake-ming.patch | 4 +- ...5-Use-correct-pkg-config-static-flag.patch | 4 +- ...6-Fix-macro-invoking-moc-rcc-and-uic.patch | 4 +- ...-errors-about-missing-feature-static.patch | 4 +- .../0028-Enable-and-fix-use-of-iconv.patch | 4 +- .../0029-Ignore-failing-pkg-config-test.patch | 4 +- ...from-messing-static-lib-dependencies.patch | 4 +- ...de-linker-flags-for-platform-plugins.patch | 4 +- ...ng-against-static-plugins-with-qmake.patch | 4 +- qt5-base/mingw-w64-static/PKGBUILD | 122 +++---- qt5-base/mingw-w64-static/README.md | 90 +++++ ...for-cross-compilation-with-mingw-w64.patch | 314 ------------------ ...rofile-for-cross-compilation-with-mi.patch | 143 ++++++++ ...is-defined-when-using-dynamic-OpenGL.patch | 4 +- .../0003-Use-external-ANGLE-library.patch | 4 +- ...tions-assemler-error-in-OpenGL-facto.patch | 4 +- ...re-.pc-files-are-installed-correctly.patch | 4 +- ...add-resource-files-to-LIBS-parameter.patch | 4 +- ...ug-library-names-in-pkg-config-files.patch | 4 +- ...linking-against-shared-static-libpng.patch | 4 +- ...009-Fix-linking-against-static-D-Bus.patch | 4 +- ...o-use-debug-version-of-D-Bus-library.patch | 4 +- ...Fix-linking-against-static-freetype2.patch | 4 +- ...-Fix-linking-against-static-harfbuzz.patch | 4 +- ...0013-Fix-linking-against-static-pcre.patch | 4 +- ...inking-against-shared-static-MariaDB.patch | 4 +- ...ing-against-shared-static-PostgreSQL.patch | 4 +- .../0016-Rename-qtmain-to-qt5main.patch | 20 +- .../0017-Build-dynamic-host-libraries.patch | 4 +- .../0018-Enable-rpath-for-build-tools.patch | 4 +- ...0019-Use-system-zlib-for-build-tools.patch | 4 +- ...0-Use-.dll.a-as-import-lib-extension.patch | 4 +- ...erge-shared-and-static-library-trees.patch | 4 +- ...s-of-static-libraries-in-CMake-modul.patch | 4 +- ...w-usage-of-static-version-with-CMake.patch | 4 +- ...ags-for-static-build-with-cmake-ming.patch | 4 +- ...5-Use-correct-pkg-config-static-flag.patch | 4 +- ...6-Fix-macro-invoking-moc-rcc-and-uic.patch | 4 +- ...-errors-about-missing-feature-static.patch | 4 +- .../0028-Enable-and-fix-use-of-iconv.patch | 4 +- .../0029-Ignore-failing-pkg-config-test.patch | 4 +- ...from-messing-static-lib-dependencies.patch | 4 +- ...de-linker-flags-for-platform-plugins.patch | 4 +- ...ng-against-static-plugins-with-qmake.patch | 4 +- qt5-base/mingw-w64/PKGBUILD | 122 +++---- qt5-base/mingw-w64/README.md | 90 +++++ 141 files changed, 1395 insertions(+), 1851 deletions(-) delete mode 100644 qt5-base/mingw-w64-angle/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch create mode 100644 qt5-base/mingw-w64-angle/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch create mode 100644 qt5-base/mingw-w64-angle/README.md delete mode 100644 qt5-base/mingw-w64-dynamic/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch create mode 100644 qt5-base/mingw-w64-dynamic/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch create mode 100644 qt5-base/mingw-w64-dynamic/README.md delete mode 100644 qt5-base/mingw-w64-static/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch create mode 100644 qt5-base/mingw-w64-static/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch create mode 100644 qt5-base/mingw-w64-static/README.md delete mode 100644 qt5-base/mingw-w64/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch create mode 100644 qt5-base/mingw-w64/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch create mode 100644 qt5-base/mingw-w64/README.md diff --git a/devel/qt5/update-patches.sh b/devel/qt5/update-patches.sh index a4d2855b..319cc92f 100755 --- a/devel/qt5/update-patches.sh +++ b/devel/qt5/update-patches.sh @@ -9,7 +9,7 @@ shopt -s nullglob if ! [[ $1 ]]; then echo 'No Qt repo specified - must be specified like eg. base or multimedia.' - echo "Usage: $0 repo [variant=mingw-w64]" + echo "Usage: $0 repo [branch=\$pkgver-\$variant] [variant=mingw-w64]" exit -1 fi @@ -28,7 +28,8 @@ fi pkg="qt5-$1" repo="qt$1" -variant="${2:-mingw-w64}" +branch="${2}" +variant="${3:-mingw-w64}" # find dest dir for dir in "${pkgbuildsdirs[@]}"; do @@ -67,7 +68,10 @@ done pushd "$wd" > /dev/null git status # do some Git stuff just to check whether it is a Git repo -if ! git checkout "${pkgver}-${variant}"; then +if ! [[ $branch ]]; then + branch="${pkgver}-${variant}" +fi +if ! git checkout "${branch}"; then echo "No patches required for $1, skipping." exit 0 fi diff --git a/qt5-base/mingw-w64-angle/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch b/qt5-base/mingw-w64-angle/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch deleted file mode 100644 index 7f9af672..00000000 --- a/qt5-base/mingw-w64-angle/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 -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 -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#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/qt5-base/mingw-w64-angle/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/qt5-base/mingw-w64-angle/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch new file mode 100644 index 00000000..366d882e --- /dev/null +++ b/qt5-base/mingw-w64-angle/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch @@ -0,0 +1,143 @@ +From ef02a56ff99e9c2352d1395b8deada3c3078887f Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Fri, 3 Feb 2017 18:30:51 +0100 +Subject: [PATCH 01/32] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++--------------- + 1 file changed, 37 insertions(+), 19 deletions(-) + +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 9f366e08b8..848837e732 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -1,11 +1,13 @@ + # +-# qmake configuration for win32-g++ ++# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++ + # +-# Written for MinGW-w64 / gcc 5.3 or higher ++# Written for cross compilation with mingw-w64 under GNU/Linux + # + # Cross compile example for i686-w64-mingw32-g++: +-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- ++# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- + # ++# 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(../common/gcc-base.conf) +@@ -14,12 +16,11 @@ include(../common/angle.conf) + include(../common/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 + # 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. +@@ -29,7 +30,7 @@ QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = bison -y + QMAKE_YACCFLAGS = -d +-QMAKE_CFLAGS += -fno-keep-inline-dllexport ++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_WARN_ON += -Wextra + + QMAKE_CFLAGS_SSE2 += -mstackrealign +@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + 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 = + +@@ -50,40 +52,56 @@ 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_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 + + 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 + ++PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++ + load(qt_config) +-- +2.16.2 + diff --git a/qt5-base/mingw-w64-angle/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/qt5-base/mingw-w64-angle/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch index 724babdd..44ef85cb 100644 --- a/qt5-base/mingw-w64-angle/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch +++ b/qt5-base/mingw-w64-angle/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch @@ -1,4 +1,4 @@ -From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001 +From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:36:53 +0200 Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL @@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0003-Use-external-ANGLE-library.patch b/qt5-base/mingw-w64-angle/0003-Use-external-ANGLE-library.patch index 54822d27..13599fa2 100644 --- a/qt5-base/mingw-w64-angle/0003-Use-external-ANGLE-library.patch +++ b/qt5-base/mingw-w64-angle/0003-Use-external-ANGLE-library.patch @@ -1,4 +1,4 @@ -From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001 +From f8025a3fcae7623f8e54299e0842ca45a71fb28d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:41:38 +0200 Subject: [PATCH 03/32] Use external ANGLE library @@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644 SUBDIRS += src_3rdparty_libpng src_3rdparty_freetype.depends += src_3rdparty_libpng -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/qt5-base/mingw-w64-angle/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index 5c87faac..f4eb00a2 100644 --- a/qt5-base/mingw-w64-angle/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch +++ b/qt5-base/mingw-w64-angle/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -1,4 +1,4 @@ -From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001 +From da616cd666c43e0189c1998ba827e5da9c189b04 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:48:51 +0200 Subject: [PATCH 04/32] Fix too many sections assemler error in OpenGL factory @@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644 HEADERS += opengl/qopengl.h \ opengl/qopengl_p.h \ -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0005-Make-sure-.pc-files-are-installed-correctly.patch b/qt5-base/mingw-w64-angle/0005-Make-sure-.pc-files-are-installed-correctly.patch index 6ca3d4f8..d2f42b13 100644 --- a/qt5-base/mingw-w64-angle/0005-Make-sure-.pc-files-are-installed-correctly.patch +++ b/qt5-base/mingw-w64-angle/0005-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,4 +1,4 @@ -From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001 +From 855124059e1ce75c1815a16056bfc7e91705ff93 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:54:12 +0200 Subject: [PATCH 05/32] Make sure *.pc files are installed correctly @@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/qt5-base/mingw-w64-angle/0006-Don-t-add-resource-files-to-LIBS-parameter.patch index 6c7a6dec..e8124738 100644 --- a/qt5-base/mingw-w64-angle/0006-Don-t-add-resource-files-to-LIBS-parameter.patch +++ b/qt5-base/mingw-w64-angle/0006-Don-t-add-resource-files-to-LIBS-parameter.patch @@ -1,4 +1,4 @@ -From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001 +From 615d341714c83d659008f714ca079f9df992001c Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:58:28 +0200 Subject: [PATCH 06/32] Don't add resource files to LIBS parameter @@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/qt5-base/mingw-w64-angle/0007-Prevent-debug-library-names-in-pkg-config-files.patch index 98d4bbde..67ab318b 100644 --- a/qt5-base/mingw-w64-angle/0007-Prevent-debug-library-names-in-pkg-config-files.patch +++ b/qt5-base/mingw-w64-angle/0007-Prevent-debug-library-names-in-pkg-config-files.patch @@ -1,4 +1,4 @@ -From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001 +From 70e8d38009cc5321680ef727ac160316e20161a6 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:01:14 +0200 Subject: [PATCH 07/32] Prevent debug library names in pkg-config files @@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0008-Fix-linking-against-shared-static-libpng.patch b/qt5-base/mingw-w64-angle/0008-Fix-linking-against-shared-static-libpng.patch index 13b1f738..a03ba70f 100644 --- a/qt5-base/mingw-w64-angle/0008-Fix-linking-against-shared-static-libpng.patch +++ b/qt5-base/mingw-w64-angle/0008-Fix-linking-against-shared-static-libpng.patch @@ -1,4 +1,4 @@ -From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001 +From 3ee91c980962788177b41fb49eed40bf74ccf745 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 26 Jan 2017 17:51:31 +0100 Subject: [PATCH 08/32] Fix linking against shared/static libpng @@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644 "use": [ { "lib": "zlib", "condition": "features.system-zlib" } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0009-Fix-linking-against-static-D-Bus.patch b/qt5-base/mingw-w64-angle/0009-Fix-linking-against-static-D-Bus.patch index bf620e71..6df520ca 100644 --- a/qt5-base/mingw-w64-angle/0009-Fix-linking-against-static-D-Bus.patch +++ b/qt5-base/mingw-w64-angle/0009-Fix-linking-against-static-D-Bus.patch @@ -1,4 +1,4 @@ -From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001 +From b136f177a24e438a2069c4f9c1d9b3a05db17b5c Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 19:36:25 +0100 Subject: [PATCH 09/32] Fix linking against static D-Bus @@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644 # include #else -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/qt5-base/mingw-w64-angle/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch index 93c1d12d..8da42cb9 100644 --- a/qt5-base/mingw-w64-angle/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch +++ b/qt5-base/mingw-w64-angle/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch @@ -1,4 +1,4 @@ -From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001 +From 4376a9888da599de6eaa14d1dcf83a0fe41193aa Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 18:28:10 +0200 Subject: [PATCH 10/32] Don't try to use debug version of D-Bus library @@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644 }, "condition": "config.win32 && features.shared" -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0011-Fix-linking-against-static-freetype2.patch b/qt5-base/mingw-w64-angle/0011-Fix-linking-against-static-freetype2.patch index 36bf7606..52bace86 100644 --- a/qt5-base/mingw-w64-angle/0011-Fix-linking-against-static-freetype2.patch +++ b/qt5-base/mingw-w64-angle/0011-Fix-linking-against-static-freetype2.patch @@ -1,4 +1,4 @@ -From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001 +From f622ed99d6d99283d7405cb0a96757c9e4922558 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 20:51:19 +0100 Subject: [PATCH 11/32] Fix linking against static freetype2 @@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644 }, "fontconfig": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0012-Fix-linking-against-static-harfbuzz.patch b/qt5-base/mingw-w64-angle/0012-Fix-linking-against-static-harfbuzz.patch index 796b9839..59c591e0 100644 --- a/qt5-base/mingw-w64-angle/0012-Fix-linking-against-static-harfbuzz.patch +++ b/qt5-base/mingw-w64-angle/0012-Fix-linking-against-static-harfbuzz.patch @@ -1,4 +1,4 @@ -From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001 +From 9a75cec77d9dfff3d283258b9b323819b9f820ca Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:22:56 +0200 Subject: [PATCH 12/32] Fix linking against static harfbuzz @@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644 }, "imf": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0013-Fix-linking-against-static-pcre.patch b/qt5-base/mingw-w64-angle/0013-Fix-linking-against-static-pcre.patch index cee71e74..47f776e6 100644 --- a/qt5-base/mingw-w64-angle/0013-Fix-linking-against-static-pcre.patch +++ b/qt5-base/mingw-w64-angle/0013-Fix-linking-against-static-pcre.patch @@ -1,4 +1,4 @@ -From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001 +From a9af38f04a32f596a168e066cb6d32f82a7154b4 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:24:01 +0200 Subject: [PATCH 13/32] Fix linking against static pcre @@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644 #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0014-Fix-linking-against-shared-static-MariaDB.patch b/qt5-base/mingw-w64-angle/0014-Fix-linking-against-shared-static-MariaDB.patch index 1d5d8bdb..0cb32167 100644 --- a/qt5-base/mingw-w64-angle/0014-Fix-linking-against-shared-static-MariaDB.patch +++ b/qt5-base/mingw-w64-angle/0014-Fix-linking-against-shared-static-MariaDB.patch @@ -1,4 +1,4 @@ -From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001 +From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:56:55 +0200 Subject: [PATCH 14/32] Fix linking against shared/static MariaDB @@ -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.16.2 diff --git a/qt5-base/mingw-w64-angle/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/qt5-base/mingw-w64-angle/0015-Fix-linking-against-shared-static-PostgreSQL.patch index c66730e9..a9876996 100644 --- a/qt5-base/mingw-w64-angle/0015-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/qt5-base/mingw-w64-angle/0015-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,4 +1,4 @@ -From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001 +From 0135efd090f0aa0402443a948f7de49adb837125 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:58:25 +0200 Subject: [PATCH 15/32] Fix linking against shared/static PostgreSQL @@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644 ] }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0016-Rename-qtmain-to-qt5main.patch b/qt5-base/mingw-w64-angle/0016-Rename-qtmain-to-qt5main.patch index 93a9c548..b669eef9 100644 --- a/qt5-base/mingw-w64-angle/0016-Rename-qtmain-to-qt5main.patch +++ b/qt5-base/mingw-w64-angle/0016-Rename-qtmain-to-qt5main.patch @@ -1,4 +1,4 @@ -From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001 +From d659c5369bd8059643edd4674d21e5b575c95b8e Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:25:40 +0200 Subject: [PATCH 16/32] Rename qtmain to qt5main @@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package --- mkspecs/features/create_cmake.prf | 4 ++-- mkspecs/features/win32/windows.prf | 2 +- + mkspecs/win32-g++/qmake.conf | 2 +- src/winmain/winmain.pro | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index bb5083c925..146e83ae67 100644 @@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644 !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \ QMAKE_LIBS += -L$$QT.core.libs CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 848837e732..ad924a7c2a 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro index 4140ae48de..9ae73db74b 100644 --- a/src/winmain/winmain.pro @@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644 CONFIG += static -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0017-Build-dynamic-host-libraries.patch b/qt5-base/mingw-w64-angle/0017-Build-dynamic-host-libraries.patch index 3535c055..ded139f1 100644 --- a/qt5-base/mingw-w64-angle/0017-Build-dynamic-host-libraries.patch +++ b/qt5-base/mingw-w64-angle/0017-Build-dynamic-host-libraries.patch @@ -1,4 +1,4 @@ -From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001 +From 64298314d16b0d4f60a868dff2c379af982b821d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:27:28 +0200 Subject: [PATCH 17/32] Build dynamic host libraries @@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644 -INSTALLS = lib +INSTALLS += lib -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0018-Enable-rpath-for-build-tools.patch b/qt5-base/mingw-w64-angle/0018-Enable-rpath-for-build-tools.patch index 499eab94..561e41eb 100644 --- a/qt5-base/mingw-w64-angle/0018-Enable-rpath-for-build-tools.patch +++ b/qt5-base/mingw-w64-angle/0018-Enable-rpath-for-build-tools.patch @@ -1,4 +1,4 @@ -From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001 +From 293c66efcd36c6ca5850d91847f0030c182aa336 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 17:59:27 +0200 Subject: [PATCH 18/32] Enable rpath for build tools @@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644 INSTALLS += target -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0019-Use-system-zlib-for-build-tools.patch b/qt5-base/mingw-w64-angle/0019-Use-system-zlib-for-build-tools.patch index 5bb33f85..f3846352 100644 --- a/qt5-base/mingw-w64-angle/0019-Use-system-zlib-for-build-tools.patch +++ b/qt5-base/mingw-w64-angle/0019-Use-system-zlib-for-build-tools.patch @@ -1,4 +1,4 @@ -From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001 +From 3351283ce62c1d728d245657aa9a81d5e8c43def Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:04:42 +0200 Subject: [PATCH 19/32] Use system zlib for build tools @@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644 } else { CONFIG += no_core_dep -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0020-Use-.dll.a-as-import-lib-extension.patch b/qt5-base/mingw-w64-angle/0020-Use-.dll.a-as-import-lib-extension.patch index 39d3af6e..effe2180 100644 --- a/qt5-base/mingw-w64-angle/0020-Use-.dll.a-as-import-lib-extension.patch +++ b/qt5-base/mingw-w64-angle/0020-Use-.dll.a-as-import-lib-extension.patch @@ -1,4 +1,4 @@ -From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001 +From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:26:18 +0200 Subject: [PATCH 20/32] Use *.dll.a as import lib extension @@ -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.16.2 diff --git a/qt5-base/mingw-w64-angle/0021-Merge-shared-and-static-library-trees.patch b/qt5-base/mingw-w64-angle/0021-Merge-shared-and-static-library-trees.patch index c75ede7a..58dddb48 100644 --- a/qt5-base/mingw-w64-angle/0021-Merge-shared-and-static-library-trees.patch +++ b/qt5-base/mingw-w64-angle/0021-Merge-shared-and-static-library-trees.patch @@ -1,4 +1,4 @@ -From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001 +From 4c3092a30e8981125414d71fa481436ea4f917f5 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:45:08 +0200 Subject: [PATCH 21/32] Merge shared and static library trees @@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644 t << endl; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/qt5-base/mingw-w64-angle/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index d01739b9..9381ff7c 100644 --- a/qt5-base/mingw-w64-angle/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/qt5-base/mingw-w64-angle/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,4 +1,4 @@ -From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001 +From 9913c74ba93c506abaa5f13e02ac29e6cd82783d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:32:00 +0200 Subject: [PATCH 22/32] Pull dependencies of static libraries in CMake modules @@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644 } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0023-Allow-usage-of-static-version-with-CMake.patch b/qt5-base/mingw-w64-angle/0023-Allow-usage-of-static-version-with-CMake.patch index 9ea53096..bf68ad24 100644 --- a/qt5-base/mingw-w64-angle/0023-Allow-usage-of-static-version-with-CMake.patch +++ b/qt5-base/mingw-w64-angle/0023-Allow-usage-of-static-version-with-CMake.patch @@ -1,4 +1,4 @@ -From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001 +From 3955f9513c3c34351462b7c868da8b0650043393 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 5 Aug 2017 21:14:26 +0200 Subject: [PATCH 23/32] Allow usage of static version with CMake @@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/qt5-base/mingw-w64-angle/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index d463e883..71cfc865 100644 --- a/qt5-base/mingw-w64-angle/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/qt5-base/mingw-w64-angle/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,4 +1,4 @@ -From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001 +From 716349466294e9809c92303becf2fede7745f9fd Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 16:42:07 +0200 Subject: [PATCH 24/32] Adjust linker flags for static build with @@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644 +unset(_isExe) +!!ENDIF -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0025-Use-correct-pkg-config-static-flag.patch b/qt5-base/mingw-w64-angle/0025-Use-correct-pkg-config-static-flag.patch index db588595..c7b2b393 100644 --- a/qt5-base/mingw-w64-angle/0025-Use-correct-pkg-config-static-flag.patch +++ b/qt5-base/mingw-w64-angle/0025-Use-correct-pkg-config-static-flag.patch @@ -1,4 +1,4 @@ -From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001 +From 64df7c1f38cab38957670a7070260fedde236990 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:50:21 +0200 Subject: [PATCH 25/32] Use correct pkg-config --static flag @@ -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.16.2 diff --git a/qt5-base/mingw-w64-angle/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/qt5-base/mingw-w64-angle/0026-Fix-macro-invoking-moc-rcc-and-uic.patch index eedb6ba5..f593badd 100644 --- a/qt5-base/mingw-w64-angle/0026-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/qt5-base/mingw-w64-angle/0026-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,4 +1,4 @@ -From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001 +From b0cbcf49f288bc4e87c055b757505f745423c686 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 4 Dec 2016 20:35:47 +0100 Subject: [PATCH 26/32] Fix macro invoking moc, rcc and uic @@ -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.16.2 diff --git a/qt5-base/mingw-w64-angle/0027-Ignore-errors-about-missing-feature-static.patch b/qt5-base/mingw-w64-angle/0027-Ignore-errors-about-missing-feature-static.patch index 2c7ef032..0504f1a8 100644 --- a/qt5-base/mingw-w64-angle/0027-Ignore-errors-about-missing-feature-static.patch +++ b/qt5-base/mingw-w64-angle/0027-Ignore-errors-about-missing-feature-static.patch @@ -1,4 +1,4 @@ -From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001 +From 43051c0832825089e058715e126baefa9071bc2d Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 20:59:54 +0100 Subject: [PATCH 27/32] Ignore errors about missing feature static @@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644 + !equals($$1, "static"): error("Could not find feature $${1}.") } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0028-Enable-and-fix-use-of-iconv.patch b/qt5-base/mingw-w64-angle/0028-Enable-and-fix-use-of-iconv.patch index 3ad2c176..2174a096 100644 --- a/qt5-base/mingw-w64-angle/0028-Enable-and-fix-use-of-iconv.patch +++ b/qt5-base/mingw-w64-angle/0028-Enable-and-fix-use-of-iconv.patch @@ -1,4 +1,4 @@ -From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001 +From 64a634598092a7cbeca267f3dc0860a3105ed329 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:20 +0100 Subject: [PATCH 28/32] Enable and fix use of iconv @@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644 }, "icu": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0029-Ignore-failing-pkg-config-test.patch b/qt5-base/mingw-w64-angle/0029-Ignore-failing-pkg-config-test.patch index 16250b8d..5eda88ca 100644 --- a/qt5-base/mingw-w64-angle/0029-Ignore-failing-pkg-config-test.patch +++ b/qt5-base/mingw-w64-angle/0029-Ignore-failing-pkg-config-test.patch @@ -1,4 +1,4 @@ -From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001 +From 9d139e94af7e18e965732684864d75ac1ee015f2 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:48 +0100 Subject: [PATCH 29/32] Ignore failing pkg-config test @@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/qt5-base/mingw-w64-angle/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch index 33aee858..4d54a65d 100644 --- a/qt5-base/mingw-w64-angle/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/qt5-base/mingw-w64-angle/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,4 +1,4 @@ -From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001 +From d360972109bd354d675499efc4e00ee9ed8da3c9 Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 7 Feb 2017 18:25:28 +0100 Subject: [PATCH 30/32] Prevent qmake from messing static lib dependencies @@ -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.16.2 diff --git a/qt5-base/mingw-w64-angle/0031-Hardcode-linker-flags-for-platform-plugins.patch b/qt5-base/mingw-w64-angle/0031-Hardcode-linker-flags-for-platform-plugins.patch index 807a40e7..b9816492 100644 --- a/qt5-base/mingw-w64-angle/0031-Hardcode-linker-flags-for-platform-plugins.patch +++ b/qt5-base/mingw-w64-angle/0031-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,4 +1,4 @@ -From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001 +From 28f289f8b87da3bd244f8c63ead918f0922a4358 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 23:42:30 +0100 Subject: [PATCH 31/32] Hardcode linker flags for platform plugins @@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644 include(windows.pri) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-angle/0032-Fix-linking-against-static-plugins-with-qmake.patch b/qt5-base/mingw-w64-angle/0032-Fix-linking-against-static-plugins-with-qmake.patch index 6b7b9f0d..71c7be17 100644 --- a/qt5-base/mingw-w64-angle/0032-Fix-linking-against-static-plugins-with-qmake.patch +++ b/qt5-base/mingw-w64-angle/0032-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,4 +1,4 @@ -From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001 +From 27d8e6e51cefad3de5e863f1217fd2bcc0b28f30 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 25 Aug 2017 17:07:17 +0200 Subject: [PATCH 32/32] Fix linking against static plugins with qmake @@ -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.16.2 diff --git a/qt5-base/mingw-w64-angle/PKGBUILD b/qt5-base/mingw-w64-angle/PKGBUILD index 1563a7d0..62cae954 100644 --- a/qt5-base/mingw-w64-angle/PKGBUILD +++ b/qt5-base/mingw-w64-angle/PKGBUILD @@ -3,62 +3,14 @@ # Contributor: Filip Brcic # Contributor: jellysheep +# 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 -# 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' ]] @@ -85,7 +37,7 @@ isNoOpenGL() { pkgname=mingw-w64-qt5-base-angle pkgver=5.10.1 -pkgrel=1 +pkgrel=2 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 isStatic && arch=('any') || arch=('i686' 'x86_64') @@ -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' @@ -133,38 +85,38 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm '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') + '1c482310bbfef78733a2013f42e505657059e720cf139ddcf5ad692c4dbf06b1' + '45a1020a351931b7171e55ef8165d2cc4af3bf2473b142daa51f3b5b15c447f3' + 'ceb05dabed9fa2fc781e5abcfb54285960267922bac753df4179831a240da9b7' + 'c4138094696342f8f976c01c9ce66919ae38802f36d3280b47883446e8d74bf9' + '2f99ae05056636b434bf7a533db6de7561c6f6e3fe8e854b4e9a182e30c684b3' + 'fa69c484d557f45b1929e0b4be6328837717337155477a8fab3f9ea59731c749' + '57de459c6af72293560afcf7a872b1a4b10badd986c1fc1b43d7aaf55caf52c5' + '58e6f6a0271e82be5b7560a247cb70809169148e6413c473e2c3fed97e5d1c45' + 'ea39d2b90a848a4c36a7685688283b773ff2ed5e6912be52a943f31376eefc81' + 'b8f5a6a707f20cce64d9e5f04c35c555d7d14cd20344510205babc9a5698a15a' + 'b1eaea87c7d7b774657feb4745450ab4e423c158ff81c144d724dcd8ac950c6f' + '8092fe23e35906b9a967ec78e1892769f06f1699c4c177ea0814876fb7c423d2' + '4b73f19e254466e5e4d13459088f773a44c9f05033ad5d29995c5116f18f999d' + '6a1411e406efab5521af71b2b8cf122c8443157114799f23d3e2cd1dc59c8e14' + '52b0fc09f05d1ca2efbf3a046cf933e72dae4bfd63026298fd60360103106c5a' + '30b5bded4f2e3ac5e4c83412c92afe0ad604e3eb18a94a3357f220b5e0456d86' + '1a18636d6089fe49ae7e0592dad6d71a1466aa0fc2d033ca926c14e468aff0c9' + '9710090523aefca66211bd8b74bcdc650125299912b735ba4845408e9e860649' + '551f05ad17737fe8b9b00c24a3a5539988455cbb706458e44c3df2df56599f63' + 'd2f5aaacd2be586cfab27a23120a9f21749c1ac96664071c399f91097274ec89' + '23878d79148e4db9e1c5ba2e6e6d2ced259b64aa1ba2f1503ab9938863b2104f' + '30f5b6c738609a8ac03f806b86a632c3cf6d85b56e038f812d46358b592cc427' + '2782b7eb4f55cb5905b5bcb8387ad3a7130727b036b0fc482b1294380862f5d1' + '156e720e4ad44f257019dbe2fe1eef7b7a27989307f8a9f53072f4cbe178c655' + '53088ce6f9a22ee1735fb8b7145ce569ac1914ac05fb947ca3afae39d3cb3199' + 'e61f2fd0c91c72822c1074844897641ce1c9500423b4c646aa8ae1671f9f967b' + 'cccad985154167818657d0561ec349cb75931a0a64a689ab51041337d73a88b8' + 'ffbc7f20785904ba64f108498aafe8b5a4c1de76c44aa5353ee3d7202f186408' + '1572c30c43e9e6d23d0f42c99c9501f092eae5d2bad2b0bc0eb694b295c0c473' + 'ef96dffc0dd3bb76b237c6e886d6d5cc154e25f5ed4d5f65643e272a58306327' + '73d9df72df2f55c19ddeb9241de818d39c8da3399eee55f306889dc3c11dc934' + '892bb35a340597c77da5310685cc47102cf2522fb01cbc6d1785016babc78727') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' diff --git a/qt5-base/mingw-w64-angle/README.md b/qt5-base/mingw-w64-angle/README.md new file mode 100644 index 00000000..3233d55b --- /dev/null +++ b/qt5-base/mingw-w64-angle/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 +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 diff --git a/qt5-base/mingw-w64-dynamic/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch b/qt5-base/mingw-w64-dynamic/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch deleted file mode 100644 index 7f9af672..00000000 --- a/qt5-base/mingw-w64-dynamic/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 -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 -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#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/qt5-base/mingw-w64-dynamic/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/qt5-base/mingw-w64-dynamic/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch new file mode 100644 index 00000000..366d882e --- /dev/null +++ b/qt5-base/mingw-w64-dynamic/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch @@ -0,0 +1,143 @@ +From ef02a56ff99e9c2352d1395b8deada3c3078887f Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Fri, 3 Feb 2017 18:30:51 +0100 +Subject: [PATCH 01/32] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++--------------- + 1 file changed, 37 insertions(+), 19 deletions(-) + +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 9f366e08b8..848837e732 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -1,11 +1,13 @@ + # +-# qmake configuration for win32-g++ ++# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++ + # +-# Written for MinGW-w64 / gcc 5.3 or higher ++# Written for cross compilation with mingw-w64 under GNU/Linux + # + # Cross compile example for i686-w64-mingw32-g++: +-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- ++# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- + # ++# 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(../common/gcc-base.conf) +@@ -14,12 +16,11 @@ include(../common/angle.conf) + include(../common/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 + # 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. +@@ -29,7 +30,7 @@ QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = bison -y + QMAKE_YACCFLAGS = -d +-QMAKE_CFLAGS += -fno-keep-inline-dllexport ++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_WARN_ON += -Wextra + + QMAKE_CFLAGS_SSE2 += -mstackrealign +@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + 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 = + +@@ -50,40 +52,56 @@ 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_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 + + 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 + ++PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++ + load(qt_config) +-- +2.16.2 + diff --git a/qt5-base/mingw-w64-dynamic/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/qt5-base/mingw-w64-dynamic/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch index 724babdd..44ef85cb 100644 --- a/qt5-base/mingw-w64-dynamic/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch +++ b/qt5-base/mingw-w64-dynamic/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch @@ -1,4 +1,4 @@ -From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001 +From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:36:53 +0200 Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL @@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0003-Use-external-ANGLE-library.patch b/qt5-base/mingw-w64-dynamic/0003-Use-external-ANGLE-library.patch index 54822d27..13599fa2 100644 --- a/qt5-base/mingw-w64-dynamic/0003-Use-external-ANGLE-library.patch +++ b/qt5-base/mingw-w64-dynamic/0003-Use-external-ANGLE-library.patch @@ -1,4 +1,4 @@ -From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001 +From f8025a3fcae7623f8e54299e0842ca45a71fb28d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:41:38 +0200 Subject: [PATCH 03/32] Use external ANGLE library @@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644 SUBDIRS += src_3rdparty_libpng src_3rdparty_freetype.depends += src_3rdparty_libpng -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/qt5-base/mingw-w64-dynamic/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index 5c87faac..f4eb00a2 100644 --- a/qt5-base/mingw-w64-dynamic/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch +++ b/qt5-base/mingw-w64-dynamic/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -1,4 +1,4 @@ -From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001 +From da616cd666c43e0189c1998ba827e5da9c189b04 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:48:51 +0200 Subject: [PATCH 04/32] Fix too many sections assemler error in OpenGL factory @@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644 HEADERS += opengl/qopengl.h \ opengl/qopengl_p.h \ -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0005-Make-sure-.pc-files-are-installed-correctly.patch b/qt5-base/mingw-w64-dynamic/0005-Make-sure-.pc-files-are-installed-correctly.patch index 6ca3d4f8..d2f42b13 100644 --- a/qt5-base/mingw-w64-dynamic/0005-Make-sure-.pc-files-are-installed-correctly.patch +++ b/qt5-base/mingw-w64-dynamic/0005-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,4 +1,4 @@ -From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001 +From 855124059e1ce75c1815a16056bfc7e91705ff93 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:54:12 +0200 Subject: [PATCH 05/32] Make sure *.pc files are installed correctly @@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/qt5-base/mingw-w64-dynamic/0006-Don-t-add-resource-files-to-LIBS-parameter.patch index 6c7a6dec..e8124738 100644 --- a/qt5-base/mingw-w64-dynamic/0006-Don-t-add-resource-files-to-LIBS-parameter.patch +++ b/qt5-base/mingw-w64-dynamic/0006-Don-t-add-resource-files-to-LIBS-parameter.patch @@ -1,4 +1,4 @@ -From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001 +From 615d341714c83d659008f714ca079f9df992001c Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:58:28 +0200 Subject: [PATCH 06/32] Don't add resource files to LIBS parameter @@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/qt5-base/mingw-w64-dynamic/0007-Prevent-debug-library-names-in-pkg-config-files.patch index 98d4bbde..67ab318b 100644 --- a/qt5-base/mingw-w64-dynamic/0007-Prevent-debug-library-names-in-pkg-config-files.patch +++ b/qt5-base/mingw-w64-dynamic/0007-Prevent-debug-library-names-in-pkg-config-files.patch @@ -1,4 +1,4 @@ -From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001 +From 70e8d38009cc5321680ef727ac160316e20161a6 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:01:14 +0200 Subject: [PATCH 07/32] Prevent debug library names in pkg-config files @@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0008-Fix-linking-against-shared-static-libpng.patch b/qt5-base/mingw-w64-dynamic/0008-Fix-linking-against-shared-static-libpng.patch index 13b1f738..a03ba70f 100644 --- a/qt5-base/mingw-w64-dynamic/0008-Fix-linking-against-shared-static-libpng.patch +++ b/qt5-base/mingw-w64-dynamic/0008-Fix-linking-against-shared-static-libpng.patch @@ -1,4 +1,4 @@ -From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001 +From 3ee91c980962788177b41fb49eed40bf74ccf745 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 26 Jan 2017 17:51:31 +0100 Subject: [PATCH 08/32] Fix linking against shared/static libpng @@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644 "use": [ { "lib": "zlib", "condition": "features.system-zlib" } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0009-Fix-linking-against-static-D-Bus.patch b/qt5-base/mingw-w64-dynamic/0009-Fix-linking-against-static-D-Bus.patch index bf620e71..6df520ca 100644 --- a/qt5-base/mingw-w64-dynamic/0009-Fix-linking-against-static-D-Bus.patch +++ b/qt5-base/mingw-w64-dynamic/0009-Fix-linking-against-static-D-Bus.patch @@ -1,4 +1,4 @@ -From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001 +From b136f177a24e438a2069c4f9c1d9b3a05db17b5c Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 19:36:25 +0100 Subject: [PATCH 09/32] Fix linking against static D-Bus @@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644 # include #else -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/qt5-base/mingw-w64-dynamic/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch index 93c1d12d..8da42cb9 100644 --- a/qt5-base/mingw-w64-dynamic/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch +++ b/qt5-base/mingw-w64-dynamic/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch @@ -1,4 +1,4 @@ -From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001 +From 4376a9888da599de6eaa14d1dcf83a0fe41193aa Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 18:28:10 +0200 Subject: [PATCH 10/32] Don't try to use debug version of D-Bus library @@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644 }, "condition": "config.win32 && features.shared" -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0011-Fix-linking-against-static-freetype2.patch b/qt5-base/mingw-w64-dynamic/0011-Fix-linking-against-static-freetype2.patch index 36bf7606..52bace86 100644 --- a/qt5-base/mingw-w64-dynamic/0011-Fix-linking-against-static-freetype2.patch +++ b/qt5-base/mingw-w64-dynamic/0011-Fix-linking-against-static-freetype2.patch @@ -1,4 +1,4 @@ -From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001 +From f622ed99d6d99283d7405cb0a96757c9e4922558 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 20:51:19 +0100 Subject: [PATCH 11/32] Fix linking against static freetype2 @@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644 }, "fontconfig": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0012-Fix-linking-against-static-harfbuzz.patch b/qt5-base/mingw-w64-dynamic/0012-Fix-linking-against-static-harfbuzz.patch index 796b9839..59c591e0 100644 --- a/qt5-base/mingw-w64-dynamic/0012-Fix-linking-against-static-harfbuzz.patch +++ b/qt5-base/mingw-w64-dynamic/0012-Fix-linking-against-static-harfbuzz.patch @@ -1,4 +1,4 @@ -From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001 +From 9a75cec77d9dfff3d283258b9b323819b9f820ca Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:22:56 +0200 Subject: [PATCH 12/32] Fix linking against static harfbuzz @@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644 }, "imf": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0013-Fix-linking-against-static-pcre.patch b/qt5-base/mingw-w64-dynamic/0013-Fix-linking-against-static-pcre.patch index cee71e74..47f776e6 100644 --- a/qt5-base/mingw-w64-dynamic/0013-Fix-linking-against-static-pcre.patch +++ b/qt5-base/mingw-w64-dynamic/0013-Fix-linking-against-static-pcre.patch @@ -1,4 +1,4 @@ -From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001 +From a9af38f04a32f596a168e066cb6d32f82a7154b4 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:24:01 +0200 Subject: [PATCH 13/32] Fix linking against static pcre @@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644 #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0014-Fix-linking-against-shared-static-MariaDB.patch b/qt5-base/mingw-w64-dynamic/0014-Fix-linking-against-shared-static-MariaDB.patch index 1d5d8bdb..0cb32167 100644 --- a/qt5-base/mingw-w64-dynamic/0014-Fix-linking-against-shared-static-MariaDB.patch +++ b/qt5-base/mingw-w64-dynamic/0014-Fix-linking-against-shared-static-MariaDB.patch @@ -1,4 +1,4 @@ -From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001 +From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:56:55 +0200 Subject: [PATCH 14/32] Fix linking against shared/static MariaDB @@ -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.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/qt5-base/mingw-w64-dynamic/0015-Fix-linking-against-shared-static-PostgreSQL.patch index c66730e9..a9876996 100644 --- a/qt5-base/mingw-w64-dynamic/0015-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/qt5-base/mingw-w64-dynamic/0015-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,4 +1,4 @@ -From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001 +From 0135efd090f0aa0402443a948f7de49adb837125 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:58:25 +0200 Subject: [PATCH 15/32] Fix linking against shared/static PostgreSQL @@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644 ] }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0016-Rename-qtmain-to-qt5main.patch b/qt5-base/mingw-w64-dynamic/0016-Rename-qtmain-to-qt5main.patch index 93a9c548..b669eef9 100644 --- a/qt5-base/mingw-w64-dynamic/0016-Rename-qtmain-to-qt5main.patch +++ b/qt5-base/mingw-w64-dynamic/0016-Rename-qtmain-to-qt5main.patch @@ -1,4 +1,4 @@ -From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001 +From d659c5369bd8059643edd4674d21e5b575c95b8e Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:25:40 +0200 Subject: [PATCH 16/32] Rename qtmain to qt5main @@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package --- mkspecs/features/create_cmake.prf | 4 ++-- mkspecs/features/win32/windows.prf | 2 +- + mkspecs/win32-g++/qmake.conf | 2 +- src/winmain/winmain.pro | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index bb5083c925..146e83ae67 100644 @@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644 !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \ QMAKE_LIBS += -L$$QT.core.libs CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 848837e732..ad924a7c2a 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro index 4140ae48de..9ae73db74b 100644 --- a/src/winmain/winmain.pro @@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644 CONFIG += static -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0017-Build-dynamic-host-libraries.patch b/qt5-base/mingw-w64-dynamic/0017-Build-dynamic-host-libraries.patch index 3535c055..ded139f1 100644 --- a/qt5-base/mingw-w64-dynamic/0017-Build-dynamic-host-libraries.patch +++ b/qt5-base/mingw-w64-dynamic/0017-Build-dynamic-host-libraries.patch @@ -1,4 +1,4 @@ -From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001 +From 64298314d16b0d4f60a868dff2c379af982b821d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:27:28 +0200 Subject: [PATCH 17/32] Build dynamic host libraries @@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644 -INSTALLS = lib +INSTALLS += lib -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0018-Enable-rpath-for-build-tools.patch b/qt5-base/mingw-w64-dynamic/0018-Enable-rpath-for-build-tools.patch index 499eab94..561e41eb 100644 --- a/qt5-base/mingw-w64-dynamic/0018-Enable-rpath-for-build-tools.patch +++ b/qt5-base/mingw-w64-dynamic/0018-Enable-rpath-for-build-tools.patch @@ -1,4 +1,4 @@ -From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001 +From 293c66efcd36c6ca5850d91847f0030c182aa336 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 17:59:27 +0200 Subject: [PATCH 18/32] Enable rpath for build tools @@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644 INSTALLS += target -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0019-Use-system-zlib-for-build-tools.patch b/qt5-base/mingw-w64-dynamic/0019-Use-system-zlib-for-build-tools.patch index 5bb33f85..f3846352 100644 --- a/qt5-base/mingw-w64-dynamic/0019-Use-system-zlib-for-build-tools.patch +++ b/qt5-base/mingw-w64-dynamic/0019-Use-system-zlib-for-build-tools.patch @@ -1,4 +1,4 @@ -From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001 +From 3351283ce62c1d728d245657aa9a81d5e8c43def Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:04:42 +0200 Subject: [PATCH 19/32] Use system zlib for build tools @@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644 } else { CONFIG += no_core_dep -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0020-Use-.dll.a-as-import-lib-extension.patch b/qt5-base/mingw-w64-dynamic/0020-Use-.dll.a-as-import-lib-extension.patch index 39d3af6e..effe2180 100644 --- a/qt5-base/mingw-w64-dynamic/0020-Use-.dll.a-as-import-lib-extension.patch +++ b/qt5-base/mingw-w64-dynamic/0020-Use-.dll.a-as-import-lib-extension.patch @@ -1,4 +1,4 @@ -From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001 +From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:26:18 +0200 Subject: [PATCH 20/32] Use *.dll.a as import lib extension @@ -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.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0021-Merge-shared-and-static-library-trees.patch b/qt5-base/mingw-w64-dynamic/0021-Merge-shared-and-static-library-trees.patch index c75ede7a..58dddb48 100644 --- a/qt5-base/mingw-w64-dynamic/0021-Merge-shared-and-static-library-trees.patch +++ b/qt5-base/mingw-w64-dynamic/0021-Merge-shared-and-static-library-trees.patch @@ -1,4 +1,4 @@ -From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001 +From 4c3092a30e8981125414d71fa481436ea4f917f5 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:45:08 +0200 Subject: [PATCH 21/32] Merge shared and static library trees @@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644 t << endl; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/qt5-base/mingw-w64-dynamic/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index d01739b9..9381ff7c 100644 --- a/qt5-base/mingw-w64-dynamic/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/qt5-base/mingw-w64-dynamic/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,4 +1,4 @@ -From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001 +From 9913c74ba93c506abaa5f13e02ac29e6cd82783d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:32:00 +0200 Subject: [PATCH 22/32] Pull dependencies of static libraries in CMake modules @@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644 } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0023-Allow-usage-of-static-version-with-CMake.patch b/qt5-base/mingw-w64-dynamic/0023-Allow-usage-of-static-version-with-CMake.patch index 9ea53096..bf68ad24 100644 --- a/qt5-base/mingw-w64-dynamic/0023-Allow-usage-of-static-version-with-CMake.patch +++ b/qt5-base/mingw-w64-dynamic/0023-Allow-usage-of-static-version-with-CMake.patch @@ -1,4 +1,4 @@ -From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001 +From 3955f9513c3c34351462b7c868da8b0650043393 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 5 Aug 2017 21:14:26 +0200 Subject: [PATCH 23/32] Allow usage of static version with CMake @@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/qt5-base/mingw-w64-dynamic/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index d463e883..71cfc865 100644 --- a/qt5-base/mingw-w64-dynamic/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/qt5-base/mingw-w64-dynamic/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,4 +1,4 @@ -From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001 +From 716349466294e9809c92303becf2fede7745f9fd Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 16:42:07 +0200 Subject: [PATCH 24/32] Adjust linker flags for static build with @@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644 +unset(_isExe) +!!ENDIF -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0025-Use-correct-pkg-config-static-flag.patch b/qt5-base/mingw-w64-dynamic/0025-Use-correct-pkg-config-static-flag.patch index db588595..c7b2b393 100644 --- a/qt5-base/mingw-w64-dynamic/0025-Use-correct-pkg-config-static-flag.patch +++ b/qt5-base/mingw-w64-dynamic/0025-Use-correct-pkg-config-static-flag.patch @@ -1,4 +1,4 @@ -From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001 +From 64df7c1f38cab38957670a7070260fedde236990 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:50:21 +0200 Subject: [PATCH 25/32] Use correct pkg-config --static flag @@ -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.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/qt5-base/mingw-w64-dynamic/0026-Fix-macro-invoking-moc-rcc-and-uic.patch index eedb6ba5..f593badd 100644 --- a/qt5-base/mingw-w64-dynamic/0026-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/qt5-base/mingw-w64-dynamic/0026-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,4 +1,4 @@ -From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001 +From b0cbcf49f288bc4e87c055b757505f745423c686 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 4 Dec 2016 20:35:47 +0100 Subject: [PATCH 26/32] Fix macro invoking moc, rcc and uic @@ -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.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0027-Ignore-errors-about-missing-feature-static.patch b/qt5-base/mingw-w64-dynamic/0027-Ignore-errors-about-missing-feature-static.patch index 2c7ef032..0504f1a8 100644 --- a/qt5-base/mingw-w64-dynamic/0027-Ignore-errors-about-missing-feature-static.patch +++ b/qt5-base/mingw-w64-dynamic/0027-Ignore-errors-about-missing-feature-static.patch @@ -1,4 +1,4 @@ -From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001 +From 43051c0832825089e058715e126baefa9071bc2d Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 20:59:54 +0100 Subject: [PATCH 27/32] Ignore errors about missing feature static @@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644 + !equals($$1, "static"): error("Could not find feature $${1}.") } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0028-Enable-and-fix-use-of-iconv.patch b/qt5-base/mingw-w64-dynamic/0028-Enable-and-fix-use-of-iconv.patch index 3ad2c176..2174a096 100644 --- a/qt5-base/mingw-w64-dynamic/0028-Enable-and-fix-use-of-iconv.patch +++ b/qt5-base/mingw-w64-dynamic/0028-Enable-and-fix-use-of-iconv.patch @@ -1,4 +1,4 @@ -From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001 +From 64a634598092a7cbeca267f3dc0860a3105ed329 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:20 +0100 Subject: [PATCH 28/32] Enable and fix use of iconv @@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644 }, "icu": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0029-Ignore-failing-pkg-config-test.patch b/qt5-base/mingw-w64-dynamic/0029-Ignore-failing-pkg-config-test.patch index 16250b8d..5eda88ca 100644 --- a/qt5-base/mingw-w64-dynamic/0029-Ignore-failing-pkg-config-test.patch +++ b/qt5-base/mingw-w64-dynamic/0029-Ignore-failing-pkg-config-test.patch @@ -1,4 +1,4 @@ -From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001 +From 9d139e94af7e18e965732684864d75ac1ee015f2 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:48 +0100 Subject: [PATCH 29/32] Ignore failing pkg-config test @@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/qt5-base/mingw-w64-dynamic/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch index 33aee858..4d54a65d 100644 --- a/qt5-base/mingw-w64-dynamic/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/qt5-base/mingw-w64-dynamic/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,4 +1,4 @@ -From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001 +From d360972109bd354d675499efc4e00ee9ed8da3c9 Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 7 Feb 2017 18:25:28 +0100 Subject: [PATCH 30/32] Prevent qmake from messing static lib dependencies @@ -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.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0031-Hardcode-linker-flags-for-platform-plugins.patch b/qt5-base/mingw-w64-dynamic/0031-Hardcode-linker-flags-for-platform-plugins.patch index 807a40e7..b9816492 100644 --- a/qt5-base/mingw-w64-dynamic/0031-Hardcode-linker-flags-for-platform-plugins.patch +++ b/qt5-base/mingw-w64-dynamic/0031-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,4 +1,4 @@ -From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001 +From 28f289f8b87da3bd244f8c63ead918f0922a4358 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 23:42:30 +0100 Subject: [PATCH 31/32] Hardcode linker flags for platform plugins @@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644 include(windows.pri) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-dynamic/0032-Fix-linking-against-static-plugins-with-qmake.patch b/qt5-base/mingw-w64-dynamic/0032-Fix-linking-against-static-plugins-with-qmake.patch index 6b7b9f0d..71c7be17 100644 --- a/qt5-base/mingw-w64-dynamic/0032-Fix-linking-against-static-plugins-with-qmake.patch +++ b/qt5-base/mingw-w64-dynamic/0032-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,4 +1,4 @@ -From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001 +From 27d8e6e51cefad3de5e863f1217fd2bcc0b28f30 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 25 Aug 2017 17:07:17 +0200 Subject: [PATCH 32/32] Fix linking against static plugins with qmake @@ -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.16.2 diff --git a/qt5-base/mingw-w64-dynamic/PKGBUILD b/qt5-base/mingw-w64-dynamic/PKGBUILD index c5794cb4..181bfd92 100644 --- a/qt5-base/mingw-w64-dynamic/PKGBUILD +++ b/qt5-base/mingw-w64-dynamic/PKGBUILD @@ -3,62 +3,14 @@ # Contributor: Filip Brcic # Contributor: jellysheep +# 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 -# 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' ]] @@ -85,7 +37,7 @@ isNoOpenGL() { pkgname=mingw-w64-qt5-base-dynamic pkgver=5.10.1 -pkgrel=1 +pkgrel=2 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 isStatic && arch=('any') || arch=('i686' 'x86_64') @@ -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' @@ -133,38 +85,38 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm '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') + '1c482310bbfef78733a2013f42e505657059e720cf139ddcf5ad692c4dbf06b1' + '45a1020a351931b7171e55ef8165d2cc4af3bf2473b142daa51f3b5b15c447f3' + 'ceb05dabed9fa2fc781e5abcfb54285960267922bac753df4179831a240da9b7' + 'c4138094696342f8f976c01c9ce66919ae38802f36d3280b47883446e8d74bf9' + '2f99ae05056636b434bf7a533db6de7561c6f6e3fe8e854b4e9a182e30c684b3' + 'fa69c484d557f45b1929e0b4be6328837717337155477a8fab3f9ea59731c749' + '57de459c6af72293560afcf7a872b1a4b10badd986c1fc1b43d7aaf55caf52c5' + '58e6f6a0271e82be5b7560a247cb70809169148e6413c473e2c3fed97e5d1c45' + 'ea39d2b90a848a4c36a7685688283b773ff2ed5e6912be52a943f31376eefc81' + 'b8f5a6a707f20cce64d9e5f04c35c555d7d14cd20344510205babc9a5698a15a' + 'b1eaea87c7d7b774657feb4745450ab4e423c158ff81c144d724dcd8ac950c6f' + '8092fe23e35906b9a967ec78e1892769f06f1699c4c177ea0814876fb7c423d2' + '4b73f19e254466e5e4d13459088f773a44c9f05033ad5d29995c5116f18f999d' + '6a1411e406efab5521af71b2b8cf122c8443157114799f23d3e2cd1dc59c8e14' + '52b0fc09f05d1ca2efbf3a046cf933e72dae4bfd63026298fd60360103106c5a' + '30b5bded4f2e3ac5e4c83412c92afe0ad604e3eb18a94a3357f220b5e0456d86' + '1a18636d6089fe49ae7e0592dad6d71a1466aa0fc2d033ca926c14e468aff0c9' + '9710090523aefca66211bd8b74bcdc650125299912b735ba4845408e9e860649' + '551f05ad17737fe8b9b00c24a3a5539988455cbb706458e44c3df2df56599f63' + 'd2f5aaacd2be586cfab27a23120a9f21749c1ac96664071c399f91097274ec89' + '23878d79148e4db9e1c5ba2e6e6d2ced259b64aa1ba2f1503ab9938863b2104f' + '30f5b6c738609a8ac03f806b86a632c3cf6d85b56e038f812d46358b592cc427' + '2782b7eb4f55cb5905b5bcb8387ad3a7130727b036b0fc482b1294380862f5d1' + '156e720e4ad44f257019dbe2fe1eef7b7a27989307f8a9f53072f4cbe178c655' + '53088ce6f9a22ee1735fb8b7145ce569ac1914ac05fb947ca3afae39d3cb3199' + 'e61f2fd0c91c72822c1074844897641ce1c9500423b4c646aa8ae1671f9f967b' + 'cccad985154167818657d0561ec349cb75931a0a64a689ab51041337d73a88b8' + 'ffbc7f20785904ba64f108498aafe8b5a4c1de76c44aa5353ee3d7202f186408' + '1572c30c43e9e6d23d0f42c99c9501f092eae5d2bad2b0bc0eb694b295c0c473' + 'ef96dffc0dd3bb76b237c6e886d6d5cc154e25f5ed4d5f65643e272a58306327' + '73d9df72df2f55c19ddeb9241de818d39c8da3399eee55f306889dc3c11dc934' + '892bb35a340597c77da5310685cc47102cf2522fb01cbc6d1785016babc78727') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' diff --git a/qt5-base/mingw-w64-dynamic/README.md b/qt5-base/mingw-w64-dynamic/README.md new file mode 100644 index 00000000..3233d55b --- /dev/null +++ b/qt5-base/mingw-w64-dynamic/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 +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 diff --git a/qt5-base/mingw-w64-static/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch b/qt5-base/mingw-w64-static/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch deleted file mode 100644 index 7f9af672..00000000 --- a/qt5-base/mingw-w64-static/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 -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 -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#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/qt5-base/mingw-w64-static/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/qt5-base/mingw-w64-static/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch new file mode 100644 index 00000000..366d882e --- /dev/null +++ b/qt5-base/mingw-w64-static/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch @@ -0,0 +1,143 @@ +From ef02a56ff99e9c2352d1395b8deada3c3078887f Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Fri, 3 Feb 2017 18:30:51 +0100 +Subject: [PATCH 01/32] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++--------------- + 1 file changed, 37 insertions(+), 19 deletions(-) + +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 9f366e08b8..848837e732 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -1,11 +1,13 @@ + # +-# qmake configuration for win32-g++ ++# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++ + # +-# Written for MinGW-w64 / gcc 5.3 or higher ++# Written for cross compilation with mingw-w64 under GNU/Linux + # + # Cross compile example for i686-w64-mingw32-g++: +-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- ++# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- + # ++# 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(../common/gcc-base.conf) +@@ -14,12 +16,11 @@ include(../common/angle.conf) + include(../common/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 + # 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. +@@ -29,7 +30,7 @@ QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = bison -y + QMAKE_YACCFLAGS = -d +-QMAKE_CFLAGS += -fno-keep-inline-dllexport ++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_WARN_ON += -Wextra + + QMAKE_CFLAGS_SSE2 += -mstackrealign +@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + 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 = + +@@ -50,40 +52,56 @@ 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_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 + + 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 + ++PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++ + load(qt_config) +-- +2.16.2 + diff --git a/qt5-base/mingw-w64-static/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/qt5-base/mingw-w64-static/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch index 724babdd..44ef85cb 100644 --- a/qt5-base/mingw-w64-static/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch +++ b/qt5-base/mingw-w64-static/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch @@ -1,4 +1,4 @@ -From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001 +From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:36:53 +0200 Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL @@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0003-Use-external-ANGLE-library.patch b/qt5-base/mingw-w64-static/0003-Use-external-ANGLE-library.patch index 54822d27..13599fa2 100644 --- a/qt5-base/mingw-w64-static/0003-Use-external-ANGLE-library.patch +++ b/qt5-base/mingw-w64-static/0003-Use-external-ANGLE-library.patch @@ -1,4 +1,4 @@ -From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001 +From f8025a3fcae7623f8e54299e0842ca45a71fb28d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:41:38 +0200 Subject: [PATCH 03/32] Use external ANGLE library @@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644 SUBDIRS += src_3rdparty_libpng src_3rdparty_freetype.depends += src_3rdparty_libpng -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/qt5-base/mingw-w64-static/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index 5c87faac..f4eb00a2 100644 --- a/qt5-base/mingw-w64-static/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch +++ b/qt5-base/mingw-w64-static/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -1,4 +1,4 @@ -From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001 +From da616cd666c43e0189c1998ba827e5da9c189b04 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:48:51 +0200 Subject: [PATCH 04/32] Fix too many sections assemler error in OpenGL factory @@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644 HEADERS += opengl/qopengl.h \ opengl/qopengl_p.h \ -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0005-Make-sure-.pc-files-are-installed-correctly.patch b/qt5-base/mingw-w64-static/0005-Make-sure-.pc-files-are-installed-correctly.patch index 6ca3d4f8..d2f42b13 100644 --- a/qt5-base/mingw-w64-static/0005-Make-sure-.pc-files-are-installed-correctly.patch +++ b/qt5-base/mingw-w64-static/0005-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,4 +1,4 @@ -From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001 +From 855124059e1ce75c1815a16056bfc7e91705ff93 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:54:12 +0200 Subject: [PATCH 05/32] Make sure *.pc files are installed correctly @@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/qt5-base/mingw-w64-static/0006-Don-t-add-resource-files-to-LIBS-parameter.patch index 6c7a6dec..e8124738 100644 --- a/qt5-base/mingw-w64-static/0006-Don-t-add-resource-files-to-LIBS-parameter.patch +++ b/qt5-base/mingw-w64-static/0006-Don-t-add-resource-files-to-LIBS-parameter.patch @@ -1,4 +1,4 @@ -From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001 +From 615d341714c83d659008f714ca079f9df992001c Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:58:28 +0200 Subject: [PATCH 06/32] Don't add resource files to LIBS parameter @@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/qt5-base/mingw-w64-static/0007-Prevent-debug-library-names-in-pkg-config-files.patch index 98d4bbde..67ab318b 100644 --- a/qt5-base/mingw-w64-static/0007-Prevent-debug-library-names-in-pkg-config-files.patch +++ b/qt5-base/mingw-w64-static/0007-Prevent-debug-library-names-in-pkg-config-files.patch @@ -1,4 +1,4 @@ -From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001 +From 70e8d38009cc5321680ef727ac160316e20161a6 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:01:14 +0200 Subject: [PATCH 07/32] Prevent debug library names in pkg-config files @@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0008-Fix-linking-against-shared-static-libpng.patch b/qt5-base/mingw-w64-static/0008-Fix-linking-against-shared-static-libpng.patch index 13b1f738..a03ba70f 100644 --- a/qt5-base/mingw-w64-static/0008-Fix-linking-against-shared-static-libpng.patch +++ b/qt5-base/mingw-w64-static/0008-Fix-linking-against-shared-static-libpng.patch @@ -1,4 +1,4 @@ -From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001 +From 3ee91c980962788177b41fb49eed40bf74ccf745 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 26 Jan 2017 17:51:31 +0100 Subject: [PATCH 08/32] Fix linking against shared/static libpng @@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644 "use": [ { "lib": "zlib", "condition": "features.system-zlib" } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0009-Fix-linking-against-static-D-Bus.patch b/qt5-base/mingw-w64-static/0009-Fix-linking-against-static-D-Bus.patch index bf620e71..6df520ca 100644 --- a/qt5-base/mingw-w64-static/0009-Fix-linking-against-static-D-Bus.patch +++ b/qt5-base/mingw-w64-static/0009-Fix-linking-against-static-D-Bus.patch @@ -1,4 +1,4 @@ -From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001 +From b136f177a24e438a2069c4f9c1d9b3a05db17b5c Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 19:36:25 +0100 Subject: [PATCH 09/32] Fix linking against static D-Bus @@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644 # include #else -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/qt5-base/mingw-w64-static/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch index 93c1d12d..8da42cb9 100644 --- a/qt5-base/mingw-w64-static/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch +++ b/qt5-base/mingw-w64-static/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch @@ -1,4 +1,4 @@ -From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001 +From 4376a9888da599de6eaa14d1dcf83a0fe41193aa Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 18:28:10 +0200 Subject: [PATCH 10/32] Don't try to use debug version of D-Bus library @@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644 }, "condition": "config.win32 && features.shared" -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0011-Fix-linking-against-static-freetype2.patch b/qt5-base/mingw-w64-static/0011-Fix-linking-against-static-freetype2.patch index 36bf7606..52bace86 100644 --- a/qt5-base/mingw-w64-static/0011-Fix-linking-against-static-freetype2.patch +++ b/qt5-base/mingw-w64-static/0011-Fix-linking-against-static-freetype2.patch @@ -1,4 +1,4 @@ -From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001 +From f622ed99d6d99283d7405cb0a96757c9e4922558 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 20:51:19 +0100 Subject: [PATCH 11/32] Fix linking against static freetype2 @@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644 }, "fontconfig": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0012-Fix-linking-against-static-harfbuzz.patch b/qt5-base/mingw-w64-static/0012-Fix-linking-against-static-harfbuzz.patch index 796b9839..59c591e0 100644 --- a/qt5-base/mingw-w64-static/0012-Fix-linking-against-static-harfbuzz.patch +++ b/qt5-base/mingw-w64-static/0012-Fix-linking-against-static-harfbuzz.patch @@ -1,4 +1,4 @@ -From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001 +From 9a75cec77d9dfff3d283258b9b323819b9f820ca Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:22:56 +0200 Subject: [PATCH 12/32] Fix linking against static harfbuzz @@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644 }, "imf": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0013-Fix-linking-against-static-pcre.patch b/qt5-base/mingw-w64-static/0013-Fix-linking-against-static-pcre.patch index cee71e74..47f776e6 100644 --- a/qt5-base/mingw-w64-static/0013-Fix-linking-against-static-pcre.patch +++ b/qt5-base/mingw-w64-static/0013-Fix-linking-against-static-pcre.patch @@ -1,4 +1,4 @@ -From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001 +From a9af38f04a32f596a168e066cb6d32f82a7154b4 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:24:01 +0200 Subject: [PATCH 13/32] Fix linking against static pcre @@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644 #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0014-Fix-linking-against-shared-static-MariaDB.patch b/qt5-base/mingw-w64-static/0014-Fix-linking-against-shared-static-MariaDB.patch index 1d5d8bdb..0cb32167 100644 --- a/qt5-base/mingw-w64-static/0014-Fix-linking-against-shared-static-MariaDB.patch +++ b/qt5-base/mingw-w64-static/0014-Fix-linking-against-shared-static-MariaDB.patch @@ -1,4 +1,4 @@ -From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001 +From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:56:55 +0200 Subject: [PATCH 14/32] Fix linking against shared/static MariaDB @@ -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.16.2 diff --git a/qt5-base/mingw-w64-static/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/qt5-base/mingw-w64-static/0015-Fix-linking-against-shared-static-PostgreSQL.patch index c66730e9..a9876996 100644 --- a/qt5-base/mingw-w64-static/0015-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/qt5-base/mingw-w64-static/0015-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,4 +1,4 @@ -From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001 +From 0135efd090f0aa0402443a948f7de49adb837125 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:58:25 +0200 Subject: [PATCH 15/32] Fix linking against shared/static PostgreSQL @@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644 ] }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0016-Rename-qtmain-to-qt5main.patch b/qt5-base/mingw-w64-static/0016-Rename-qtmain-to-qt5main.patch index 93a9c548..b669eef9 100644 --- a/qt5-base/mingw-w64-static/0016-Rename-qtmain-to-qt5main.patch +++ b/qt5-base/mingw-w64-static/0016-Rename-qtmain-to-qt5main.patch @@ -1,4 +1,4 @@ -From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001 +From d659c5369bd8059643edd4674d21e5b575c95b8e Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:25:40 +0200 Subject: [PATCH 16/32] Rename qtmain to qt5main @@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package --- mkspecs/features/create_cmake.prf | 4 ++-- mkspecs/features/win32/windows.prf | 2 +- + mkspecs/win32-g++/qmake.conf | 2 +- src/winmain/winmain.pro | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index bb5083c925..146e83ae67 100644 @@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644 !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \ QMAKE_LIBS += -L$$QT.core.libs CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 848837e732..ad924a7c2a 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro index 4140ae48de..9ae73db74b 100644 --- a/src/winmain/winmain.pro @@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644 CONFIG += static -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0017-Build-dynamic-host-libraries.patch b/qt5-base/mingw-w64-static/0017-Build-dynamic-host-libraries.patch index 3535c055..ded139f1 100644 --- a/qt5-base/mingw-w64-static/0017-Build-dynamic-host-libraries.patch +++ b/qt5-base/mingw-w64-static/0017-Build-dynamic-host-libraries.patch @@ -1,4 +1,4 @@ -From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001 +From 64298314d16b0d4f60a868dff2c379af982b821d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:27:28 +0200 Subject: [PATCH 17/32] Build dynamic host libraries @@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644 -INSTALLS = lib +INSTALLS += lib -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0018-Enable-rpath-for-build-tools.patch b/qt5-base/mingw-w64-static/0018-Enable-rpath-for-build-tools.patch index 499eab94..561e41eb 100644 --- a/qt5-base/mingw-w64-static/0018-Enable-rpath-for-build-tools.patch +++ b/qt5-base/mingw-w64-static/0018-Enable-rpath-for-build-tools.patch @@ -1,4 +1,4 @@ -From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001 +From 293c66efcd36c6ca5850d91847f0030c182aa336 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 17:59:27 +0200 Subject: [PATCH 18/32] Enable rpath for build tools @@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644 INSTALLS += target -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0019-Use-system-zlib-for-build-tools.patch b/qt5-base/mingw-w64-static/0019-Use-system-zlib-for-build-tools.patch index 5bb33f85..f3846352 100644 --- a/qt5-base/mingw-w64-static/0019-Use-system-zlib-for-build-tools.patch +++ b/qt5-base/mingw-w64-static/0019-Use-system-zlib-for-build-tools.patch @@ -1,4 +1,4 @@ -From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001 +From 3351283ce62c1d728d245657aa9a81d5e8c43def Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:04:42 +0200 Subject: [PATCH 19/32] Use system zlib for build tools @@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644 } else { CONFIG += no_core_dep -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0020-Use-.dll.a-as-import-lib-extension.patch b/qt5-base/mingw-w64-static/0020-Use-.dll.a-as-import-lib-extension.patch index 39d3af6e..effe2180 100644 --- a/qt5-base/mingw-w64-static/0020-Use-.dll.a-as-import-lib-extension.patch +++ b/qt5-base/mingw-w64-static/0020-Use-.dll.a-as-import-lib-extension.patch @@ -1,4 +1,4 @@ -From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001 +From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:26:18 +0200 Subject: [PATCH 20/32] Use *.dll.a as import lib extension @@ -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.16.2 diff --git a/qt5-base/mingw-w64-static/0021-Merge-shared-and-static-library-trees.patch b/qt5-base/mingw-w64-static/0021-Merge-shared-and-static-library-trees.patch index c75ede7a..58dddb48 100644 --- a/qt5-base/mingw-w64-static/0021-Merge-shared-and-static-library-trees.patch +++ b/qt5-base/mingw-w64-static/0021-Merge-shared-and-static-library-trees.patch @@ -1,4 +1,4 @@ -From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001 +From 4c3092a30e8981125414d71fa481436ea4f917f5 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:45:08 +0200 Subject: [PATCH 21/32] Merge shared and static library trees @@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644 t << endl; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/qt5-base/mingw-w64-static/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index d01739b9..9381ff7c 100644 --- a/qt5-base/mingw-w64-static/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/qt5-base/mingw-w64-static/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,4 +1,4 @@ -From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001 +From 9913c74ba93c506abaa5f13e02ac29e6cd82783d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:32:00 +0200 Subject: [PATCH 22/32] Pull dependencies of static libraries in CMake modules @@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644 } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0023-Allow-usage-of-static-version-with-CMake.patch b/qt5-base/mingw-w64-static/0023-Allow-usage-of-static-version-with-CMake.patch index 9ea53096..bf68ad24 100644 --- a/qt5-base/mingw-w64-static/0023-Allow-usage-of-static-version-with-CMake.patch +++ b/qt5-base/mingw-w64-static/0023-Allow-usage-of-static-version-with-CMake.patch @@ -1,4 +1,4 @@ -From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001 +From 3955f9513c3c34351462b7c868da8b0650043393 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 5 Aug 2017 21:14:26 +0200 Subject: [PATCH 23/32] Allow usage of static version with CMake @@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/qt5-base/mingw-w64-static/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index d463e883..71cfc865 100644 --- a/qt5-base/mingw-w64-static/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/qt5-base/mingw-w64-static/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,4 +1,4 @@ -From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001 +From 716349466294e9809c92303becf2fede7745f9fd Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 16:42:07 +0200 Subject: [PATCH 24/32] Adjust linker flags for static build with @@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644 +unset(_isExe) +!!ENDIF -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0025-Use-correct-pkg-config-static-flag.patch b/qt5-base/mingw-w64-static/0025-Use-correct-pkg-config-static-flag.patch index db588595..c7b2b393 100644 --- a/qt5-base/mingw-w64-static/0025-Use-correct-pkg-config-static-flag.patch +++ b/qt5-base/mingw-w64-static/0025-Use-correct-pkg-config-static-flag.patch @@ -1,4 +1,4 @@ -From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001 +From 64df7c1f38cab38957670a7070260fedde236990 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:50:21 +0200 Subject: [PATCH 25/32] Use correct pkg-config --static flag @@ -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.16.2 diff --git a/qt5-base/mingw-w64-static/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/qt5-base/mingw-w64-static/0026-Fix-macro-invoking-moc-rcc-and-uic.patch index eedb6ba5..f593badd 100644 --- a/qt5-base/mingw-w64-static/0026-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/qt5-base/mingw-w64-static/0026-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,4 +1,4 @@ -From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001 +From b0cbcf49f288bc4e87c055b757505f745423c686 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 4 Dec 2016 20:35:47 +0100 Subject: [PATCH 26/32] Fix macro invoking moc, rcc and uic @@ -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.16.2 diff --git a/qt5-base/mingw-w64-static/0027-Ignore-errors-about-missing-feature-static.patch b/qt5-base/mingw-w64-static/0027-Ignore-errors-about-missing-feature-static.patch index 2c7ef032..0504f1a8 100644 --- a/qt5-base/mingw-w64-static/0027-Ignore-errors-about-missing-feature-static.patch +++ b/qt5-base/mingw-w64-static/0027-Ignore-errors-about-missing-feature-static.patch @@ -1,4 +1,4 @@ -From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001 +From 43051c0832825089e058715e126baefa9071bc2d Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 20:59:54 +0100 Subject: [PATCH 27/32] Ignore errors about missing feature static @@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644 + !equals($$1, "static"): error("Could not find feature $${1}.") } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0028-Enable-and-fix-use-of-iconv.patch b/qt5-base/mingw-w64-static/0028-Enable-and-fix-use-of-iconv.patch index 3ad2c176..2174a096 100644 --- a/qt5-base/mingw-w64-static/0028-Enable-and-fix-use-of-iconv.patch +++ b/qt5-base/mingw-w64-static/0028-Enable-and-fix-use-of-iconv.patch @@ -1,4 +1,4 @@ -From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001 +From 64a634598092a7cbeca267f3dc0860a3105ed329 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:20 +0100 Subject: [PATCH 28/32] Enable and fix use of iconv @@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644 }, "icu": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0029-Ignore-failing-pkg-config-test.patch b/qt5-base/mingw-w64-static/0029-Ignore-failing-pkg-config-test.patch index 16250b8d..5eda88ca 100644 --- a/qt5-base/mingw-w64-static/0029-Ignore-failing-pkg-config-test.patch +++ b/qt5-base/mingw-w64-static/0029-Ignore-failing-pkg-config-test.patch @@ -1,4 +1,4 @@ -From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001 +From 9d139e94af7e18e965732684864d75ac1ee015f2 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:48 +0100 Subject: [PATCH 29/32] Ignore failing pkg-config test @@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/qt5-base/mingw-w64-static/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch index 33aee858..4d54a65d 100644 --- a/qt5-base/mingw-w64-static/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/qt5-base/mingw-w64-static/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,4 +1,4 @@ -From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001 +From d360972109bd354d675499efc4e00ee9ed8da3c9 Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 7 Feb 2017 18:25:28 +0100 Subject: [PATCH 30/32] Prevent qmake from messing static lib dependencies @@ -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.16.2 diff --git a/qt5-base/mingw-w64-static/0031-Hardcode-linker-flags-for-platform-plugins.patch b/qt5-base/mingw-w64-static/0031-Hardcode-linker-flags-for-platform-plugins.patch index 807a40e7..b9816492 100644 --- a/qt5-base/mingw-w64-static/0031-Hardcode-linker-flags-for-platform-plugins.patch +++ b/qt5-base/mingw-w64-static/0031-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,4 +1,4 @@ -From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001 +From 28f289f8b87da3bd244f8c63ead918f0922a4358 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 23:42:30 +0100 Subject: [PATCH 31/32] Hardcode linker flags for platform plugins @@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644 include(windows.pri) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64-static/0032-Fix-linking-against-static-plugins-with-qmake.patch b/qt5-base/mingw-w64-static/0032-Fix-linking-against-static-plugins-with-qmake.patch index 6b7b9f0d..71c7be17 100644 --- a/qt5-base/mingw-w64-static/0032-Fix-linking-against-static-plugins-with-qmake.patch +++ b/qt5-base/mingw-w64-static/0032-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,4 +1,4 @@ -From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001 +From 27d8e6e51cefad3de5e863f1217fd2bcc0b28f30 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 25 Aug 2017 17:07:17 +0200 Subject: [PATCH 32/32] Fix linking against static plugins with qmake @@ -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.16.2 diff --git a/qt5-base/mingw-w64-static/PKGBUILD b/qt5-base/mingw-w64-static/PKGBUILD index c481b094..dbbcc8fd 100644 --- a/qt5-base/mingw-w64-static/PKGBUILD +++ b/qt5-base/mingw-w64-static/PKGBUILD @@ -3,62 +3,14 @@ # Contributor: Filip Brcic # Contributor: jellysheep +# 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 -# 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' ]] @@ -85,7 +37,7 @@ isNoOpenGL() { pkgname=mingw-w64-qt5-base-static pkgver=5.10.1 -pkgrel=1 +pkgrel=2 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 isStatic && arch=('any') || arch=('i686' 'x86_64') @@ -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' @@ -133,38 +85,38 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm '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') + '1c482310bbfef78733a2013f42e505657059e720cf139ddcf5ad692c4dbf06b1' + '45a1020a351931b7171e55ef8165d2cc4af3bf2473b142daa51f3b5b15c447f3' + 'ceb05dabed9fa2fc781e5abcfb54285960267922bac753df4179831a240da9b7' + 'c4138094696342f8f976c01c9ce66919ae38802f36d3280b47883446e8d74bf9' + '2f99ae05056636b434bf7a533db6de7561c6f6e3fe8e854b4e9a182e30c684b3' + 'fa69c484d557f45b1929e0b4be6328837717337155477a8fab3f9ea59731c749' + '57de459c6af72293560afcf7a872b1a4b10badd986c1fc1b43d7aaf55caf52c5' + '58e6f6a0271e82be5b7560a247cb70809169148e6413c473e2c3fed97e5d1c45' + 'ea39d2b90a848a4c36a7685688283b773ff2ed5e6912be52a943f31376eefc81' + 'b8f5a6a707f20cce64d9e5f04c35c555d7d14cd20344510205babc9a5698a15a' + 'b1eaea87c7d7b774657feb4745450ab4e423c158ff81c144d724dcd8ac950c6f' + '8092fe23e35906b9a967ec78e1892769f06f1699c4c177ea0814876fb7c423d2' + '4b73f19e254466e5e4d13459088f773a44c9f05033ad5d29995c5116f18f999d' + '6a1411e406efab5521af71b2b8cf122c8443157114799f23d3e2cd1dc59c8e14' + '52b0fc09f05d1ca2efbf3a046cf933e72dae4bfd63026298fd60360103106c5a' + '30b5bded4f2e3ac5e4c83412c92afe0ad604e3eb18a94a3357f220b5e0456d86' + '1a18636d6089fe49ae7e0592dad6d71a1466aa0fc2d033ca926c14e468aff0c9' + '9710090523aefca66211bd8b74bcdc650125299912b735ba4845408e9e860649' + '551f05ad17737fe8b9b00c24a3a5539988455cbb706458e44c3df2df56599f63' + 'd2f5aaacd2be586cfab27a23120a9f21749c1ac96664071c399f91097274ec89' + '23878d79148e4db9e1c5ba2e6e6d2ced259b64aa1ba2f1503ab9938863b2104f' + '30f5b6c738609a8ac03f806b86a632c3cf6d85b56e038f812d46358b592cc427' + '2782b7eb4f55cb5905b5bcb8387ad3a7130727b036b0fc482b1294380862f5d1' + '156e720e4ad44f257019dbe2fe1eef7b7a27989307f8a9f53072f4cbe178c655' + '53088ce6f9a22ee1735fb8b7145ce569ac1914ac05fb947ca3afae39d3cb3199' + 'e61f2fd0c91c72822c1074844897641ce1c9500423b4c646aa8ae1671f9f967b' + 'cccad985154167818657d0561ec349cb75931a0a64a689ab51041337d73a88b8' + 'ffbc7f20785904ba64f108498aafe8b5a4c1de76c44aa5353ee3d7202f186408' + '1572c30c43e9e6d23d0f42c99c9501f092eae5d2bad2b0bc0eb694b295c0c473' + 'ef96dffc0dd3bb76b237c6e886d6d5cc154e25f5ed4d5f65643e272a58306327' + '73d9df72df2f55c19ddeb9241de818d39c8da3399eee55f306889dc3c11dc934' + '892bb35a340597c77da5310685cc47102cf2522fb01cbc6d1785016babc78727') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' diff --git a/qt5-base/mingw-w64-static/README.md b/qt5-base/mingw-w64-static/README.md new file mode 100644 index 00000000..3233d55b --- /dev/null +++ b/qt5-base/mingw-w64-static/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 +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 diff --git a/qt5-base/mingw-w64/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch b/qt5-base/mingw-w64/0001-Add-profile-for-cross-compilation-with-mingw-w64.patch deleted file mode 100644 index 7f9af672..00000000 --- a/qt5-base/mingw-w64/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 -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 -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#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/qt5-base/mingw-w64/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/qt5-base/mingw-w64/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch new file mode 100644 index 00000000..366d882e --- /dev/null +++ b/qt5-base/mingw-w64/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch @@ -0,0 +1,143 @@ +From ef02a56ff99e9c2352d1395b8deada3c3078887f Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Fri, 3 Feb 2017 18:30:51 +0100 +Subject: [PATCH 01/32] 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/win32-g++/qmake.conf | 56 +++++++++++++++++++++++++++++--------------- + 1 file changed, 37 insertions(+), 19 deletions(-) + +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 9f366e08b8..848837e732 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -1,11 +1,13 @@ + # +-# qmake configuration for win32-g++ ++# qmake configuration for i686-w64-mingw32-g++ and x86_64-w64-mingw32-g++ + # +-# Written for MinGW-w64 / gcc 5.3 or higher ++# Written for cross compilation with mingw-w64 under GNU/Linux + # + # Cross compile example for i686-w64-mingw32-g++: +-# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- ++# configure -xplatform mingw-w64-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- + # ++# 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(../common/gcc-base.conf) +@@ -14,12 +16,11 @@ include(../common/angle.conf) + include(../common/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 + # 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. +@@ -29,7 +30,7 @@ QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = bison -y + QMAKE_YACCFLAGS = -d +-QMAKE_CFLAGS += -fno-keep-inline-dllexport ++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_WARN_ON += -Wextra + + QMAKE_CFLAGS_SSE2 += -mstackrealign +@@ -40,6 +41,7 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON + 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 = + +@@ -50,40 +52,56 @@ 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_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 + + 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 + ++PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config ++ + load(qt_config) +-- +2.16.2 + diff --git a/qt5-base/mingw-w64/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/qt5-base/mingw-w64/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch index 724babdd..44ef85cb 100644 --- a/qt5-base/mingw-w64/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch +++ b/qt5-base/mingw-w64/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch @@ -1,4 +1,4 @@ -From e2c07e461564d363b8692b5b5de067c892259a36 Mon Sep 17 00:00:00 2001 +From f499d198b99ae5338ab85f7b65bf3dbcf9fba263 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:36:53 +0200 Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL @@ -23,5 +23,5 @@ index 0a5de2c9af..35798a2a28 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0003-Use-external-ANGLE-library.patch b/qt5-base/mingw-w64/0003-Use-external-ANGLE-library.patch index 54822d27..13599fa2 100644 --- a/qt5-base/mingw-w64/0003-Use-external-ANGLE-library.patch +++ b/qt5-base/mingw-w64/0003-Use-external-ANGLE-library.patch @@ -1,4 +1,4 @@ -From 84d1b9f6d84e46ee756761d0a9cc264d067b9250 Mon Sep 17 00:00:00 2001 +From f8025a3fcae7623f8e54299e0842ca45a71fb28d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:41:38 +0200 Subject: [PATCH 03/32] Use external ANGLE library @@ -93,5 +93,5 @@ index a73729a760..32d9f8502a 100644 SUBDIRS += src_3rdparty_libpng src_3rdparty_freetype.depends += src_3rdparty_libpng -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/qt5-base/mingw-w64/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index 5c87faac..f4eb00a2 100644 --- a/qt5-base/mingw-w64/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch +++ b/qt5-base/mingw-w64/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -1,4 +1,4 @@ -From b001d0484e9fc4d2f3af20359db96f4d3942d0c7 Mon Sep 17 00:00:00 2001 +From da616cd666c43e0189c1998ba827e5da9c189b04 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:48:51 +0200 Subject: [PATCH 04/32] Fix too many sections assemler error in OpenGL factory @@ -25,5 +25,5 @@ index 4c778b184e..1dd1755d7f 100644 HEADERS += opengl/qopengl.h \ opengl/qopengl_p.h \ -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0005-Make-sure-.pc-files-are-installed-correctly.patch b/qt5-base/mingw-w64/0005-Make-sure-.pc-files-are-installed-correctly.patch index 6ca3d4f8..d2f42b13 100644 --- a/qt5-base/mingw-w64/0005-Make-sure-.pc-files-are-installed-correctly.patch +++ b/qt5-base/mingw-w64/0005-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,4 +1,4 @@ -From 192e4593262474507b9b96424104e130c595e512 Mon Sep 17 00:00:00 2001 +From 855124059e1ce75c1815a16056bfc7e91705ff93 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:54:12 +0200 Subject: [PATCH 05/32] Make sure *.pc files are installed correctly @@ -62,5 +62,5 @@ index 75bb5d236d..737f3abc3a 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/qt5-base/mingw-w64/0006-Don-t-add-resource-files-to-LIBS-parameter.patch index 6c7a6dec..e8124738 100644 --- a/qt5-base/mingw-w64/0006-Don-t-add-resource-files-to-LIBS-parameter.patch +++ b/qt5-base/mingw-w64/0006-Don-t-add-resource-files-to-LIBS-parameter.patch @@ -1,4 +1,4 @@ -From 19a847d6ea1601de83ad067ba6c0fcf562273e72 Mon Sep 17 00:00:00 2001 +From 615d341714c83d659008f714ca079f9df992001c Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 13:58:28 +0200 Subject: [PATCH 06/32] Don't add resource files to LIBS parameter @@ -24,5 +24,5 @@ index d6d6b04148..7bb616302f 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/qt5-base/mingw-w64/0007-Prevent-debug-library-names-in-pkg-config-files.patch index 98d4bbde..67ab318b 100644 --- a/qt5-base/mingw-w64/0007-Prevent-debug-library-names-in-pkg-config-files.patch +++ b/qt5-base/mingw-w64/0007-Prevent-debug-library-names-in-pkg-config-files.patch @@ -1,4 +1,4 @@ -From bcb4c82d669d352c183c45e1cb71bd7c0946d1ec Mon Sep 17 00:00:00 2001 +From 70e8d38009cc5321680ef727ac160316e20161a6 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:01:14 +0200 Subject: [PATCH 07/32] Prevent debug library names in pkg-config files @@ -29,5 +29,5 @@ index b9871ff49c..0d07d6c333 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0008-Fix-linking-against-shared-static-libpng.patch b/qt5-base/mingw-w64/0008-Fix-linking-against-shared-static-libpng.patch index 13b1f738..a03ba70f 100644 --- a/qt5-base/mingw-w64/0008-Fix-linking-against-shared-static-libpng.patch +++ b/qt5-base/mingw-w64/0008-Fix-linking-against-shared-static-libpng.patch @@ -1,4 +1,4 @@ -From 9914d843bf7833fb04303cb96cff6912cfc7a7f3 Mon Sep 17 00:00:00 2001 +From 3ee91c980962788177b41fb49eed40bf74ccf745 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 26 Jan 2017 17:51:31 +0100 Subject: [PATCH 08/32] Fix linking against shared/static libpng @@ -23,5 +23,5 @@ index dab66fafb4..bc501bd3fc 100644 "use": [ { "lib": "zlib", "condition": "features.system-zlib" } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0009-Fix-linking-against-static-D-Bus.patch b/qt5-base/mingw-w64/0009-Fix-linking-against-static-D-Bus.patch index bf620e71..6df520ca 100644 --- a/qt5-base/mingw-w64/0009-Fix-linking-against-static-D-Bus.patch +++ b/qt5-base/mingw-w64/0009-Fix-linking-against-static-D-Bus.patch @@ -1,4 +1,4 @@ -From 3b501d8fc4dab1c437f18d2d21c64265858e367d Mon Sep 17 00:00:00 2001 +From b136f177a24e438a2069c4f9c1d9b3a05db17b5c Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 19:36:25 +0100 Subject: [PATCH 09/32] Fix linking against static D-Bus @@ -54,5 +54,5 @@ index 9eaebe6d7e..ac1b1d977b 100644 # include #else -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/qt5-base/mingw-w64/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch index 93c1d12d..8da42cb9 100644 --- a/qt5-base/mingw-w64/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch +++ b/qt5-base/mingw-w64/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch @@ -1,4 +1,4 @@ -From 5faa23e98e0fb63f3c2fedf3fe5fb93b2df940df Mon Sep 17 00:00:00 2001 +From 4376a9888da599de6eaa14d1dcf83a0fe41193aa Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 18:28:10 +0200 Subject: [PATCH 10/32] Don't try to use debug version of D-Bus library @@ -25,5 +25,5 @@ index 803abf38bb..7e0b7ffb56 100644 }, "condition": "config.win32 && features.shared" -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0011-Fix-linking-against-static-freetype2.patch b/qt5-base/mingw-w64/0011-Fix-linking-against-static-freetype2.patch index 36bf7606..52bace86 100644 --- a/qt5-base/mingw-w64/0011-Fix-linking-against-static-freetype2.patch +++ b/qt5-base/mingw-w64/0011-Fix-linking-against-static-freetype2.patch @@ -1,4 +1,4 @@ -From 3deafc5a5c28faaafb1f1ec52d32c9fc5df2986d Mon Sep 17 00:00:00 2001 +From f622ed99d6d99283d7405cb0a96757c9e4922558 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 3 Feb 2017 20:51:19 +0100 Subject: [PATCH 11/32] Fix linking against static freetype2 @@ -26,5 +26,5 @@ index bc501bd3fc..f7a4a39fd4 100644 }, "fontconfig": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0012-Fix-linking-against-static-harfbuzz.patch b/qt5-base/mingw-w64/0012-Fix-linking-against-static-harfbuzz.patch index 796b9839..59c591e0 100644 --- a/qt5-base/mingw-w64/0012-Fix-linking-against-static-harfbuzz.patch +++ b/qt5-base/mingw-w64/0012-Fix-linking-against-static-harfbuzz.patch @@ -1,4 +1,4 @@ -From 61f5c3fcc4d5ad5fb1bad5bc711c2d4e803e655a Mon Sep 17 00:00:00 2001 +From 9a75cec77d9dfff3d283258b9b323819b9f820ca Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:22:56 +0200 Subject: [PATCH 12/32] Fix linking against static harfbuzz @@ -25,5 +25,5 @@ index f7a4a39fd4..5ff8449509 100644 }, "imf": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0013-Fix-linking-against-static-pcre.patch b/qt5-base/mingw-w64/0013-Fix-linking-against-static-pcre.patch index cee71e74..47f776e6 100644 --- a/qt5-base/mingw-w64/0013-Fix-linking-against-static-pcre.patch +++ b/qt5-base/mingw-w64/0013-Fix-linking-against-static-pcre.patch @@ -1,4 +1,4 @@ -From c74216cc1ed27e282939c159bc63714f3cd69482 Mon Sep 17 00:00:00 2001 +From a9af38f04a32f596a168e066cb6d32f82a7154b4 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:24:01 +0200 Subject: [PATCH 13/32] Fix linking against static pcre @@ -24,5 +24,5 @@ index 86bc99716d..5037ae68a1 100644 #include -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0014-Fix-linking-against-shared-static-MariaDB.patch b/qt5-base/mingw-w64/0014-Fix-linking-against-shared-static-MariaDB.patch index 1d5d8bdb..0cb32167 100644 --- a/qt5-base/mingw-w64/0014-Fix-linking-against-shared-static-MariaDB.patch +++ b/qt5-base/mingw-w64/0014-Fix-linking-against-shared-static-MariaDB.patch @@ -1,4 +1,4 @@ -From d8dca16ee267d09792a232e415cd92ef3ec4b294 Mon Sep 17 00:00:00 2001 +From 3696e3f38362a701f0f59d3de35c7e0d0cb882ce Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:56:55 +0200 Subject: [PATCH 14/32] Fix linking against shared/static MariaDB @@ -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.16.2 diff --git a/qt5-base/mingw-w64/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/qt5-base/mingw-w64/0015-Fix-linking-against-shared-static-PostgreSQL.patch index c66730e9..a9876996 100644 --- a/qt5-base/mingw-w64/0015-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/qt5-base/mingw-w64/0015-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,4 +1,4 @@ -From 4900e0717b3f5562150d1ccbd5aaf64c0b4e5359 Mon Sep 17 00:00:00 2001 +From 0135efd090f0aa0402443a948f7de49adb837125 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:58:25 +0200 Subject: [PATCH 15/32] Fix linking against shared/static PostgreSQL @@ -25,5 +25,5 @@ index 4619db4a54..ef0d45f6cc 100644 ] }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0016-Rename-qtmain-to-qt5main.patch b/qt5-base/mingw-w64/0016-Rename-qtmain-to-qt5main.patch index 93a9c548..b669eef9 100644 --- a/qt5-base/mingw-w64/0016-Rename-qtmain-to-qt5main.patch +++ b/qt5-base/mingw-w64/0016-Rename-qtmain-to-qt5main.patch @@ -1,4 +1,4 @@ -From 810f18a177482cbe7bef0a8674b4f47de6730821 Mon Sep 17 00:00:00 2001 +From d659c5369bd8059643edd4674d21e5b575c95b8e Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:25:40 +0200 Subject: [PATCH 16/32] Rename qtmain to qt5main @@ -7,8 +7,9 @@ Prevents conflict with mingw-w64-qt4 package --- mkspecs/features/create_cmake.prf | 4 ++-- mkspecs/features/win32/windows.prf | 2 +- + mkspecs/win32-g++/qmake.conf | 2 +- src/winmain/winmain.pro | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index bb5083c925..146e83ae67 100644 @@ -38,6 +39,19 @@ index ecb167bf18..7c9368c3b3 100644 !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \ QMAKE_LIBS += -L$$QT.core.libs CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d +diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf +index 848837e732..ad924a7c2a 100644 +--- a/mkspecs/win32-g++/qmake.conf ++++ b/mkspecs/win32-g++/qmake.conf +@@ -88,7 +88,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/src/winmain/winmain.pro b/src/winmain/winmain.pro index 4140ae48de..9ae73db74b 100644 --- a/src/winmain/winmain.pro @@ -52,5 +66,5 @@ index 4140ae48de..9ae73db74b 100644 CONFIG += static -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0017-Build-dynamic-host-libraries.patch b/qt5-base/mingw-w64/0017-Build-dynamic-host-libraries.patch index 3535c055..ded139f1 100644 --- a/qt5-base/mingw-w64/0017-Build-dynamic-host-libraries.patch +++ b/qt5-base/mingw-w64/0017-Build-dynamic-host-libraries.patch @@ -1,4 +1,4 @@ -From b1563b11dbbc5a2ed80ef4aa7a3ee9d21fba7070 Mon Sep 17 00:00:00 2001 +From 64298314d16b0d4f60a868dff2c379af982b821d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 14:27:28 +0200 Subject: [PATCH 17/32] Build dynamic host libraries @@ -37,5 +37,5 @@ index c3ed27d979..30d2114aa1 100644 -INSTALLS = lib +INSTALLS += lib -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0018-Enable-rpath-for-build-tools.patch b/qt5-base/mingw-w64/0018-Enable-rpath-for-build-tools.patch index 499eab94..561e41eb 100644 --- a/qt5-base/mingw-w64/0018-Enable-rpath-for-build-tools.patch +++ b/qt5-base/mingw-w64/0018-Enable-rpath-for-build-tools.patch @@ -1,4 +1,4 @@ -From 056173285f8854856cb9d710cc7af0cfb67ed294 Mon Sep 17 00:00:00 2001 +From 293c66efcd36c6ca5850d91847f0030c182aa336 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 17:59:27 +0200 Subject: [PATCH 18/32] Enable rpath for build tools @@ -33,5 +33,5 @@ index 883f8ca215..786f2e660c 100644 INSTALLS += target -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0019-Use-system-zlib-for-build-tools.patch b/qt5-base/mingw-w64/0019-Use-system-zlib-for-build-tools.patch index 5bb33f85..f3846352 100644 --- a/qt5-base/mingw-w64/0019-Use-system-zlib-for-build-tools.patch +++ b/qt5-base/mingw-w64/0019-Use-system-zlib-for-build-tools.patch @@ -1,4 +1,4 @@ -From d268e7908b8cd1509023bdbfd61c9140b5bf1f62 Mon Sep 17 00:00:00 2001 +From 3351283ce62c1d728d245657aa9a81d5e8c43def Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:04:42 +0200 Subject: [PATCH 19/32] Use system zlib for build tools @@ -21,5 +21,5 @@ index 042ad7adb9..7e3bc3977a 100644 } else { CONFIG += no_core_dep -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0020-Use-.dll.a-as-import-lib-extension.patch b/qt5-base/mingw-w64/0020-Use-.dll.a-as-import-lib-extension.patch index 39d3af6e..effe2180 100644 --- a/qt5-base/mingw-w64/0020-Use-.dll.a-as-import-lib-extension.patch +++ b/qt5-base/mingw-w64/0020-Use-.dll.a-as-import-lib-extension.patch @@ -1,4 +1,4 @@ -From e01cb55796ac795043b4e3afd6811c8d0bfaf6c1 Mon Sep 17 00:00:00 2001 +From 380f8da75e9bfac1a2542d1ddd61949fb58022d3 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:26:18 +0200 Subject: [PATCH 20/32] Use *.dll.a as import lib extension @@ -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.16.2 diff --git a/qt5-base/mingw-w64/0021-Merge-shared-and-static-library-trees.patch b/qt5-base/mingw-w64/0021-Merge-shared-and-static-library-trees.patch index c75ede7a..58dddb48 100644 --- a/qt5-base/mingw-w64/0021-Merge-shared-and-static-library-trees.patch +++ b/qt5-base/mingw-w64/0021-Merge-shared-and-static-library-trees.patch @@ -1,4 +1,4 @@ -From 297f163b0298a45307f397842bca505c860a7fc3 Mon Sep 17 00:00:00 2001 +From 4c3092a30e8981125414d71fa481436ea4f917f5 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:45:08 +0200 Subject: [PATCH 21/32] Merge shared and static library trees @@ -128,5 +128,5 @@ index 0d07d6c333..5e84628e72 100644 t << endl; -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/qt5-base/mingw-w64/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index d01739b9..9381ff7c 100644 --- a/qt5-base/mingw-w64/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/qt5-base/mingw-w64/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,4 +1,4 @@ -From 22098826acc64ddaa2dbbeabe2d509fd8a54a6d1 Mon Sep 17 00:00:00 2001 +From 9913c74ba93c506abaa5f13e02ac29e6cd82783d Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:32:00 +0200 Subject: [PATCH 22/32] Pull dependencies of static libraries in CMake modules @@ -278,5 +278,5 @@ index 5e84628e72..43f570fb2c 100644 } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0023-Allow-usage-of-static-version-with-CMake.patch b/qt5-base/mingw-w64/0023-Allow-usage-of-static-version-with-CMake.patch index 9ea53096..bf68ad24 100644 --- a/qt5-base/mingw-w64/0023-Allow-usage-of-static-version-with-CMake.patch +++ b/qt5-base/mingw-w64/0023-Allow-usage-of-static-version-with-CMake.patch @@ -1,4 +1,4 @@ -From 4a11c942e31ea61ffdb83ff4a25d6ce708e3b817 Mon Sep 17 00:00:00 2001 +From 3955f9513c3c34351462b7c868da8b0650043393 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 5 Aug 2017 21:14:26 +0200 Subject: [PATCH 23/32] Allow usage of static version with CMake @@ -997,5 +997,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/qt5-base/mingw-w64/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index d463e883..71cfc865 100644 --- a/qt5-base/mingw-w64/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/qt5-base/mingw-w64/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,4 +1,4 @@ -From 61cc992fc37a4f44ada488a9e60514e237e523b5 Mon Sep 17 00:00:00 2001 +From 716349466294e9809c92303becf2fede7745f9fd Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 2 Jun 2017 16:42:07 +0200 Subject: [PATCH 24/32] Adjust linker flags for static build with @@ -25,5 +25,5 @@ index ebe6644dfe..687d611b3f 100644 +unset(_isExe) +!!ENDIF -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0025-Use-correct-pkg-config-static-flag.patch b/qt5-base/mingw-w64/0025-Use-correct-pkg-config-static-flag.patch index db588595..c7b2b393 100644 --- a/qt5-base/mingw-w64/0025-Use-correct-pkg-config-static-flag.patch +++ b/qt5-base/mingw-w64/0025-Use-correct-pkg-config-static-flag.patch @@ -1,4 +1,4 @@ -From db3d86b75f473d02c5ce6410f7d054f320c7d8f9 Mon Sep 17 00:00:00 2001 +From 64df7c1f38cab38957670a7070260fedde236990 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 18 Sep 2016 18:50:21 +0200 Subject: [PATCH 25/32] Use correct pkg-config --static flag @@ -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.16.2 diff --git a/qt5-base/mingw-w64/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/qt5-base/mingw-w64/0026-Fix-macro-invoking-moc-rcc-and-uic.patch index eedb6ba5..f593badd 100644 --- a/qt5-base/mingw-w64/0026-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/qt5-base/mingw-w64/0026-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,4 +1,4 @@ -From 14e1e2026e3e5bc255c717ecde076f54e0e107b1 Mon Sep 17 00:00:00 2001 +From b0cbcf49f288bc4e87c055b757505f745423c686 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 4 Dec 2016 20:35:47 +0100 Subject: [PATCH 26/32] Fix macro invoking moc, rcc and uic @@ -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.16.2 diff --git a/qt5-base/mingw-w64/0027-Ignore-errors-about-missing-feature-static.patch b/qt5-base/mingw-w64/0027-Ignore-errors-about-missing-feature-static.patch index 2c7ef032..0504f1a8 100644 --- a/qt5-base/mingw-w64/0027-Ignore-errors-about-missing-feature-static.patch +++ b/qt5-base/mingw-w64/0027-Ignore-errors-about-missing-feature-static.patch @@ -1,4 +1,4 @@ -From 98d20d4f7bdf5a8b364dbfbccfd17caa12092feb Mon Sep 17 00:00:00 2001 +From 43051c0832825089e058715e126baefa9071bc2d Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 20:59:54 +0100 Subject: [PATCH 27/32] Ignore errors about missing feature static @@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644 + !equals($$1, "static"): error("Could not find feature $${1}.") } -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0028-Enable-and-fix-use-of-iconv.patch b/qt5-base/mingw-w64/0028-Enable-and-fix-use-of-iconv.patch index 3ad2c176..2174a096 100644 --- a/qt5-base/mingw-w64/0028-Enable-and-fix-use-of-iconv.patch +++ b/qt5-base/mingw-w64/0028-Enable-and-fix-use-of-iconv.patch @@ -1,4 +1,4 @@ -From d7e459560199395f4ee339490ca5afebb7b5168a Mon Sep 17 00:00:00 2001 +From 64a634598092a7cbeca267f3dc0860a3105ed329 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:20 +0100 Subject: [PATCH 28/32] Enable and fix use of iconv @@ -79,5 +79,5 @@ index 8cd73d6ce4..dd259157e3 100644 }, "icu": { -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0029-Ignore-failing-pkg-config-test.patch b/qt5-base/mingw-w64/0029-Ignore-failing-pkg-config-test.patch index 16250b8d..5eda88ca 100644 --- a/qt5-base/mingw-w64/0029-Ignore-failing-pkg-config-test.patch +++ b/qt5-base/mingw-w64/0029-Ignore-failing-pkg-config-test.patch @@ -1,4 +1,4 @@ -From 519d6c020b8daa90bd64b4556f603c657cd30594 Mon Sep 17 00:00:00 2001 +From 9d139e94af7e18e965732684864d75ac1ee015f2 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 21:08:48 +0100 Subject: [PATCH 29/32] Ignore failing pkg-config test @@ -21,5 +21,5 @@ index 7e0b7ffb56..0f098e7b3f 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/qt5-base/mingw-w64/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch index 33aee858..4d54a65d 100644 --- a/qt5-base/mingw-w64/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/qt5-base/mingw-w64/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,4 +1,4 @@ -From 8f96fb6b8b9ebeb7643cbab4420bef214b617aae Mon Sep 17 00:00:00 2001 +From d360972109bd354d675499efc4e00ee9ed8da3c9 Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 7 Feb 2017 18:25:28 +0100 Subject: [PATCH 30/32] Prevent qmake from messing static lib dependencies @@ -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.16.2 diff --git a/qt5-base/mingw-w64/0031-Hardcode-linker-flags-for-platform-plugins.patch b/qt5-base/mingw-w64/0031-Hardcode-linker-flags-for-platform-plugins.patch index 807a40e7..b9816492 100644 --- a/qt5-base/mingw-w64/0031-Hardcode-linker-flags-for-platform-plugins.patch +++ b/qt5-base/mingw-w64/0031-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,4 +1,4 @@ -From 299bb52899d3970ff33698305e4de8ae3ac26dae Mon Sep 17 00:00:00 2001 +From 28f289f8b87da3bd244f8c63ead918f0922a4358 Mon Sep 17 00:00:00 2001 From: Martchus Date: Wed, 25 Jan 2017 23:42:30 +0100 Subject: [PATCH 31/32] Hardcode linker flags for platform plugins @@ -106,5 +106,5 @@ index 174bc7b609..e66488e364 100644 include(windows.pri) -- -2.16.1 +2.16.2 diff --git a/qt5-base/mingw-w64/0032-Fix-linking-against-static-plugins-with-qmake.patch b/qt5-base/mingw-w64/0032-Fix-linking-against-static-plugins-with-qmake.patch index 6b7b9f0d..71c7be17 100644 --- a/qt5-base/mingw-w64/0032-Fix-linking-against-static-plugins-with-qmake.patch +++ b/qt5-base/mingw-w64/0032-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,4 +1,4 @@ -From 715c87c76624306c9b9410dc4efa7b6d64ca6788 Mon Sep 17 00:00:00 2001 +From 27d8e6e51cefad3de5e863f1217fd2bcc0b28f30 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 25 Aug 2017 17:07:17 +0200 Subject: [PATCH 32/32] Fix linking against static plugins with qmake @@ -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.16.2 diff --git a/qt5-base/mingw-w64/PKGBUILD b/qt5-base/mingw-w64/PKGBUILD index 34cdc478..fa930268 100644 --- a/qt5-base/mingw-w64/PKGBUILD +++ b/qt5-base/mingw-w64/PKGBUILD @@ -3,62 +3,14 @@ # Contributor: Filip Brcic # Contributor: jellysheep +# 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 -# 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' ]] @@ -85,7 +37,7 @@ isNoOpenGL() { pkgname=mingw-w64-qt5-base pkgver=5.10.1 -pkgrel=1 +pkgrel=2 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 isStatic && arch=('any') || arch=('i686' 'x86_64') @@ -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' @@ -133,38 +85,38 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm '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') + '1c482310bbfef78733a2013f42e505657059e720cf139ddcf5ad692c4dbf06b1' + '45a1020a351931b7171e55ef8165d2cc4af3bf2473b142daa51f3b5b15c447f3' + 'ceb05dabed9fa2fc781e5abcfb54285960267922bac753df4179831a240da9b7' + 'c4138094696342f8f976c01c9ce66919ae38802f36d3280b47883446e8d74bf9' + '2f99ae05056636b434bf7a533db6de7561c6f6e3fe8e854b4e9a182e30c684b3' + 'fa69c484d557f45b1929e0b4be6328837717337155477a8fab3f9ea59731c749' + '57de459c6af72293560afcf7a872b1a4b10badd986c1fc1b43d7aaf55caf52c5' + '58e6f6a0271e82be5b7560a247cb70809169148e6413c473e2c3fed97e5d1c45' + 'ea39d2b90a848a4c36a7685688283b773ff2ed5e6912be52a943f31376eefc81' + 'b8f5a6a707f20cce64d9e5f04c35c555d7d14cd20344510205babc9a5698a15a' + 'b1eaea87c7d7b774657feb4745450ab4e423c158ff81c144d724dcd8ac950c6f' + '8092fe23e35906b9a967ec78e1892769f06f1699c4c177ea0814876fb7c423d2' + '4b73f19e254466e5e4d13459088f773a44c9f05033ad5d29995c5116f18f999d' + '6a1411e406efab5521af71b2b8cf122c8443157114799f23d3e2cd1dc59c8e14' + '52b0fc09f05d1ca2efbf3a046cf933e72dae4bfd63026298fd60360103106c5a' + '30b5bded4f2e3ac5e4c83412c92afe0ad604e3eb18a94a3357f220b5e0456d86' + '1a18636d6089fe49ae7e0592dad6d71a1466aa0fc2d033ca926c14e468aff0c9' + '9710090523aefca66211bd8b74bcdc650125299912b735ba4845408e9e860649' + '551f05ad17737fe8b9b00c24a3a5539988455cbb706458e44c3df2df56599f63' + 'd2f5aaacd2be586cfab27a23120a9f21749c1ac96664071c399f91097274ec89' + '23878d79148e4db9e1c5ba2e6e6d2ced259b64aa1ba2f1503ab9938863b2104f' + '30f5b6c738609a8ac03f806b86a632c3cf6d85b56e038f812d46358b592cc427' + '2782b7eb4f55cb5905b5bcb8387ad3a7130727b036b0fc482b1294380862f5d1' + '156e720e4ad44f257019dbe2fe1eef7b7a27989307f8a9f53072f4cbe178c655' + '53088ce6f9a22ee1735fb8b7145ce569ac1914ac05fb947ca3afae39d3cb3199' + 'e61f2fd0c91c72822c1074844897641ce1c9500423b4c646aa8ae1671f9f967b' + 'cccad985154167818657d0561ec349cb75931a0a64a689ab51041337d73a88b8' + 'ffbc7f20785904ba64f108498aafe8b5a4c1de76c44aa5353ee3d7202f186408' + '1572c30c43e9e6d23d0f42c99c9501f092eae5d2bad2b0bc0eb694b295c0c473' + 'ef96dffc0dd3bb76b237c6e886d6d5cc154e25f5ed4d5f65643e272a58306327' + '73d9df72df2f55c19ddeb9241de818d39c8da3399eee55f306889dc3c11dc934' + '892bb35a340597c77da5310685cc47102cf2522fb01cbc6d1785016babc78727') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' diff --git a/qt5-base/mingw-w64/README.md b/qt5-base/mingw-w64/README.md new file mode 100644 index 00000000..3233d55b --- /dev/null +++ b/qt5-base/mingw-w64/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 +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