aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
Diffstat (limited to 'depends')
-rw-r--r--depends/README.md3
-rw-r--r--depends/builders/darwin.mk5
-rw-r--r--depends/config.site.in2
-rw-r--r--depends/funcs.mk3
-rw-r--r--depends/packages/expat.mk11
-rw-r--r--depends/packages/fontconfig.mk7
-rw-r--r--depends/packages/freetype.mk8
-rw-r--r--depends/packages/libXau.mk4
-rw-r--r--depends/packages/libxcb.mk24
-rw-r--r--depends/packages/libxcb_util.mk32
-rw-r--r--depends/packages/libxcb_util_image.mk31
-rw-r--r--depends/packages/libxcb_util_keysyms.mk31
-rw-r--r--depends/packages/libxcb_util_render.mk31
-rw-r--r--depends/packages/libxcb_util_wm.mk31
-rw-r--r--depends/packages/packages.mk2
-rw-r--r--depends/packages/qt.mk43
-rw-r--r--depends/packages/xcb_proto.mk11
-rw-r--r--depends/packages/xproto.mk4
-rw-r--r--depends/patches/fontconfig/gperf_header_regen.patch8
-rw-r--r--depends/patches/fontconfig/remove_char_width_usage.patch62
-rw-r--r--depends/patches/qt/dont_hardcode_x86_64.patch34
-rw-r--r--depends/patches/qt/dont_use_avx_android_x86_64.patch32
-rw-r--r--depends/patches/qt/fix_android_jni_static.patch2
-rw-r--r--depends/patches/qt/fix_android_pch.patch10
-rw-r--r--depends/patches/qt/fix_bigsur_style.patch90
-rw-r--r--depends/patches/qt/fix_lib_paths.patch193
-rw-r--r--depends/patches/qt/fix_limits_header.patch36
-rw-r--r--depends/patches/qt/fix_qt_pkgconfig.patch14
-rw-r--r--depends/patches/qt/no-xlib.patch13
-rw-r--r--depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch2
-rw-r--r--depends/patches/qt/support_new_android_ndks.patch122
-rw-r--r--depends/patches/qt/use_android_ndk23.patch13
32 files changed, 411 insertions, 503 deletions
diff --git a/depends/README.md b/depends/README.md
index 5c00807473..2a39ed3907 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -28,7 +28,7 @@ Common `host-platform-triplet`s for cross compilation are:
- `i686-pc-linux-gnu` for Linux 32 bit
- `x86_64-pc-linux-gnu` for x86 Linux
- `x86_64-w64-mingw32` for Win64
-- `x86_64-apple-darwin19` for macOS
+- `x86_64-apple-darwin` for macOS
- `arm-linux-gnueabihf` for Linux ARM 32 bit
- `aarch64-linux-gnu` for Linux ARM 64 bit
- `powerpc64-linux-gnu` for Linux POWER 64-bit (big endian)
@@ -38,7 +38,6 @@ Common `host-platform-triplet`s for cross compilation are:
- `s390x-linux-gnu` for Linux S390X
- `armv7a-linux-android` for Android ARM 32 bit
- `aarch64-linux-android` for Android ARM 64 bit
-- `i686-linux-android` for Android x86 32 bit
- `x86_64-linux-android` for Android x86 64 bit
The paths are automatically configured and no other options are needed unless targeting [Android](../doc/build-android.md).
diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk
index 001c928424..6e68c88928 100644
--- a/depends/builders/darwin.mk
+++ b/depends/builders/darwin.mk
@@ -21,3 +21,8 @@ darwin_NM:=$(shell xcrun -f nm)
darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
darwin_native_binutils=
darwin_native_toolchain=
+
+x86_64_darwin_CFLAGS = -arch x86_64
+x86_64_darwin_CXXFLAGS = $(x86_64_darwin_CFLAGS)
+aarch64_darwin_CFLAGS = -arch arm64
+aarch64_darwin_CXXFLAGS = $(aarch64_darwin_CFLAGS)
diff --git a/depends/config.site.in b/depends/config.site.in
index 87d0011b1c..ed1a1f8d3d 100644
--- a/depends/config.site.in
+++ b/depends/config.site.in
@@ -62,7 +62,7 @@ if test -z "$with_gui" && test -n "@no_qt@"; then
with_gui=no
fi
-if test -n "@debug@" && test -z "@no_qt@" && test "x$with_gui" != xno; then
+if test -n "@debug@" && test -z "@no_qt@" && test "$with_gui" != "no"; then
with_gui=qt5_debug
fi
diff --git a/depends/funcs.mk b/depends/funcs.mk
index 34a030fab7..55c2e78d17 100644
--- a/depends/funcs.mk
+++ b/depends/funcs.mk
@@ -264,7 +264,8 @@ $(foreach package,$(packages),$(eval $(package)_type=$(host_arch)_$(host_os)))
$(foreach package,$(all_packages),$(eval $(call int_vars,$(package))))
#include package files
-$(foreach package,$(all_packages),$(eval include packages/$(package).mk))
+$(foreach native_package,$(native_packages),$(eval include packages/$(native_package).mk))
+$(foreach package,$(packages),$(eval include packages/$(package).mk))
#compute a hash of all files that comprise this package's build recipe
$(foreach package,$(all_packages),$(eval $(call int_get_build_recipe_hash,$(package))))
diff --git a/depends/packages/expat.mk b/depends/packages/expat.mk
index 41c1114be0..c2089d1ccb 100644
--- a/depends/packages/expat.mk
+++ b/depends/packages/expat.mk
@@ -1,12 +1,13 @@
package=expat
-$(package)_version=2.2.7
-$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_2_7/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=cbc9102f4a31a8dafd42d642e9a3aa31e79a0aedaa1f6efd2795ebc83174ec18
+$(package)_version=2.4.1
+$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_4_1/
+$(package)_file_name=$(package)-$($(package)_version).tar.xz
+$(package)_sha256_hash=cf032d0dba9b928636548e32b327a2d66b1aab63c4f4a13dd132c2d1d2f2fb6a
define $(package)_set_vars
$(package)_config_opts=--disable-shared --without-docbook --without-tests --without-examples
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
+ $(package)_config_opts += --without-xmlwf
$(package)_config_opts_linux=--with-pic
endef
@@ -23,5 +24,5 @@ define $(package)_stage_cmds
endef
define $(package)_postprocess_cmds
- rm -rf share lib/*.la
+ rm -rf share lib/cmake lib/*.la
endef
diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk
index 22b5022f06..c8b2fc33d5 100644
--- a/depends/packages/fontconfig.mk
+++ b/depends/packages/fontconfig.mk
@@ -1,10 +1,10 @@
package=fontconfig
-$(package)_version=2.12.1
+$(package)_version=2.12.6
$(package)_download_path=https://www.freedesktop.org/software/fontconfig/release/
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
+$(package)_sha256_hash=cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017
$(package)_dependencies=freetype expat
-$(package)_patches=remove_char_width_usage.patch gperf_header_regen.patch
+$(package)_patches=gperf_header_regen.patch
define $(package)_set_vars
$(package)_config_opts=--disable-docs --disable-static --disable-libxml2 --disable-iconv
@@ -12,7 +12,6 @@ define $(package)_set_vars
endef
define $(package)_preprocess_cmds
- patch -p1 < $($(package)_patch_dir)/remove_char_width_usage.patch && \
patch -p1 < $($(package)_patch_dir)/gperf_header_regen.patch
endef
diff --git a/depends/packages/freetype.mk b/depends/packages/freetype.mk
index aebc8a5f3b..6f5dbe0f01 100644
--- a/depends/packages/freetype.mk
+++ b/depends/packages/freetype.mk
@@ -1,12 +1,12 @@
package=freetype
-$(package)_version=2.7.1
+$(package)_version=2.11.0
$(package)_download_path=https://download.savannah.gnu.org/releases/$(package)
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
+$(package)_file_name=$(package)-$($(package)_version).tar.xz
+$(package)_sha256_hash=8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7
define $(package)_set_vars
$(package)_config_opts=--without-zlib --without-png --without-harfbuzz --without-bzip2 --disable-static
- $(package)_config_opts += --enable-option-checking
+ $(package)_config_opts += --enable-option-checking --without-brotli
$(package)_config_opts_linux=--with-pic
endef
diff --git a/depends/packages/libXau.mk b/depends/packages/libXau.mk
index 24e0e9d325..b7e032c0b2 100644
--- a/depends/packages/libXau.mk
+++ b/depends/packages/libXau.mk
@@ -1,8 +1,8 @@
package=libXau
-$(package)_version=1.0.8
+$(package)_version=1.0.9
$(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2
+$(package)_sha256_hash=ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec
$(package)_dependencies=xproto
# When updating this package, check the default value of
diff --git a/depends/packages/libxcb.mk b/depends/packages/libxcb.mk
index 710f43959c..99a7ee2fbd 100644
--- a/depends/packages/libxcb.mk
+++ b/depends/packages/libxcb.mk
@@ -1,25 +1,21 @@
package=libxcb
-$(package)_version=1.10
+$(package)_version=1.14
$(package)_download_path=https://xcb.freedesktop.org/dist
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=98d9ab05b636dd088603b64229dd1ab2d2cc02ab807892e107d674f9c3f2d5b5
+$(package)_file_name=$(package)-$($(package)_version).tar.xz
+$(package)_sha256_hash=a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34
$(package)_dependencies=xcb_proto libXau
define $(package)_set_vars
-$(package)_config_opts=--disable-static --disable-build-docs --without-doxygen --without-launchd
+$(package)_config_opts=--disable-static --disable-devel-docs --without-doxygen --without-launchd
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
-# Because we pass -qt-xcb to Qt, it will compile in a set of xcb helper libraries and extensions,
-# so we skip building all of the extensions here.
-# More info is available from: https://doc.qt.io/qt-5.9/linux-requirements.html
+# Disable uneeded extensions.
+# More info is available from: https://doc.qt.io/qt-5.15/linux-requirements.html
$(package)_config_opts += --disable-composite --disable-damage --disable-dpms
$(package)_config_opts += --disable-dri2 --disable-dri3 --disable-glx
-$(package)_config_opts += --disable-present --disable-randr --disable-record
-$(package)_config_opts += --disable-render --disable-resource --disable-screensaver
-$(package)_config_opts += --disable-shape --disable-sync
-$(package)_config_opts += --disable-xevie --disable-xfixes --disable-xfree86-dri
-$(package)_config_opts += --disable-xinerama --disable-xinput
-$(package)_config_opts += --disable-xprint --disable-selinux --disable-xtest
-$(package)_config_opts += --disable-xv --disable-xvmc
+$(package)_config_opts += --disable-present --disable-record --disable-resource
+$(package)_config_opts += --disable-screensaver --disable-xevie --disable-xfree86-dri
+$(package)_config_opts += --disable-xinput --disable-xprint --disable-selinux
+$(package)_config_opts += --disable-xtest --disable-xv --disable-xvmc
endef
define $(package)_preprocess_cmds
diff --git a/depends/packages/libxcb_util.mk b/depends/packages/libxcb_util.mk
new file mode 100644
index 0000000000..6f1b9cd7c6
--- /dev/null
+++ b/depends/packages/libxcb_util.mk
@@ -0,0 +1,32 @@
+package=libxcb_util
+$(package)_version=0.4.0
+$(package)_download_path=https://xcb.freedesktop.org/dist
+$(package)_file_name=xcb-util-$($(package)_version).tar.bz2
+$(package)_sha256_hash=46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9
+$(package)_dependencies=libxcb
+
+define $(package)_set_vars
+$(package)_config_opts = --disable-shared --disable-devel-docs --without-doxygen
+$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
+$(package)_config_opts += --with-pic
+endef
+
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf share/man share/doc lib/*.la
+endef
diff --git a/depends/packages/libxcb_util_image.mk b/depends/packages/libxcb_util_image.mk
new file mode 100644
index 0000000000..d12d67e8e8
--- /dev/null
+++ b/depends/packages/libxcb_util_image.mk
@@ -0,0 +1,31 @@
+package=libxcb_util_image
+$(package)_version=0.4.0
+$(package)_download_path=https://xcb.freedesktop.org/dist
+$(package)_file_name=xcb-util-image-$($(package)_version).tar.bz2
+$(package)_sha256_hash=2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc
+$(package)_dependencies=libxcb libxcb_util
+
+define $(package)_set_vars
+$(package)_config_opts=--disable-static --disable-devel-docs --without-doxygen
+$(package)_config_opts+= --disable-dependency-tracking --enable-option-checking
+endef
+
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf share/man share/doc lib/*.la
+endef
diff --git a/depends/packages/libxcb_util_keysyms.mk b/depends/packages/libxcb_util_keysyms.mk
new file mode 100644
index 0000000000..d4f72dedbe
--- /dev/null
+++ b/depends/packages/libxcb_util_keysyms.mk
@@ -0,0 +1,31 @@
+package=libxcb_util_keysyms
+$(package)_version=0.4.0
+$(package)_download_path=https://xcb.freedesktop.org/dist
+$(package)_file_name=xcb-util-keysyms-$($(package)_version).tar.bz2
+$(package)_sha256_hash=0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9
+$(package)_dependencies=libxcb xproto
+
+define $(package)_set_vars
+$(package)_config_opts=--disable-static --disable-devel-docs --without-doxygen
+$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
+endef
+
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf share/man share/doc lib/*.la
+endef
diff --git a/depends/packages/libxcb_util_render.mk b/depends/packages/libxcb_util_render.mk
new file mode 100644
index 0000000000..28f1fb073c
--- /dev/null
+++ b/depends/packages/libxcb_util_render.mk
@@ -0,0 +1,31 @@
+package=libxcb_util_render
+$(package)_version=0.3.9
+$(package)_download_path=https://xcb.freedesktop.org/dist
+$(package)_file_name=xcb-util-renderutil-$($(package)_version).tar.bz2
+$(package)_sha256_hash=c6e97e48fb1286d6394dddb1c1732f00227c70bd1bedb7d1acabefdd340bea5b
+$(package)_dependencies=libxcb
+
+define $(package)_set_vars
+$(package)_config_opts=--disable-static --disable-devel-docs --without-doxygen
+$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
+endef
+
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf share/man share/doc lib/*.la
+endef
diff --git a/depends/packages/libxcb_util_wm.mk b/depends/packages/libxcb_util_wm.mk
new file mode 100644
index 0000000000..3b905ba4ec
--- /dev/null
+++ b/depends/packages/libxcb_util_wm.mk
@@ -0,0 +1,31 @@
+package=libxcb_util_wm
+$(package)_version=0.4.1
+$(package)_download_path=https://xcb.freedesktop.org/dist
+$(package)_file_name=xcb-util-wm-$($(package)_version).tar.bz2
+$(package)_sha256_hash=28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f
+$(package)_dependencies=libxcb
+
+define $(package)_set_vars
+$(package)_config_opts=--disable-static --disable-devel-docs --without-doxygen
+$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
+endef
+
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf share/man share/doc lib/*.la
+endef
diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk
index 9094e327ef..426fa2e748 100644
--- a/depends/packages/packages.mk
+++ b/depends/packages/packages.mk
@@ -2,7 +2,7 @@ packages:=boost libevent
qrencode_packages = qrencode
-qt_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig libxkbcommon
+qt_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
qt_android_packages=qt
qt_darwin_packages=qt
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index ea110b1653..83479b4b06 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -1,25 +1,24 @@
-PACKAGE=qt
-$(package)_version=5.12.11
-$(package)_download_path=https://download.qt.io/official_releases/qt/5.12/$($(package)_version)/submodules
+package=qt
+$(package)_version=5.15.2
+$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
$(package)_file_name=qtbase-$($(package)_suffix)
-$(package)_sha256_hash=1c1b4e33137ca77881074c140d54c3c9747e845a31338cfe8680f171f0bc3a39
-$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon
+$(package)_sha256_hash=909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8
+$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
$(package)_qt_libs=corelib network widgets gui plugins testlib
$(package)_linguist_tools = lrelease lupdate lconvert
$(package)_patches = qt.pro qttools_src.pro
$(package)_patches += fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
-$(package)_patches += support_new_android_ndks.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
-$(package)_patches += dont_hardcode_x86_64.patch
-$(package)_patches+= fix_lib_paths.patch fix_android_pch.patch
-$(package)_patches+= qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
-$(package)_patches+= fix_montery_include.patch
+$(package)_patches += dont_use_avx_android_x86_64.patch dont_hardcode_x86_64.patch fix_montery_include.patch
+$(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch
+$(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
+$(package)_patches += fix_bigsur_style.patch use_android_ndk23.patch
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
-$(package)_qttranslations_sha256_hash=577b0668a777eb2b451c61e8d026d79285371597ce9df06b6dee6c814164b7c3
+$(package)_qttranslations_sha256_hash=d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
$(package)_qttools_file_name=qttools-$($(package)_suffix)
-$(package)_qttools_sha256_hash=98b2aaca230458f65996f3534fd471d2ffd038dd58ac997c0589c06dc2385b4f
+$(package)_qttools_sha256_hash=c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc
$(package)_extra_sources = $($(package)_qttranslations_file_name)
$(package)_extra_sources += $($(package)_qttools_file_name)
@@ -30,14 +29,14 @@ $(package)_config_opts_release += -silent
$(package)_config_opts_debug = -debug
$(package)_config_opts_debug += -optimized-tools
$(package)_config_opts += -bindir $(build_prefix)/bin
-$(package)_config_opts += -c++std c++1z
+$(package)_config_opts += -c++std c++17
$(package)_config_opts += -confirm-license
$(package)_config_opts += -hostprefix $(build_prefix)
$(package)_config_opts += -no-compile-examples
$(package)_config_opts += -no-cups
$(package)_config_opts += -no-egl
$(package)_config_opts += -no-eglfs
-$(package)_config_opts += -no-freetype
+$(package)_config_opts += -no-evdev
$(package)_config_opts += -no-gif
$(package)_config_opts += -no-glib
$(package)_config_opts += -no-icu
@@ -52,6 +51,7 @@ $(package)_config_opts += -no-mtdev
$(package)_config_opts += -no-openssl
$(package)_config_opts += -no-openvg
$(package)_config_opts += -no-reduce-relocations
+$(package)_config_opts += -no-schannel
$(package)_config_opts += -no-sctp
$(package)_config_opts += -no-securetransport
$(package)_config_opts += -no-sql-db2
@@ -65,6 +65,7 @@ $(package)_config_opts += -no-sql-sqlite
$(package)_config_opts += -no-sql-sqlite2
$(package)_config_opts += -no-system-proxies
$(package)_config_opts += -no-use-gold-linker
+$(package)_config_opts += -no-zstd
$(package)_config_opts += -nomake examples
$(package)_config_opts += -nomake tests
$(package)_config_opts += -nomake tools
@@ -102,6 +103,7 @@ $(package)_config_opts += -no-feature-sqlmodel
$(package)_config_opts += -no-feature-statemachine
$(package)_config_opts += -no-feature-syntaxhighlighter
$(package)_config_opts += -no-feature-textbrowser
+$(package)_config_opts += -no-feature-textmarkdownwriter
$(package)_config_opts += -no-feature-textodfwriter
$(package)_config_opts += -no-feature-topleveldomain
$(package)_config_opts += -no-feature-udpsocket
@@ -117,6 +119,7 @@ $(package)_config_opts_darwin = -no-dbus
$(package)_config_opts_darwin += -no-opengl
$(package)_config_opts_darwin += -pch
$(package)_config_opts_darwin += -no-feature-corewlan
+$(package)_config_opts_darwin += -no-freetype
$(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
ifneq ($(build_os),darwin)
@@ -133,7 +136,7 @@ $(package)_config_opts_aarch64_darwin += -device-option QMAKE_APPLE_DEVICE_ARCHS
$(package)_config_opts_x86_64_darwin += -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64
endif
-$(package)_config_opts_linux = -qt-xcb
+$(package)_config_opts_linux = -xcb
$(package)_config_opts_linux += -no-xcb-xlib
$(package)_config_opts_linux += -no-feature-xlib
$(package)_config_opts_linux += -system-freetype
@@ -152,6 +155,7 @@ $(package)_config_opts_s390x_linux = -platform linux-g++ -xplatform bitcoin-linu
$(package)_config_opts_mingw32 = -no-opengl
$(package)_config_opts_mingw32 += -no-dbus
+$(package)_config_opts_mingw32 += -no-freetype
$(package)_config_opts_mingw32 += -xplatform win32-g++
$(package)_config_opts_mingw32 += "QMAKE_CFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
$(package)_config_opts_mingw32 += "QMAKE_CXXFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
@@ -163,10 +167,8 @@ $(package)_config_opts_android = -xplatform android-clang
$(package)_config_opts_android += -android-sdk $(ANDROID_SDK)
$(package)_config_opts_android += -android-ndk $(ANDROID_NDK)
$(package)_config_opts_android += -android-ndk-platform android-$(ANDROID_API_LEVEL)
-$(package)_config_opts_android += -device-option CROSS_COMPILE="$(host)-"
$(package)_config_opts_android += -egl
$(package)_config_opts_android += -qpa xcb
-$(package)_config_opts_android += -no-eglfs
$(package)_config_opts_android += -no-dbus
$(package)_config_opts_android += -opengl es2
$(package)_config_opts_android += -qt-freetype
@@ -179,7 +181,6 @@ $(package)_config_opts_android += -no-feature-vulkan
$(package)_config_opts_aarch64_android += -android-arch arm64-v8a
$(package)_config_opts_armv7a_android += -android-arch armeabi-v7a
$(package)_config_opts_x86_64_android += -android-arch x86_64
-$(package)_config_opts_i686_android += -android-arch i686
endef
define $(package)_fetch_cmds
@@ -227,15 +228,15 @@ define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
- patch -p1 -i $($(package)_patch_dir)/support_new_android_ndks.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
- patch -p1 -i $($(package)_patch_dir)/fix_android_pch.patch && \
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
+ patch -p1 -i $($(package)_patch_dir)/dont_use_avx_android_x86_64.patch && \
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_x86_64.patch && \
- patch -p1 -i $($(package)_patch_dir)/fix_lib_paths.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_montery_include.patch && \
+ patch -p1 -i $($(package)_patch_dir)/fix_bigsur_style.patch && \
+ patch -p1 -i $($(package)_patch_dir)/use_android_ndk23.patch && \
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
diff --git a/depends/packages/xcb_proto.mk b/depends/packages/xcb_proto.mk
index 01203a0718..9be822506d 100644
--- a/depends/packages/xcb_proto.mk
+++ b/depends/packages/xcb_proto.mk
@@ -1,8 +1,8 @@
package=xcb_proto
-$(package)_version=1.10
-$(package)_download_path=https://xcb.freedesktop.org/dist
-$(package)_file_name=xcb-proto-$($(package)_version).tar.bz2
-$(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05
+$(package)_version=1.14.1
+$(package)_download_path=https://xorg.freedesktop.org/archive/individual/proto
+$(package)_file_name=xcb-proto-$($(package)_version).tar.xz
+$(package)_sha256_hash=f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3
define $(package)_config_cmds
$($(package)_autoconf)
@@ -17,6 +17,5 @@ define $(package)_stage_cmds
endef
define $(package)_postprocess_cmds
- find -name "*.pyc" -delete && \
- find -name "*.pyo" -delete
+ rm -rf lib/python*/site-packages/xcbgen/__pycache__
endef
diff --git a/depends/packages/xproto.mk b/depends/packages/xproto.mk
index 6bd867d02b..7a43c52faf 100644
--- a/depends/packages/xproto.mk
+++ b/depends/packages/xproto.mk
@@ -1,8 +1,8 @@
package=xproto
-$(package)_version=7.0.26
+$(package)_version=7.0.31
$(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f
+$(package)_sha256_hash=c6f9747da0bd3a95f86b17fb8dd5e717c8f3ab7f0ece3ba1b247899ec1ef7747
define $(package)_set_vars
$(package)_config_opts=--without-fop --without-xmlto --without-xsltproc --disable-specs
diff --git a/depends/patches/fontconfig/gperf_header_regen.patch b/depends/patches/fontconfig/gperf_header_regen.patch
index 3ffd1674e0..b1a70d5fb1 100644
--- a/depends/patches/fontconfig/gperf_header_regen.patch
+++ b/depends/patches/fontconfig/gperf_header_regen.patch
@@ -13,12 +13,12 @@ diff --git a/src/Makefile.in b/src/Makefile.in
index f4626ad..4ae1b00 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
-@@ -903,7 +903,7 @@ fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+@@ -912,7 +912,7 @@
' - > $@.tmp && \
- mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+ mv -f $@.tmp fcobjshash.gperf && touch $@ || ( $(RM) $@.tmp && false )
--fcobjshash.h: fcobjshash.gperf
+-fcobjshash.h: Makefile fcobjshash.gperf
+fcobjshash.h:
- $(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
+ $(AM_V_GEN) $(GPERF) --pic -m 100 fcobjshash.gperf > $@.tmp && \
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
diff --git a/depends/patches/fontconfig/remove_char_width_usage.patch b/depends/patches/fontconfig/remove_char_width_usage.patch
deleted file mode 100644
index 9f69081890..0000000000
--- a/depends/patches/fontconfig/remove_char_width_usage.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-commit 28165a9b078583dc8e9e5c344510e37582284cef
-Author: fanquake <fanquake@gmail.com>
-Date: Mon Aug 17 20:35:42 2020 +0800
-
- Remove usage of CHAR_WIDTH
-
- CHAR_WIDTH which is reserved and clashes with glibc 2.25+
-
- See #10851.
-
-diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
-index 5c72b22..843c532 100644
---- a/fontconfig/fontconfig.h
-+++ b/fontconfig/fontconfig.h
-@@ -128,7 +128,7 @@ typedef int FcBool;
- #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
-
- /* Adjust outline rasterizer */
--#define FC_CHAR_WIDTH "charwidth" /* Int */
-+#define FC_CHARWIDTH "charwidth" /* Int */
- #define FC_CHAR_HEIGHT "charheight"/* Int */
- #define FC_MATRIX "matrix" /* FcMatrix */
-
-diff --git a/src/fcobjs.h b/src/fcobjs.h
-index 1fc4f65..d27864b 100644
---- a/src/fcobjs.h
-+++ b/src/fcobjs.h
-@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL)
- FC_OBJECT (RGBA, FcTypeInteger, NULL)
- FC_OBJECT (SCALE, FcTypeDouble, NULL)
- FC_OBJECT (MINSPACE, FcTypeBool, NULL)
--FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
-+FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
- FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
- FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
- FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
-diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
-index 80a0237..eb4ad84 100644
---- a/src/fcobjshash.gperf
-+++ b/src/fcobjshash.gperf
-@@ -44,7 +44,7 @@ int id;
- "rgba",FC_RGBA_OBJECT
- "scale",FC_SCALE_OBJECT
- "minspace",FC_MINSPACE_OBJECT
--"charwidth",FC_CHAR_WIDTH_OBJECT
-+"charwidth",FC_CHARWIDTH_OBJECT
- "charheight",FC_CHAR_HEIGHT_OBJECT
- "matrix",FC_MATRIX_OBJECT
- "charset",FC_CHARSET_OBJECT
-diff --git a/src/fcobjshash.h b/src/fcobjshash.h
-index 5a4d1ea..4e66bb0 100644
---- a/src/fcobjshash.h
-+++ b/src/fcobjshash.h
-@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char *str, register unsigned int len)
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
- {-1},
- #line 47 "fcobjshash.gperf"
-- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
-+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
- #line 48 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
- #line 55 "fcobjshash.gperf"
diff --git a/depends/patches/qt/dont_hardcode_x86_64.patch b/depends/patches/qt/dont_hardcode_x86_64.patch
index 0e1ca6acda..5c1e030fa4 100644
--- a/depends/patches/qt/dont_hardcode_x86_64.patch
+++ b/depends/patches/qt/dont_hardcode_x86_64.patch
@@ -9,14 +9,14 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
--- old/qtbase/configure.json
+++ new/qtbase/configure.json
-@@ -208,11 +208,18 @@
+@@ -244,11 +244,18 @@
"testTypeDependencies": {
- "linkerSupportsFlag": [ "use_gold_linker" ],
-- "verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "qmakeargs", "commit" ],
+ "linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
+- "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
+ "verifySpec": [
+ "shared",
-+ "use_gold_linker",
++ "use_bfd_linker", "use_gold_linker", "use_lld_linker",
+ "compiler-flags", "qmakeargs",
+ "simulator_and_device",
+ "thread",
@@ -30,7 +30,7 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
},
"testTypeAliases": {
-@@ -653,7 +660,7 @@
+@@ -762,7 +769,7 @@
},
"architecture": {
"label": "Architecture",
@@ -40,11 +40,10 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
"pkg-config": {
"label": "Using pkg-config",
diff --git a/configure.pri b/configure.pri
-index 33c90a8c2f..71767e29d6 100644
-
+index 49755f7abfd..8be9b10d7d4 100644
--- old/qtbase/configure.pri
+++ new/qtbase/configure.pri
-@@ -642,6 +642,13 @@ defineTest(qtConfOutput_commitOptions) {
+@@ -662,6 +662,13 @@ defineTest(qtConfOutput_commitOptions) {
write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error()
}
@@ -59,24 +58,22 @@ index 33c90a8c2f..71767e29d6 100644
defineTest(processQtPath) {
out_var = config.rel_input.$${2}
diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
-index 7d4a406134..de96c12fc9 100644
-
+index d16b77acb8e..4ba0a8eaa36 100644
--- old/qtbase/mkspecs/common/macx.conf
+++ new/qtbase/mkspecs/common/macx.conf
@@ -6,7 +6,6 @@ QMAKE_PLATFORM += macos osx macx
QMAKE_MAC_SDK = macosx
- QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
-QMAKE_APPLE_DEVICE_ARCHS = x86_64
- QT_MAC_SDK_VERSION_MIN = 10.13
- QT_MAC_SDK_VERSION_MAX = 11.0
+ # Should be 10.15, but as long as the CI builds with
+ # older SDKs we have to keep this.
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index d052808c14..0a89effe87 100644
-
+index 92a9112bca6..d888731ec8d 100644
--- old/qtbase/mkspecs/features/mac/default_post.prf
+++ new/qtbase/mkspecs/features/mac/default_post.prf
-@@ -89,6 +89,11 @@ app_extension_api_only {
+@@ -90,6 +90,11 @@ app_extension_api_only {
QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
}
@@ -88,7 +85,7 @@ index d052808c14..0a89effe87 100644
macx-xcode {
qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
!isEmpty(QMAKE_PKGINFO_TYPEINFO): \
-@@ -144,9 +149,6 @@ macx-xcode {
+@@ -145,9 +150,6 @@ macx-xcode {
simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
@@ -99,8 +96,7 @@ index d052808c14..0a89effe87 100644
ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
-index 5003679bd0..c7c080cb07 100644
-
+index efbe7c1e55b..8add6dc8043 100644
--- old/qtbase/mkspecs/features/toolchain.prf
+++ new/qtbase/mkspecs/features/toolchain.prf
@@ -182,9 +182,14 @@ isEmpty($${target_prefix}.INCDIRS) {
diff --git a/depends/patches/qt/dont_use_avx_android_x86_64.patch b/depends/patches/qt/dont_use_avx_android_x86_64.patch
new file mode 100644
index 0000000000..b12ac8f4d0
--- /dev/null
+++ b/depends/patches/qt/dont_use_avx_android_x86_64.patch
@@ -0,0 +1,32 @@
+Android: don't use avx and avx2 when building for Android x86_64
+
+AVX and AVX2 are not supported on x86_64 ABI.
+See:
+ - https://developer.android.com/ndk/guides/abis#86-64
+ - https://bugreports.qt.io/browse/QTBUG-86785
+
+Upstream commits:
+ - Qt 6.0: ff1a44be33f4bc05d502a2ca49171e0408992f61
+ - Qt 5.15: 8b2cc0f6deb038a4c9d4f0d9b690c7726bd809a9
+
+
+--- old/qtbase/configure.json
++++ new/qtbase/configure.json
+@@ -1098,7 +1098,7 @@
+ },
+ "avx": {
+ "label": "AVX",
+- "condition": "features.sse4_2 && tests.avx",
++ "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)",
+ "output": [
+ "privateConfig",
+ { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 }
+@@ -1114,7 +1114,7 @@
+ },
+ "avx2": {
+ "label": "AVX2",
+- "condition": "features.avx && tests.avx2",
++ "condition": "features.avx && tests.avx2 && (!config.android || !arch.x86_64)",
+ "output": [
+ "privateConfig",
+ "privateFeature",
diff --git a/depends/patches/qt/fix_android_jni_static.patch b/depends/patches/qt/fix_android_jni_static.patch
index a186aeb8f6..bb64661761 100644
--- a/depends/patches/qt/fix_android_jni_static.patch
+++ b/depends/patches/qt/fix_android_jni_static.patch
@@ -1,6 +1,6 @@
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
-@@ -898,6 +898,14 @@
+@@ -914,6 +914,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
return -1;
}
diff --git a/depends/patches/qt/fix_android_pch.patch b/depends/patches/qt/fix_android_pch.patch
deleted file mode 100644
index 195e1c5e59..0000000000
--- a/depends/patches/qt/fix_android_pch.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- old/qtbase/mkspecs/common/android-base-head.conf
-+++ new/qtbase/mkspecs/common/android-base-head.conf
-@@ -72,6 +72,6 @@ CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-
- QMAKE_PCH_OUTPUT_EXT = .gch
-
- QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
--QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
-+QMAKE_CFLAGS_USE_PRECOMPILE = -include-pch ${QMAKE_PCH_OUTPUT}
- QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/depends/patches/qt/fix_bigsur_style.patch b/depends/patches/qt/fix_bigsur_style.patch
new file mode 100644
index 0000000000..0f6c848bb0
--- /dev/null
+++ b/depends/patches/qt/fix_bigsur_style.patch
@@ -0,0 +1,90 @@
+Fix rendering in macOS BigSur
+
+See: https://bugreports.qt.io/browse/QTBUG-86513.
+
+Upstream commits (combined in this patch):
+ - Qt 6.0: 40fb97e97f550b8afd13ecc3a038d9d0c2d82bbb
+ - Qt 6.0: 3857f104cac127f62e64e55a20613f0ac2e6b843
+ - Qt 6.1: abee4cdd5925a8513f51784754fca8fa35031732
+
+--- old/qtbase/src/plugins/styles/mac/qmacstyle_mac.mm
++++ new/qtbase/src/plugins/styles/mac/qmacstyle_mac.mm
+@@ -3870,6 +3870,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+ const auto cs = d->effectiveAquaSizeConstrain(opt, w);
+ // Extra hacks to get the proper pressed appreance when not selected or selected and inactive
+ const bool needsInactiveHack = (!isActive && isSelected);
++ const bool isBigSurOrAbove = QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur;
+ const auto ct = !needsInactiveHack && (isSelected || tp == QStyleOptionTab::OnlyOneTab) ?
+ QMacStylePrivate::Button_PushButton :
+ QMacStylePrivate::Button_PopupButton;
+@@ -3878,6 +3879,12 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+ auto *pb = static_cast<NSButton *>(d->cocoaControl(cw));
+
+ auto vOffset = isPopupButton ? 1 : 2;
++ if (isBigSurOrAbove) {
++ // Make it 1, otherwise, offset is very visible compared
++ // to selected tab (which is not a popup button).
++ vOffset = 1;
++ }
++
+ if (tabDirection == QMacStylePrivate::East)
+ vOffset -= 1;
+ const auto outerAdjust = isPopupButton ? 1 : 4;
+@@ -3894,9 +3901,22 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+ frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
+ else
+ frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
++
++ if (isSelected && isBigSurOrAbove) {
++ // 1 pixed of 'roundness' is still visible on the right
++ // (the left is OK, it's rounded).
++ frameRect = frameRect.adjusted(0, 0, 1, 0);
++ }
++
+ break;
+ case QStyleOptionTab::Middle:
+ frameRect = frameRect.adjusted(-innerAdjust, 0, innerAdjust, 0);
++
++ if (isSelected && isBigSurOrAbove) {
++ // 1 pixel of 'roundness' is still visible on both
++ // sides - left and right.
++ frameRect = frameRect.adjusted(-1, 0, 1, 0);
++ }
+ break;
+ case QStyleOptionTab::End:
+ // Pressed state hack: tweak adjustments in preparation for flip below
+@@ -3904,6 +3924,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+ frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
+ else
+ frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
++
++ if (isSelected && isBigSurOrAbove) {
++ // 1 pixel of 'roundness' is still visible on the left.
++ frameRect = frameRect.adjusted(-1, 0, 0, 0);
++ }
+ break;
+ case QStyleOptionTab::OnlyOneTab:
+ frameRect = frameRect.adjusted(-outerAdjust, 0, outerAdjust, 0);
+@@ -3951,7 +3976,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+ NSPopUpArrowPosition oldPosition = NSPopUpArrowAtCenter;
+ NSPopUpButtonCell *pbCell = nil;
+ auto rAdjusted = r;
+- if (isPopupButton && tp == QStyleOptionTab::OnlyOneTab) {
++ if (isPopupButton && (tp == QStyleOptionTab::OnlyOneTab || isBigSurOrAbove)) {
++ // Note: starting from macOS BigSur NSPopupButton has this
++ // arrow 'button' in a different place and it became
++ // quite visible 'in between' inactive tabs.
+ pbCell = static_cast<NSPopUpButtonCell *>(pb.cell);
+ oldPosition = pbCell.arrowPosition;
+ pbCell.arrowPosition = NSPopUpNoArrow;
+@@ -3959,6 +3987,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+ // NSPopUpButton in this state is smaller.
+ rAdjusted.origin.x -= 3;
+ rAdjusted.size.width += 6;
++ if (isBigSurOrAbove) {
++ if (tp == QStyleOptionTab::End)
++ rAdjusted.origin.x -= 2;
++ }
+ }
+ }
+
diff --git a/depends/patches/qt/fix_lib_paths.patch b/depends/patches/qt/fix_lib_paths.patch
deleted file mode 100644
index d1a15373f4..0000000000
--- a/depends/patches/qt/fix_lib_paths.patch
+++ /dev/null
@@ -1,193 +0,0 @@
---- old/qtbase/mkspecs/common/mac.conf
-+++ new/qtbase/mkspecs/common/mac.conf
-@@ -14,7 +14,6 @@
-
- QMAKE_RESOURCE = /Developer/Tools/Rez
- QMAKE_EXTENSION_SHLIB = dylib
--QMAKE_EXTENSIONS_AUX_SHLIB = tbd
- QMAKE_LIBDIR =
-
- # sdk.prf will prefix the proper SDK sysroot
-
---- old/qtbase/mkspecs/features/qmake_use.prf
-+++ new/qtbase/mkspecs/features/qmake_use.prf
-@@ -22,6 +22,8 @@
- !defined(QMAKE_LIBS_$$nu, var): \
- error("Library '$$lower($$replace(nu, _, -))' is not defined.")
-
-+ QMAKE_LIBDIR += $$eval(QMAKE_LIBDIR_$$nu)
-+
- debug: \
- LIBS$${suffix} += $$eval(QMAKE_LIBS_$${nu}_DEBUG) $$eval(QMAKE_LIBS_$$nu)
- else: \
-
---- old/qtbase/mkspecs/features/qt_configure.prf
-+++ new/qtbase/mkspecs/features/qt_configure.prf
-@@ -526,98 +526,23 @@
- return($$sysrootified)
- }
-
--# libs-var, libs, in-paths, out-paths-var
-+# libs-var, libs, in-paths
- defineTest(qtConfResolveLibs) {
-- ret = true
-- paths = $$3
-- out =
-- copy = false
-- for (l, 2) {
-- $$copy {
-- copy = false
-- out += $$l
-- } else: equals(l, "-s") {
-- # em++ flag to link libraries from emscripten-ports; passed on literally.
-- copy = true
-- out += $$l
-- } else: contains(l, "^-L.*") {
-- lp = $$replace(l, "^-L", )
-- gcc: lp = $$qtGccSysrootifiedPath($$lp)
-- !exists($$lp/.) {
-- qtLog("Library path $$val_escape(lp) is invalid.")
-- ret = false
-- } else {
-- paths += $$lp
-- }
-- } else: contains(l, "^-l.*") {
-- lib = $$replace(l, "^-l", )
-- lcan =
-- integrity:contains(lib, "^.*\\.a") {
-- # INTEGRITY compiler searches for exact filename
-- # if -l argument has .a suffix
-- lcan += $${lib}
-- } else: contains(lib, "^:.*") {
-- # Use exact filename when -l:filename syntax is used.
-- lib ~= s/^://
-- lcan += $${lib}
-- } else: unix {
-- # Under UNIX, we look for actual shared libraries, in addition
-- # to static ones.
-- shexts = $$QMAKE_EXTENSION_SHLIB $$QMAKE_EXTENSIONS_AUX_SHLIB
-- for (ext, shexts) {
-- lcan += $${QMAKE_PREFIX_SHLIB}$${lib}.$${ext}
-- }
-- lcan += \
-- $${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
-- } else {
-- # Under Windows, we look only for static libraries, as even for DLLs
-- # one actually links against a static import library.
-- mingw {
-- lcan += \
-- # MinGW supports UNIX-style library naming in addition to
-- # the MSVC style.
-- lib$${lib}.dll.a lib$${lib}.a \
-- # Fun fact: prefix-less libraries are also supported.
-- $${lib}.dll.a $${lib}.a
-- }
-- lcan += $${lib}.lib
-- }
-- l = $$qtConfFindInPathList($$lcan, $$paths $$EXTRA_LIBDIR $$QMAKE_DEFAULT_LIBDIRS)
-- isEmpty(l) {
-- qtLog("None of [$$val_escape(lcan)] found in [$$val_escape(paths)] and global paths.")
-- ret = false
-- } else {
-- out += $$l
-- }
-- } else {
-- out += $$l
-- }
-- }
-- $$1 = $$out
-+ for (path, 3): \
-+ pre_lflags += -L$$path
-+ $$1 = $$pre_lflags $$2
- export($$1)
-- !isEmpty(4) {
-- $$4 = $$paths
-- export($$4)
-- }
-- return($$ret)
--}
--
--# source-var
--defineTest(qtConfResolveAllLibs) {
-- ret = true
-- !qtConfResolveLibs($${1}.libs, $$eval($${1}.libs), , $${1}.libdirs): \
-- ret = false
-- for (b, $${1}.builds._KEYS_): \
-- !qtConfResolveLibs($${1}.builds.$${b}, $$eval($${1}.builds.$${b}), $$eval($${1}.libdirs), ): \
-- ret = false
-- return($$ret)
-+ return(true)
- }
-
- # libs-var, in-paths, libs
- defineTest(qtConfResolvePathLibs) {
- ret = true
-- gcc: 2 = $$qtGccSysrootifiedPaths($$2)
-- for (libdir, 2) {
-+ gcc: \
-+ local_paths = $$qtGccSysrootifiedPaths($$2)
-+ else: \
-+ local_paths = $$2
-+ for (libdir, local_paths) {
- !exists($$libdir/.) {
- qtLog("Library path $$val_escape(libdir) is invalid.")
- ret = false
-@@ -667,8 +592,11 @@
- # includes-var, in-paths, test-object-var
- defineTest(qtConfResolvePathIncs) {
- ret = true
-- gcc: 2 = $$qtGccSysrootifiedPaths($$2)
-- for (incdir, 2) {
-+ gcc: \
-+ local_paths = $$qtGccSysrootifiedPaths($$2)
-+ else: \
-+ local_paths = $$2
-+ for (incdir, local_paths) {
- !exists($$incdir/.) {
- qtLog("Include path $$val_escape(incdir) is invalid.")
- ret = false
-@@ -727,6 +655,7 @@
- vars += $$eval(config.commandline.rev_assignments.$${iv})
- defined(config.input.$${iv}, var) {
- eval($${1}.builds.$${b} = $$eval(config.input.$${iv}))
-+ export($${1}.builds.$${b})
- $${1}.builds._KEYS_ *= $${b}
- any = true
- } else {
-@@ -741,11 +670,14 @@
- export($${1}.builds._KEYS_)
- # we also reset the generic libs, to avoid surprises.
- $${1}.libs =
-+ export($${1}.libs)
- }
-
- # direct libs. overwrites inline libs.
-- defined(config.input.$${input}.libs, var): \
-+ defined(config.input.$${input}.libs, var) {
- eval($${1}.libs = $$eval(config.input.$${input}.libs))
-+ export($${1}.libs)
-+ }
-
- includes = $$eval(config.input.$${input}.incdir)
-
-@@ -754,6 +686,7 @@
- !isEmpty(prefix) {
- includes += $$prefix/include
- $${1}.libs = -L$$prefix/lib $$eval($${1}.libs)
-+ export($${1}.libs)
- }
-
- libdir = $$eval(config.input.$${input}.libdir)
-@@ -762,11 +695,9 @@
- for (ld, libdir): \
- libs += -L$$ld
- $${1}.libs = $$libs $$eval($${1}.libs)
-+ export($${1}.libs)
- }
-
-- !qtConfResolveAllLibs($$1): \
-- return(false)
--
- !qtConfResolvePathIncs($${1}.includedir, $$includes, $$2): \
- return(false)
-
diff --git a/depends/patches/qt/fix_limits_header.patch b/depends/patches/qt/fix_limits_header.patch
index e4313770e5..cb5a8cd1b5 100644
--- a/depends/patches/qt/fix_limits_header.patch
+++ b/depends/patches/qt/fix_limits_header.patch
@@ -19,17 +19,16 @@ Upstream commits:
#include <stdlib.h>
#include <string.h>
---- old/qtbase/src/corelib/tools/qbytearraymatcher.h
-+++ new/qtbase/src/corelib/tools/qbytearraymatcher.h
-@@ -42,6 +42,8 @@
-
- #include <QtCore/qbytearray.h>
+--- old/qtbase/src/corelib/global/qfloat16.h
++++ new/qtbase/src/corelib/global/qfloat16.h
+@@ -43,6 +43,7 @@
+ #include <QtCore/qglobal.h>
+ #include <QtCore/qmetatype.h>
+#include <limits>
-+
- QT_BEGIN_NAMESPACE
-
+ #include <string.h>
+ #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
--- old/qtbase/src/tools/moc/generator.cpp
+++ new/qtbase/src/tools/moc/generator.cpp
@@ -42,3 +41,24 @@ Upstream commits:
#include <math.h>
#include <stdio.h>
+--- old/qtbase/src/corelib/text/qbytearraymatcher.h
++++ new/qtbase/src/corelib/text/qbytearraymatcher.h
+@@ -42,6 +42,8 @@
+
+ #include <QtCore/qbytearray.h>
+
++#include <limits>
++
+ QT_BEGIN_NAMESPACE
+
+
+--- old/qtbase/src/corelib/tools/qoffsetstringarray_p.h
++++ new/qtbase/src/corelib/tools/qoffsetstringarray_p.h
+@@ -55,6 +55,7 @@
+
+ #include <tuple>
+ #include <array>
++#include <limits>
+
+ QT_BEGIN_NAMESPACE
+
diff --git a/depends/patches/qt/fix_qt_pkgconfig.patch b/depends/patches/qt/fix_qt_pkgconfig.patch
index a5de2b4b9e..73f4d89f73 100644
--- a/depends/patches/qt/fix_qt_pkgconfig.patch
+++ b/depends/patches/qt/fix_qt_pkgconfig.patch
@@ -4,20 +4,8 @@
load(qt_targets)
# this builds on top of qt_common
--!internal_module:if(unix|mingw) {
+-!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
+if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
CONFIG += create_pc
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
host_build: \
-@@ -284,9 +284,9 @@ load(qt_targets)
- QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE -I${includedir}/$$MODULE_INCNAME
- }
- QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
-- QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
-+ QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)$$qtPlatformTargetSuffix()
- for(i, MODULE_DEPENDS): \
-- QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))
-+ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
- isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
- QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
- !isEmpty(lib_replace0.match) {
diff --git a/depends/patches/qt/no-xlib.patch b/depends/patches/qt/no-xlib.patch
index f4a6f09ee4..d6846aaca2 100644
--- a/depends/patches/qt/no-xlib.patch
+++ b/depends/patches/qt/no-xlib.patch
@@ -22,7 +22,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
#include <xcb/xfixes.h>
#include <xcb/xcb_image.h>
-@@ -391,6 +393,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
+@@ -391,6 +391,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
xcb_flush(xcb_connection());
}
@@ -30,7 +30,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
static int cursorIdForShape(int cshape)
{
int cursorId = 0;
-@@ -444,6 +447,7 @@ static int cursorIdForShape(int cshape)
+@@ -444,6 +445,7 @@ static int cursorIdForShape(int cshape)
}
return cursorId;
}
@@ -38,7 +38,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
xcb_cursor_t QXcbCursor::createNonStandardCursor(int cshape)
{
-@@ -556,7 +560,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
+@@ -556,7 +558,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
{
xcb_connection_t *conn = xcb_connection();
@@ -48,16 +48,15 @@ index 7c62c2e2b3..c05c6c0a07 100644
xcb_cursor_t cursor = XCB_NONE;
// Try Xcursor first
-@@ -585,7 +591,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
-
+@@ -586,6 +590,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
// Non-standard X11 cursors are created from bitmaps
cursor = createNonStandardCursor(cshape);
--
+
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
// Create a glpyh cursor if everything else failed
if (!cursor && cursorId) {
cursor = xcb_generate_id(conn);
-@@ -593,6 +599,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
+@@ -593,6 +598,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
cursorId, cursorId + 1,
0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0);
}
diff --git a/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch b/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
index 0358bea6e9..f0c14a9400 100644
--- a/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
+++ b/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
@@ -7,7 +7,7 @@ Upstream report: https://bugreports.qt.io/browse/QTBUG-83160
diff --git a/qtbase/src/tools/moc/main.cpp b/qtbase/src/tools/moc/main.cpp
--- a/qtbase/src/tools/moc/main.cpp
+++ b/qtbase/src/tools/moc/main.cpp
-@@ -188,6 +188,7 @@ int runMoc(int argc, char **argv)
+@@ -238,6 +238,7 @@ int runMoc(int argc, char **argv)
dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__");
pp.macros["__attribute__"] = dummyVariadicFunctionMacro;
pp.macros["__declspec"] = dummyVariadicFunctionMacro;
diff --git a/depends/patches/qt/support_new_android_ndks.patch b/depends/patches/qt/support_new_android_ndks.patch
deleted file mode 100644
index 85c8ae2132..0000000000
--- a/depends/patches/qt/support_new_android_ndks.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-Follow Google's BuildSystemMaintainers doc to support future NDK releases.
-
-Upstream commit:
- - Qt 5.14: 9b14950ff600a4ce5a8698b67ab38907c50417f1
-
---- old/qtbase/mkspecs/android-clang/qmake.conf
-+++ new/qtbase/mkspecs/android-clang/qmake.conf
-@@ -14,43 +14,29 @@
- QMAKE_CC = $$NDK_LLVM_PATH/bin/clang
- QMAKE_CXX = $$NDK_LLVM_PATH/bin/clang++
-
-+# Follow https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md
-+
- equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
-- QMAKE_CFLAGS += -target armv7-none-linux-androideabi
--else: equals(ANDROID_TARGET_ARCH, armeabi): \
-- QMAKE_CFLAGS += -target armv5te-none-linux-androideabi
-+ QMAKE_CFLAGS = -target armv7a-linux-androideabi$$replace(ANDROID_PLATFORM, "android-", "")
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
-- QMAKE_CFLAGS += -target aarch64-none-linux-android
-+ QMAKE_CFLAGS = -target aarch64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
- else: equals(ANDROID_TARGET_ARCH, x86): \
-- QMAKE_CFLAGS += -target i686-none-linux-android -mstackrealign
-+ QMAKE_CFLAGS = -target i686-linux-android$$replace(ANDROID_PLATFORM, "android-", "") -mstackrealign
- else: equals(ANDROID_TARGET_ARCH, x86_64): \
-- QMAKE_CFLAGS += -target x86_64-none-linux-android
--else: equals(ANDROID_TARGET_ARCH, mips): \
-- QMAKE_CFLAGS += -target mipsel-none-linux-android
--else: equals(ANDROID_TARGET_ARCH, mips64): \
-- QMAKE_CFLAGS += -target mips64el-none-linux-android
--
--QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
--
--QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
--equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
--
--QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
-- -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
-- -isystem $$NDK_ROOT/sources/android/support/include \
-- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
-+ QMAKE_CFLAGS = -target x86_64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
-
--ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
-+QMAKE_CFLAGS += -fno-limit-debug-info
-
--ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
-+QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS
-
--ANDROID_USE_LLVM = true
-+ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/$$NDK_TOOLS_PREFIX/libc++_shared.so
-
--exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
-- ANDROID_CXX_STL_LIBS = -lc++
--else: \
-- ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
-+ANDROID_USE_LLVM = true
-
--QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
-+QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
-+QMAKE_LIBDIR_POST =
-+QMAKE_LFLAGS =
-+QMAKE_LIBS_PRIVATE =
-+ANDROID_CXX_STL_LIBS =
-
- include(../common/android-base-tail.conf)
-
---- old/qtbase/mkspecs/common/android-base-head.conf
-+++ new/qtbase/mkspecs/common/android-base-head.conf
-@@ -64,7 +58,6 @@
- }
-
- CONFIG += $$ANDROID_PLATFORM
--QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "")
-
- ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
-
---- old/qtbase/mkspecs/common/android-base-tail.conf
-+++ new/qtbase/mkspecs/common/android-base-tail.conf
-@@ -6,22 +6,17 @@
- QMAKE_CFLAGS += -fstack-protector-strong -DANDROID
-
- equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
-- QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove
-+ QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp
- else: equals(ANDROID_TARGET_ARCH, armeabi): \
-- QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float -fno-builtin-memmove
--# -fno-builtin-memmove is used to workaround https://code.google.com/p/android/issues/detail?id=81692
-+ QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float
-
- QMAKE_CFLAGS_WARN_ON = -Wall -W
- QMAKE_CFLAGS_WARN_OFF =
- equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
- CONFIG += optimize_size
- QMAKE_CFLAGS_DEBUG = -g -marm -O0
-- equals(ANDROID_TARGET_ARCH, armeabi):if(equals(NDK_TOOLCHAIN_VERSION, 4.8)|equals(NDK_TOOLCHAIN_VERSION, 4.9)) {
-- DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND
-- } else {
-- QMAKE_CFLAGS_RELEASE += -mthumb
-- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
-- }
-+ QMAKE_CFLAGS_RELEASE += -mthumb
-+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
- }
-
- QMAKE_CFLAGS_SHLIB = -fPIC
-@@ -61,15 +56,12 @@
- QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
-
- QMAKE_INCDIR_POST =
--QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR
- QMAKE_INCDIR_X11 =
- QMAKE_LIBDIR_X11 =
- QMAKE_INCDIR_OPENGL =
- QMAKE_LIBDIR_OPENGL =
-
- QMAKE_LINK_SHLIB = $$QMAKE_LINK
--QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
--equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64
- QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
- QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
- QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
diff --git a/depends/patches/qt/use_android_ndk23.patch b/depends/patches/qt/use_android_ndk23.patch
new file mode 100644
index 0000000000..85b8690218
--- /dev/null
+++ b/depends/patches/qt/use_android_ndk23.patch
@@ -0,0 +1,13 @@
+Use Android NDK r23 LTS
+
+--- old/qtbase/mkspecs/features/android/default_pre.prf
++++ new/qtbase/mkspecs/features/android/default_pre.prf
+@@ -73,7 +73,7 @@ else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-
+ else: equals(QT_ARCH, arm64-v8a): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/aarch64-linux-android-
+ else: CROSS_COMPILE = $$NDK_LLVM_PATH/bin/arm-linux-androideabi-
+
+-QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
++QMAKE_RANLIB = $$NDK_LLVM_PATH/bin/llvm-ranlib
+ QMAKE_LINK_SHLIB = $$QMAKE_LINK
+ QMAKE_LFLAGS =
+