summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO56
-rw-r--r--0001-Use-CMake-s-default-import-library-suffix.patch115
-rw-r--r--0002-Fix-finding-D-Bus.patch23
-rw-r--r--0003-Fix-using-static-PCRE2-and-DBus-1.patch48
-rw-r--r--0004-Fix-transitive-dependencies-of-static-libraries.patch126
-rw-r--r--0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch37
-rw-r--r--0006-Support-finding-MariaDB.patch30
-rw-r--r--0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch37
-rw-r--r--PKGBUILD98
-rw-r--r--PKGBUILD.sh.ep1
-rw-r--r--qtbase-sha256.txt1
11 files changed, 572 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..cf613b6c4975
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,56 @@
+pkgbase = mingw-w64-qt6-base-static
+ pkgdesc = A cross-platform application and UI framework (mingw-w64)
+ pkgver = 6.0.0beta3
+ pkgrel = 1
+ url = https://www.qt.io
+ arch = any
+ groups = mingw-w64-qt6
+ license = GPL3
+ license = LGPL3
+ license = FDL
+ license = custom
+ makedepends = mingw-w64-cmake-static
+ makedepends = mingw-w64-postgresql
+ makedepends = mingw-w64-mariadb-connector-c
+ makedepends = mingw-w64-vulkan-headers
+ makedepends = mingw-w64-vulkan-icd-loader
+ makedepends = mingw-w64-pkg-config
+ makedepends = qt6-base
+ makedepends = ninja
+ depends = mingw-w64-crt
+ depends = mingw-w64-zlib
+ depends = mingw-w64-libjpeg-turbo
+ depends = mingw-w64-sqlite
+ depends = mingw-w64-libpng
+ depends = mingw-w64-openssl
+ depends = mingw-w64-dbus
+ depends = mingw-w64-harfbuzz
+ depends = mingw-w64-brotli
+ depends = mingw-w64-pcre2
+ depends = mingw-w64-zstd
+ optdepends = mingw-w64-postgresql: PostgreSQL driver
+ optdepends = mingw-w64-mariadb-connector-c: MariaDB driver
+ optdepends = qt6-base: development tools
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ options = !emptydirs
+ source = https://download.qt.io/development_releases/qt/6.0/6.0.0-beta3/submodules/qtbase-everywhere-src-6.0.0-beta3.tar.xz
+ source = 0001-Use-CMake-s-default-import-library-suffix.patch
+ source = 0002-Fix-finding-D-Bus.patch
+ source = 0003-Fix-using-static-PCRE2-and-DBus-1.patch
+ source = 0004-Fix-transitive-dependencies-of-static-libraries.patch
+ source = 0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch
+ source = 0006-Support-finding-MariaDB.patch
+ source = 0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch
+ sha256sums = 37a97e30cf769b8deaa65aff585968ffb78bda20409177fe46959cb591a53268
+ sha256sums = 272d7231b65b6af60c897ff9ac645929976f75c30a9229670da98333fa598811
+ sha256sums = f95f407ce4ec738ee98b9219e197d4c1e0926cca35f63179114d598b2591e80a
+ sha256sums = cb8f9ef03daf86444572f21e38b514794aa23e4419983edde1118e93287750bf
+ sha256sums = 399b81b9fd5bedfe135f60b1e91721a8edbaf267539754e27849532130b7077b
+ sha256sums = 4311c05baf1da78f5acec304dbc53c402542aaa81268939251bda81cc004afd0
+ sha256sums = 1200b9c57290fcb9e54e0bddf88536fe58b39ae2a24a3e2fd802cd16c7bfeb62
+ sha256sums = 45201209696cce59d9e4f0358889eafb68c8e10b314892fac05692b24c301db7
+
+pkgname = mingw-w64-qt6-base-static
+
diff --git a/0001-Use-CMake-s-default-import-library-suffix.patch b/0001-Use-CMake-s-default-import-library-suffix.patch
new file mode 100644
index 000000000000..6df148946b23
--- /dev/null
+++ b/0001-Use-CMake-s-default-import-library-suffix.patch
@@ -0,0 +1,115 @@
+From 8073b269bb69ab091bb29600c1f7a493f3543a83 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Thu, 5 Nov 2020 22:08:10 +0100
+Subject: [PATCH 1/7] Use CMake's default import library suffix
+
+Change-Id: Iedc6a7ee8982a62ddd56ad0bf25ba0b8752a666a
+---
+ cmake/QtPriHelpers.cmake | 12 ++++++++++--
+ cmake/QtPrlHelpers.cmake | 8 +++++++-
+ cmake/QtTargetHelpers.cmake | 2 --
+ mkspecs/common/g++-win32.conf | 1 +
+ mkspecs/features/create_cmake.prf | 5 +++--
+ 5 files changed, 21 insertions(+), 7 deletions(-)
+
+diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake
+index 56c60b1b18..18e1aeddb1 100644
+--- a/cmake/QtPriHelpers.cmake
++++ b/cmake/QtPriHelpers.cmake
+@@ -320,9 +320,13 @@ QT.${config_module_name}_private.disabled_features = ${disabled_private_features
+ qt_path_join(private_pri_file_path "${target_path}" "${private_pri_file_name}")
+ list(APPEND pri_files "${private_pri_file_path}")
+
+- set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
++ set(library_prefixes
++ ${CMAKE_SHARED_LIBRARY_PREFIX}
++ ${CMAKE_IMPORT_LIBRARY_PREFIX}
++ ${CMAKE_STATIC_LIBRARY_PREFIX})
+ set(library_suffixes
+ ${CMAKE_SHARED_LIBRARY_SUFFIX}
++ ${CMAKE_CMAKE_IMPORT_LIBRARY_SUFFIX}
+ ${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
+ ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ add_custom_command(
+@@ -727,9 +731,13 @@ CONFIG += ${private_config_joined}
+ list(APPEND inputs "${preliminary_pri_root}/${cfg}/${pri_data_cmake_file}")
+ endforeach()
+
+- set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
++ set(library_prefixes
++ ${CMAKE_SHARED_LIBRARY_PREFIX}
++ ${CMAKE_IMPORT_LIBRARY_PREFIX}
++ ${CMAKE_STATIC_LIBRARY_PREFIX})
+ set(library_suffixes
+ ${CMAKE_SHARED_LIBRARY_SUFFIX}
++ ${CMAKE_CMAKE_IMPORT_LIBRARY_SUFFIX}
+ ${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
+ ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ add_custom_command(
+diff --git a/cmake/QtPrlHelpers.cmake b/cmake/QtPrlHelpers.cmake
+index 35d321420c..40a85e6c73 100644
+--- a/cmake/QtPrlHelpers.cmake
++++ b/cmake/QtPrlHelpers.cmake
+@@ -258,11 +258,17 @@ QMAKE_PRL_VERSION = ${PROJECT_VERSION}
+ CONTENT
+ "FINAL_PRL_FILE_PATH = ${final_prl_file_path}")
+
+- set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
++ set(library_prefixes
++ ${CMAKE_SHARED_LIBRARY_PREFIX}
++ ${CMAKE_IMPORT_LIBRARY_PREFIX}
++ ${CMAKE_STATIC_LIBRARY_PREFIX})
+ set(library_suffixes
+ ${CMAKE_SHARED_LIBRARY_SUFFIX}
++ ${CMAKE_CMAKE_IMPORT_LIBRARY_SUFFIX}
+ ${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
+ ${CMAKE_STATIC_LIBRARY_SUFFIX})
++ list(REMOVE_DUPLICATES library_prefixes)
++ list(REMOVE_DUPLICATES library_suffixes)
+
+ if(QT_GENERATOR_IS_MULTI_CONFIG)
+ set(configs ${CMAKE_CONFIGURATION_TYPES})
+diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake
+index fcbb3ab1f2..332ef6ee4c 100644
+--- a/cmake/QtTargetHelpers.cmake
++++ b/cmake/QtTargetHelpers.cmake
+@@ -283,8 +283,6 @@ function(qt_internal_apply_win_prefix_and_suffix target)
+
+ # This should cover both MINGW with GCC and CLANG.
+ if(NOT MSVC)
+- set_property(TARGET "${target}" PROPERTY IMPORT_SUFFIX ".a")
+-
+ get_target_property(target_type ${target} TYPE)
+ if(target_type STREQUAL "STATIC_LIBRARY")
+ set_property(TARGET "${target}" PROPERTY PREFIX "lib")
+diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
+index 67ad1e3b8c..b98c7121f6 100644
+--- a/mkspecs/common/g++-win32.conf
++++ b/mkspecs/common/g++-win32.conf
+@@ -54,6 +54,7 @@ QMAKE_PREFIX_SHLIB =
+ QMAKE_EXTENSION_SHLIB = dll
+ QMAKE_PREFIX_STATICLIB = lib
+ QMAKE_EXTENSION_STATICLIB = a
++QMAKE_EXTENSION_IMPORTLIB = dll.a
+ QMAKE_LIB_EXTENSIONS = a dll.a
+
+ QMAKE_LIBS =
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 24ed125f12..73ebe453d3 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -332,8 +332,9 @@ mac {
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}$${debug_suffix}.a
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
+
+- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.a
+- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
++ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.$${QMAKE_EXTENSION_IMPORTLIB}
++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
+ } else {
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}$${debug_suffix}.lib
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qtmain$${QT_LIBINFIX}.lib
+--
+2.29.2
+
diff --git a/0002-Fix-finding-D-Bus.patch b/0002-Fix-finding-D-Bus.patch
new file mode 100644
index 000000000000..28c2424850f0
--- /dev/null
+++ b/0002-Fix-finding-D-Bus.patch
@@ -0,0 +1,23 @@
+From 5c192c74f9f5fd7369742a413fe26bdd67ed677f Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Wed, 7 Oct 2020 12:13:37 +0200
+Subject: [PATCH 2/7] Fix finding D-Bus
+
+Change-Id: Ie21eb9cbc6b1b5d9c8b34eea46f54718e5926986
+---
+ cmake/FindWrapDBus1.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmake/FindWrapDBus1.cmake b/cmake/FindWrapDBus1.cmake
+index e227d224e0..4982e7c8ae 100644
+--- a/cmake/FindWrapDBus1.cmake
++++ b/cmake/FindWrapDBus1.cmake
+@@ -45,3 +45,4 @@ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(WrapDBus1 REQUIRED_VARS
+ DBus1_LIBRARY DBus1_INCLUDE_DIR WrapDBus1_FOUND
+ VERSION_VAR DBus1_VERSION)
++set_property(TARGET dbus-1 PROPERTY IMPORTED_IMPLIB ${DBus1_LIBRARY})
+\ No newline at end of file
+--
+2.29.2
+
diff --git a/0003-Fix-using-static-PCRE2-and-DBus-1.patch b/0003-Fix-using-static-PCRE2-and-DBus-1.patch
new file mode 100644
index 000000000000..d8a3748a30ff
--- /dev/null
+++ b/0003-Fix-using-static-PCRE2-and-DBus-1.patch
@@ -0,0 +1,48 @@
+From 084aa1b73f9f33096c4a5f34cba773545da3ae33 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Thu, 5 Nov 2020 21:13:19 +0100
+Subject: [PATCH 3/7] Fix using static PCRE2 and DBus-1
+
+When making a static build of Qt we're using the static version of these
+libraries and must define the corresponding macros.
+
+Change-Id: I2387b79462b6d183b71f9433dd937f63fc7ef26e
+---
+ src/corelib/text/qregularexpression.cpp | 5 +++++
+ src/dbus/qdbus_symbols_p.h | 4 ++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/src/corelib/text/qregularexpression.cpp b/src/corelib/text/qregularexpression.cpp
+index 827884d709..be5159186c 100644
+--- a/src/corelib/text/qregularexpression.cpp
++++ b/src/corelib/text/qregularexpression.cpp
+@@ -53,6 +53,11 @@
+ #include <QtCore/qdatastream.h>
+
+ #define PCRE2_CODE_UNIT_WIDTH 16
++#ifdef QT_STATIC
++#define PCRE_STATIC
++#define PCRE2_STATIC
++#endif
++#define PCRE2_EXP_DECL Q_CORE_EXPORT
+
+ #include <pcre2.h>
+
+diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h
+index accaa4f5ed..4b11c74caa 100644
+--- a/src/dbus/qdbus_symbols_p.h
++++ b/src/dbus/qdbus_symbols_p.h
+@@ -57,6 +57,10 @@
+
+ #ifndef QT_NO_DBUS
+
++#ifdef QT_STATIC
++# define DBUS_STATIC_BUILD
++#endif
++
+ #ifdef QT_LINKED_LIBDBUS
+ # include <dbus/dbus.h>
+ #else
+--
+2.29.2
+
diff --git a/0004-Fix-transitive-dependencies-of-static-libraries.patch b/0004-Fix-transitive-dependencies-of-static-libraries.patch
new file mode 100644
index 000000000000..3e4cbd998adc
--- /dev/null
+++ b/0004-Fix-transitive-dependencies-of-static-libraries.patch
@@ -0,0 +1,126 @@
+From 4341f7b4267e1287fa6c41ba0a4afddf505408dc Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Thu, 5 Nov 2020 21:59:33 +0100
+Subject: [PATCH 4/7] Fix transitive dependencies (of static libraries)
+
+The dependencies of these libraries are not reliably picked up by their
+corresponding find modules. This change allows adding the required
+dependencies by setting certain variables, e.g. within the toolchain file.
+
+Change-Id: I89da5ef519dd6dd3f86a94a01d3da7208a070bdb
+---
+ .../3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake | 2 +-
+ cmake/FindMySQL.cmake | 1 +
+ cmake/FindWrapDBus1.cmake | 3 ++-
+ cmake/FindWrapOpenSSL.cmake | 2 +-
+ cmake/FindWrapSystemFreetype.cmake | 2 +-
+ cmake/FindWrapSystemHarfbuzz.cmake | 2 +-
+ cmake/FindWrapSystemPNG.cmake | 2 +-
+ src/plugins/sqldrivers/psql/CMakeLists.txt | 2 +-
+ 8 files changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
+index 8f873c1b45..831ca8e624 100644
+--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
++++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
+@@ -95,7 +95,7 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
+ add_library(GLIB2::GLIB2 UNKNOWN IMPORTED)
+ set_target_properties(GLIB2::GLIB2 PROPERTIES
+ IMPORTED_LOCATION "${GLIB2_LIBRARIES}"
+- INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES}"
++ INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES};${GLIB2_DEPENDENCIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}")
+ endif()
+
+diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
+index 54c94b8a2f..7575386338 100644
+--- a/cmake/FindMySQL.cmake
++++ b/cmake/FindMySQL.cmake
+@@ -38,6 +38,7 @@ if(MySQL_FOUND AND NOT TARGET MySQL::MySQL)
+ add_library(MySQL::MySQL UNKNOWN IMPORTED)
+ set_target_properties(MySQL::MySQL PROPERTIES
+ IMPORTED_LOCATION "${MySQL_LIBRARIES}"
++ INTERFACE_LINK_LIBRARIES "${MYSQL_DEPENDENCIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${MySQL_INCLUDE_DIRS}")
+ endif()
+
+diff --git a/cmake/FindWrapDBus1.cmake b/cmake/FindWrapDBus1.cmake
+index 4982e7c8ae..56d139c538 100644
+--- a/cmake/FindWrapDBus1.cmake
++++ b/cmake/FindWrapDBus1.cmake
+@@ -45,4 +45,5 @@ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(WrapDBus1 REQUIRED_VARS
+ DBus1_LIBRARY DBus1_INCLUDE_DIR WrapDBus1_FOUND
+ VERSION_VAR DBus1_VERSION)
+-set_property(TARGET dbus-1 PROPERTY IMPORTED_IMPLIB ${DBus1_LIBRARY})
+\ No newline at end of file
++set_property(TARGET dbus-1 PROPERTY IMPORTED_IMPLIB ${DBus1_LIBRARY})
++set_property(TARGET dbus-1 PROPERTY INTERFACE_LINK_LIBRARIES "${DBUS1_DEPENDENCIES}")
+diff --git a/cmake/FindWrapOpenSSL.cmake b/cmake/FindWrapOpenSSL.cmake
+index 6e80862258..47bea72aad 100644
+--- a/cmake/FindWrapOpenSSL.cmake
++++ b/cmake/FindWrapOpenSSL.cmake
+@@ -14,7 +14,7 @@ if(OpenSSL_FOUND)
+ set(WrapOpenSSL_FOUND ON)
+
+ add_library(WrapOpenSSL::WrapOpenSSL INTERFACE IMPORTED)
+- target_link_libraries(WrapOpenSSL::WrapOpenSSL INTERFACE OpenSSL::SSL)
++ target_link_libraries(WrapOpenSSL::WrapOpenSSL INTERFACE OpenSSL::SSL ${OPENSSL_DEPENDENCIES})
+ endif()
+
+ include(FindPackageHandleStandardArgs)
+diff --git a/cmake/FindWrapSystemFreetype.cmake b/cmake/FindWrapSystemFreetype.cmake
+index 2cf6caca19..23dc161e4c 100644
+--- a/cmake/FindWrapSystemFreetype.cmake
++++ b/cmake/FindWrapSystemFreetype.cmake
+@@ -44,7 +44,7 @@ find_package_handle_standard_args(WrapSystemFreetype
+ if(WrapSystemFreetype_FOUND)
+ add_library(WrapSystemFreetype::WrapSystemFreetype INTERFACE IMPORTED)
+ target_link_libraries(WrapSystemFreetype::WrapSystemFreetype
+- INTERFACE "${__freetype_target_name}")
++ INTERFACE "${__freetype_target_name}" ${FREETYPE_DEPENDENCIES})
+ endif()
+ unset(__freetype_target_name)
+ unset(__freetype_found)
+diff --git a/cmake/FindWrapSystemHarfbuzz.cmake b/cmake/FindWrapSystemHarfbuzz.cmake
+index 3cb44aa766..9dc741b2be 100644
+--- a/cmake/FindWrapSystemHarfbuzz.cmake
++++ b/cmake/FindWrapSystemHarfbuzz.cmake
+@@ -54,7 +54,7 @@ find_package_handle_standard_args(WrapSystemHarfbuzz
+ if(WrapSystemHarfbuzz_FOUND)
+ add_library(WrapSystemHarfbuzz::WrapSystemHarfbuzz INTERFACE IMPORTED)
+ target_link_libraries(WrapSystemHarfbuzz::WrapSystemHarfbuzz
+- INTERFACE "${__harfbuzz_target_name}")
++ INTERFACE "${__harfbuzz_target_name}" ${HARFBUZZ_DEPENDENCIES})
+ endif()
+ unset(__harfbuzz_target_name)
+ unset(__harfbuzz_found)
+diff --git a/cmake/FindWrapSystemPNG.cmake b/cmake/FindWrapSystemPNG.cmake
+index 372a064ff4..a363bfd31b 100644
+--- a/cmake/FindWrapSystemPNG.cmake
++++ b/cmake/FindWrapSystemPNG.cmake
+@@ -33,7 +33,7 @@ find_package_handle_standard_args(WrapSystemPNG
+ if(WrapSystemPNG_FOUND)
+ add_library(WrapSystemPNG::WrapSystemPNG INTERFACE IMPORTED)
+ target_link_libraries(WrapSystemPNG::WrapSystemPNG
+- INTERFACE "${__png_target_name}")
++ INTERFACE "${__png_target_name}" ${LIBPNG_DEPENDENCIES})
+ endif()
+ unset(__png_target_name)
+ unset(__png_found)
+diff --git a/src/plugins/sqldrivers/psql/CMakeLists.txt b/src/plugins/sqldrivers/psql/CMakeLists.txt
+index 62e9619d16..939163bde7 100644
+--- a/src/plugins/sqldrivers/psql/CMakeLists.txt
++++ b/src/plugins/sqldrivers/psql/CMakeLists.txt
+@@ -19,7 +19,7 @@ qt_internal_add_plugin(QPSQLDriverPlugin
+ QT_NO_CAST_FROM_ASCII
+ QT_NO_CAST_TO_ASCII
+ PUBLIC_LIBRARIES
+- PostgreSQL::PostgreSQL
++ PostgreSQL::PostgreSQL ${POSTGRESQL_DEPENDENCIES}
+ Qt::Core
+ Qt::CorePrivate
+ Qt::SqlPrivate
+--
+2.29.2
+
diff --git a/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch b/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch
new file mode 100644
index 000000000000..b528b949a504
--- /dev/null
+++ b/0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch
@@ -0,0 +1,37 @@
+From 0f92aeca18858e11ddaa25b7cdad7d89303052ea Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Mon, 2 Nov 2020 13:47:45 +0100
+Subject: [PATCH 5/7] Fix libjpeg workaround for conflict with rpcndr.h
+
+Otherwise it won't compile against mingw-w64-libjpeg-turbo. This version of
+libjpeg seems to take care of the conflict already as long as jconfig.h is
+included before jmorecfg.h.
+
+Change-Id: I011b7735485689c9797cffe2646c8c3d15d0645e
+---
+ src/plugins/imageformats/jpeg/qjpeghandler.cpp | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+index 29bf5ab589..dc336f156a 100644
+--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
++++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+@@ -61,14 +61,8 @@
+
+ // including jpeglib.h seems to be a little messy
+ extern "C" {
+-// jpeglib.h->jmorecfg.h tries to typedef int boolean; but this conflicts with
+-// some Windows headers that may or may not have been included
+-#ifdef HAVE_BOOLEAN
+-# undef HAVE_BOOLEAN
+-#endif
+-#define boolean jboolean
+-
+ #define XMD_H // shut JPEGlib up
++#include <jconfig.h> // ensure jconfig.h is included before jmorecfg.h
+ #include <jpeglib.h>
+ #ifdef const
+ # undef const // remove crazy C hackery in jconfig.h
+--
+2.29.2
+
diff --git a/0006-Support-finding-MariaDB.patch b/0006-Support-finding-MariaDB.patch
new file mode 100644
index 000000000000..ab1defa785a7
--- /dev/null
+++ b/0006-Support-finding-MariaDB.patch
@@ -0,0 +1,30 @@
+From 757964d9bf2e3d2f315f4210cedd7be6cac54c3f Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 8 Nov 2020 00:33:12 +0100
+Subject: [PATCH 6/7] Support finding MariaDB
+
+Change-Id: I3f95a7c3aabc734e1c6c5ce00957ab9814200232
+---
+ cmake/FindMySQL.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake
+index 7575386338..df1d848cf6 100644
+--- a/cmake/FindMySQL.cmake
++++ b/cmake/FindMySQL.cmake
+@@ -24,10 +24,10 @@ pkg_check_modules(PC_MySQL QUIET mysqlclient)
+ find_path(MySQL_INCLUDE_DIRS
+ NAMES mysql.h
+ HINTS ${PC_MySQL_INCLUDEDIR}
+- PATH_SUFFIXES mysql)
++ PATH_SUFFIXES mariadb mysql)
+
+ find_library(MySQL_LIBRARIES
+- NAMES mysqlclient
++ NAMES mariadb mariadbclient mysqlclient
+ HINTS ${PC_MySQL_LIBDIR}
+ )
+
+--
+2.29.2
+
diff --git a/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch b/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch
new file mode 100644
index 000000000000..c1013acb9531
--- /dev/null
+++ b/0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch
@@ -0,0 +1,37 @@
+From 9bae5f17b9371f03d5075f596bc3d5e50018759d Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 8 Nov 2020 00:34:09 +0100
+Subject: [PATCH 7/7] Allow overriding CMAKE_FIND_LIBRARY_SUFFIXES to prefer
+ static libraries
+
+Change-Id: Ic29b64b999ed9b5888a8dc1b0961a76009c5e75c
+---
+ cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
+index 56e7e99d63..e3025fb2c0 100644
+--- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
++++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
+@@ -2,6 +2,10 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR "Qt requires at least CMake version 3.1.0")
+ endif()
+
++if (CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE)
++ set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES_OVERRIDE}")
++endif ()
++
+ ######################################
+ #
+ # Macros for building Qt modules
+@@ -220,6 +224,7 @@ macro(qt_prepare_standalone_project)
+ endmacro()
+
+ macro(qt_build_repo_begin)
++
+ qt_build_internals_set_up_private_api()
+ qt_enable_cmake_languages()
+
+--
+2.29.2
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ac07f6a8caa5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,98 @@
+# Maintainer: Martchus <martchus@gmx.net>
+# Based on: AUR packages qt6-base-git and mingw-w64-qt6-base-git, official qt5-base package
+
+# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
+# you also find the URL of a binary repository.
+
+# This file is created from PKGBUILD.sh.ep contained by the mentioned repository.
+# Do not edit it manually! See README.md in the repository's root directory
+# for more information.
+
+# All patches are managed at https://github.com/Martchus/qtbase
+
+pkgname=mingw-w64-qt6-base-static
+_qtver=6.0.0-beta3
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=(any)
+url='https://www.qt.io'
+license=(GPL3 LGPL3 FDL custom)
+pkgdesc='A cross-platform application and UI framework (mingw-w64)'
+depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
+ 'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz'
+ 'mingw-w64-brotli' 'mingw-w64-pcre2' 'mingw-w64-zstd')
+makedepends=('mingw-w64-cmake-static' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
+ 'mingw-w64-vulkan-headers' 'mingw-w64-vulkan-icd-loader' 'mingw-w64-pkg-config'
+ 'qt6-base' 'ninja')
+optdepends=('mingw-w64-postgresql: PostgreSQL driver'
+ 'mingw-w64-mariadb-connector-c: MariaDB driver'
+ 'qt6-base: development tools')
+options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
+groups=(mingw-w64-qt6)
+_pkgfqn="qtbase-everywhere-src-${_qtver}"
+source=("https://download.qt.io/development_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+ '0001-Use-CMake-s-default-import-library-suffix.patch'
+ '0002-Fix-finding-D-Bus.patch'
+ '0003-Fix-using-static-PCRE2-and-DBus-1.patch'
+ '0004-Fix-transitive-dependencies-of-static-libraries.patch'
+ '0005-Fix-libjpeg-workaround-for-conflict-with-rpcndr.h.patch'
+ '0006-Support-finding-MariaDB.patch'
+ '0007-Allow-overriding-CMAKE_FIND_LIBRARY_SUFFIXES-to-pref.patch')
+sha256sums=('37a97e30cf769b8deaa65aff585968ffb78bda20409177fe46959cb591a53268'
+ '272d7231b65b6af60c897ff9ac645929976f75c30a9229670da98333fa598811'
+ 'f95f407ce4ec738ee98b9219e197d4c1e0926cca35f63179114d598b2591e80a'
+ 'cb8f9ef03daf86444572f21e38b514794aa23e4419983edde1118e93287750bf'
+ '399b81b9fd5bedfe135f60b1e91721a8edbaf267539754e27849532130b7077b'
+ '4311c05baf1da78f5acec304dbc53c402542aaa81268939251bda81cc004afd0'
+ '1200b9c57290fcb9e54e0bddf88536fe58b39ae2a24a3e2fd802cd16c7bfeb62'
+ '45201209696cce59d9e4f0358889eafb68c8e10b314892fac05692b24c301db7')
+
+_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
+
+prepare () {
+ cd $_pkgfqn
+
+ # apply patches; further descriptions can be found in patch files itself
+ for patch in "$srcdir/"*.patch; do
+ msg2 "Applying patch $patch"
+ patch -p1 -i "$patch"
+ done
+}
+
+build() {
+ for _arch in ${_architectures}; do
+ export PKG_CONFIG=/usr/bin/$_arch-pkg-config
+ $_arch-cmake-static -G Ninja -B build-$_arch -S $_pkgfqn \
+ -DCMAKE_INSTALL_PREFIX:PATH="/usr/$_arch/static" \
+ -DFEATURE_pkg_config=ON \
+ -DFEATURE_system_pcre2=ON \
+ -DFEATURE_system_freetype=ON \
+ -DFEATURE_system_harfbuzz=ON \
+ -DFEATURE_system_sqlite=ON \
+ -DINSTALL_BINDIR=lib/qt6/bin \
+ -DINSTALL_DOCDIR=share/doc/qt6 \
+ -DINSTALL_ARCHDATADIR=lib/qt6 \
+ -DINSTALL_DATADIR=share/qt6 \
+ -DINSTALL_INCLUDEDIR=include/qt6 \
+ -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
+ -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \
+ -DINPUT_openssl=linked
+ VERBOSE=1 cmake --build build-$_arch
+ done
+}
+
+package() {
+ for _arch in ${_architectures}; do
+ DESTDIR="$pkgdir" cmake --install build-$_arch
+
+ install -Dm644 $_pkgfqn/LICENSE* -t "$pkgdir"/usr/$_arch/share/licenses/$pkgname
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/$_arch/static/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ find "$pkgdir/usr/$_arch" -iname '*.exe' -exec $_arch-strip --strip-all {} \;
+ find "$pkgdir/usr/$_arch" -iname '*.dll' -exec $_arch-strip --strip-unneeded {} \;
+ find "$pkgdir/usr/$_arch" -iname '*.a' -exec $_arch-strip -g {} \;
+ done
+}
diff --git a/PKGBUILD.sh.ep b/PKGBUILD.sh.ep
new file mode 100644
index 000000000000..be0caf0136ee
--- /dev/null
+++ b/PKGBUILD.sh.ep
@@ -0,0 +1 @@
+% layout 'mingw-w64-qt6-base';
diff --git a/qtbase-sha256.txt b/qtbase-sha256.txt
new file mode 100644
index 000000000000..5057e6d92c6f
--- /dev/null
+++ b/qtbase-sha256.txt
@@ -0,0 +1 @@
+37a97e30cf769b8deaa65aff585968ffb78bda20409177fe46959cb591a53268