mirror of
https://github.com/feather-wallet/feather.git
synced 2024-12-22 11:39:25 +00:00
depends: qt: update to 6.5.2
This commit is contained in:
parent
9ec53dc7d5
commit
09720d3269
15 changed files with 131 additions and 639 deletions
|
@ -1,9 +1,9 @@
|
|||
package=native_qt
|
||||
$(package)_version=6.5.1
|
||||
$(package)_version=6.5.2
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.5/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=db56fa1f4303a1189fe33418d25d1924931c7aef237f89eea9de58e858eebfed
|
||||
$(package)_sha256_hash=3db4c729b4d80a9d8fda8dd77128406353baff4755ca619177eda4cddae71269
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches = dont_hardcode_pwd.patch
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
|
@ -13,16 +13,16 @@ $(package)_patches += rcc_hardcode_timestamp.patch
|
|||
$(package)_patches += root_CMakeLists.txt
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=5744df9e84b2a86f7f932ffc00341c7d7209e741fd1c0679a32b855fcceb2329
|
||||
$(package)_qttools_sha256_hash=551ffb22751d8fd4d88e9ebd55b9131f4ca55341ee497fdbbba4da8d10d94341
|
||||
|
||||
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
|
||||
$(package)_qtsvg_sha256_hash=d58d29491d44f0f59b684686a9898fec0e6c4fb7c09d9393b4e9c211fe9608ef
|
||||
$(package)_qtsvg_sha256_hash=48b4cc1093af2e0ab3bea30f60651bddd877a2335d16e7207879a2e9e81963a3
|
||||
|
||||
$(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix)
|
||||
$(package)_qtmultimedia_sha256_hash=0b1fc560e1c8cdda1ddb13db832c3b595f7e4079118d4847d8de18d82464e1cc
|
||||
$(package)_qtmultimedia_sha256_hash=948f00aa679e92839a2a71bd07245a92cc849af486607417ee4c334b2b998975
|
||||
|
||||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=e5806761835944ef91d5aee0679e0c8231bf7a981e064480e65c751ebdf65052
|
||||
$(package)_qtshadertools_sha256_hash=ca3fb0db8576c59b9c38bb4b271cc6e10aebeb54e2121f429f4ee80671fc0a3d
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
|
|
|
@ -1,53 +1,41 @@
|
|||
package=qt
|
||||
$(package)_version=6.5.1
|
||||
$(package)_version=6.5.2
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.5/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=db56fa1f4303a1189fe33418d25d1924931c7aef237f89eea9de58e858eebfed
|
||||
$(package)_sha256_hash=3db4c729b4d80a9d8fda8dd77128406353baff4755ca619177eda4cddae71269
|
||||
$(package)_darwin_dependencies=native_cctools native_qt openssl
|
||||
$(package)_mingw32_dependencies=openssl native_qt
|
||||
$(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_linguist_tools = lrelease lupdate lconvert
|
||||
$(package)_patches = aarch64Toolchain.cmake
|
||||
$(package)_patches += arm64-apple-toolchain.cmake
|
||||
$(package)_patches += dont_hardcode_pwd.patch
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches += gnueabihfToolchain.cmake
|
||||
$(package)_patches += guix_cross_lib_path.patch
|
||||
$(package)_patches += MacToolchain.cmake
|
||||
$(package)_patches += no_pthread_cond_clockwait.patch
|
||||
$(package)_patches += no-renameat2.patch
|
||||
$(package)_patches += no-statx.patch
|
||||
$(package)_patches += no_wraprt_on_apple.patch
|
||||
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
|
||||
$(package)_patches += qtmultimedia-fixes.patch
|
||||
$(package)_patches += rcc_hardcode_timestamp.patch
|
||||
$(package)_patches += riscvToolchain.cmake
|
||||
$(package)_patches += root_CMakeLists.txt
|
||||
$(package)_patches += v4l2.patch
|
||||
$(package)_patches += windows_func_fix.patch
|
||||
$(package)_patches += WindowsToolchain.cmake
|
||||
$(package)_patches += revert_f99ee441.patch
|
||||
$(package)_patches += CVE-2023-34410-qtbase-6.5.diff
|
||||
$(package)_patches += xcb-util-image-fix.patch
|
||||
$(package)_patches += libxau-fix.patch
|
||||
$(package)_patches += toolchain.cmake
|
||||
#$(package)_patches += fix-static-fontconfig-static-linking.patch
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=5744df9e84b2a86f7f932ffc00341c7d7209e741fd1c0679a32b855fcceb2329
|
||||
$(package)_qttools_sha256_hash=551ffb22751d8fd4d88e9ebd55b9131f4ca55341ee497fdbbba4da8d10d94341
|
||||
|
||||
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
|
||||
$(package)_qtsvg_sha256_hash=d58d29491d44f0f59b684686a9898fec0e6c4fb7c09d9393b4e9c211fe9608ef
|
||||
$(package)_qtsvg_sha256_hash=48b4cc1093af2e0ab3bea30f60651bddd877a2335d16e7207879a2e9e81963a3
|
||||
|
||||
$(package)_qtwebsockets_file_name=qtwebsockets-$($(package)_suffix)
|
||||
$(package)_qtwebsockets_sha256_hash=6b8f66b250a675117aae35b48dbfc589619be2810a759ad1712a9cd20561da19
|
||||
$(package)_qtwebsockets_sha256_hash=204bd7b0dffb54c934abc6cf0eb5e3016f11b3c9721a67b4875a6b21bb8b5c76
|
||||
|
||||
$(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix)
|
||||
$(package)_qtmultimedia_sha256_hash=0b1fc560e1c8cdda1ddb13db832c3b595f7e4079118d4847d8de18d82464e1cc
|
||||
$(package)_qtmultimedia_sha256_hash=948f00aa679e92839a2a71bd07245a92cc849af486607417ee4c334b2b998975
|
||||
|
||||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=e5806761835944ef91d5aee0679e0c8231bf7a981e064480e65c751ebdf65052
|
||||
$(package)_qtshadertools_sha256_hash=ca3fb0db8576c59b9c38bb4b271cc6e10aebeb54e2121f429f4ee80671fc0a3d
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
|
@ -56,137 +44,94 @@ $(package)_extra_sources += $($(package)_qtmultimedia_file_name)
|
|||
$(package)_extra_sources += $($(package)_qtshadertools_file_name)
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts_release = -release
|
||||
$(package)_config_opts_debug = -debug
|
||||
$(package)_config_opts_debug += -optimized-tools
|
||||
$(package)_config_opts += -libexecdir $(build_prefix)/bin
|
||||
$(package)_config_opts += -confirm-license
|
||||
$(package)_config_opts += -no-cups
|
||||
$(package)_config_opts += -no-egl
|
||||
$(package)_config_opts += -no-eglfs
|
||||
$(package)_config_opts += -no-evdev
|
||||
$(package)_config_opts += -no-gif
|
||||
$(package)_config_opts += -no-glib
|
||||
$(package)_config_opts += -no-icu
|
||||
$(package)_config_opts += -no-ico
|
||||
$(package)_config_opts += -no-kms
|
||||
$(package)_config_opts += -no-linuxfb
|
||||
#$(package)_config_opts += -no-libjpeg # Needed
|
||||
#$(package)_config_opts += -no-libproxy # Needed
|
||||
$(package)_config_opts += -no-libudev
|
||||
$(package)_config_opts += -no-mtdev
|
||||
$(package)_config_opts += -openssl-linked
|
||||
$(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-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 += -opensource
|
||||
$(package)_config_opts += -pkg-config
|
||||
$(package)_config_opts += -prefix $(host_prefix)
|
||||
$(package)_config_opts += -qt-libpng
|
||||
$(package)_config_opts += -qt-pcre
|
||||
$(package)_config_opts += -qt-harfbuzz
|
||||
$(package)_config_opts += -qt-zlib
|
||||
$(package)_config_opts += -static
|
||||
$(package)_config_opts += -no-feature-colordialog
|
||||
#$(package)_config_opts += -no-feature-concurrent # Needed
|
||||
$(package)_config_opts += -no-feature-dial
|
||||
$(package)_config_opts += -no-feature-fontcombobox
|
||||
#$(package)_config_opts += -no-feature-http # Needed
|
||||
$(package)_config_opts += -no-feature-image_heuristic_mask
|
||||
$(package)_config_opts += -no-feature-keysequenceedit
|
||||
$(package)_config_opts += -no-feature-lcdnumber
|
||||
$(package)_config_opts += -no-feature-networkdiskcache
|
||||
#$(package)_config_opts += -no-feature-networkproxy # Needed
|
||||
$(package)_config_opts += -no-feature-pdf
|
||||
$(package)_config_opts += -no-feature-printdialog
|
||||
$(package)_config_opts += -no-feature-printer
|
||||
$(package)_config_opts += -no-feature-printpreviewdialog
|
||||
$(package)_config_opts += -no-feature-printpreviewwidget
|
||||
$(package)_config_opts += -no-feature-printsupport
|
||||
$(package)_config_opts += -no-feature-sessionmanager
|
||||
#$(package)_config_opts += -no-feature-socks5 # Needed
|
||||
$(package)_config_opts += -no-feature-spatialaudio
|
||||
$(package)_config_opts += -no-feature-sql
|
||||
$(package)_config_opts += -no-feature-syntaxhighlighter
|
||||
#$(package)_config_opts += -no-feature-textbrowser # Needed
|
||||
$(package)_config_opts += -no-feature-textmarkdownwriter
|
||||
$(package)_config_opts += -no-feature-textodfwriter
|
||||
$(package)_config_opts += -no-feature-topleveldomain
|
||||
#$(package)_config_opts += -no-feature-udpsocket # Neede
|
||||
$(package)_config_opts += -no-feature-undocommand
|
||||
$(package)_config_opts += -no-feature-undogroup
|
||||
$(package)_config_opts += -no-feature-undostack
|
||||
$(package)_config_opts += -no-feature-undoview
|
||||
$(package)_config_opts += -no-feature-vnc
|
||||
#$(package)_config_opts += -no-feature-wizard # Needed
|
||||
$(package)_config_opts += -DQT_HOST_PATH=$(build_prefix)/qt-host
|
||||
$(package)_config_opts += -DCMAKE_LIBRARY_PATH=/home/user/.guix-profile/lib
|
||||
$(package)_config_opts += -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DCMAKE_INSTALL_PREFIX=$(host_prefix)
|
||||
$(package)_config_opts += -DINSTALL_LIBEXECDIR=$(build_prefix)/bin
|
||||
$(package)_config_opts += -DQT_BUILD_EXAMPLES=FALSE
|
||||
$(package)_config_opts += -DQT_BUILD_TESTS=FALSE
|
||||
$(package)_config_opts += -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
|
||||
|
||||
$(package)_config_opts_darwin = -no-dbus
|
||||
$(package)_config_opts_darwin += -no-pch
|
||||
$(package)_config_opts_darwin += -no-freetype
|
||||
$(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
|
||||
$(package)_config_opts += -DINPUT_cups=no
|
||||
$(package)_config_opts += -DINPUT_egl=no
|
||||
$(package)_config_opts += -DINPUT_eglfs=no
|
||||
$(package)_config_opts += -DINPUT_evdev=no
|
||||
$(package)_config_opts += -DINPUT_gif=no
|
||||
$(package)_config_opts += -DINPUT_glib=no
|
||||
$(package)_config_opts += -DINPUT_icu=no
|
||||
$(package)_config_opts += -DINPUT_ico=no
|
||||
$(package)_config_opts += -DINPUT_kms=no
|
||||
$(package)_config_opts += -DINPUT_linuxfb=no
|
||||
$(package)_config_opts += -DINPUT_libudev=no
|
||||
$(package)_config_opts += -DINPUT_mtdev=no
|
||||
$(package)_config_opts += -DINPUT_openssl=linked
|
||||
$(package)_config_opts += -DINPUT_openvg=no
|
||||
$(package)_config_opts += -DINPUT_reduce_relocations=no
|
||||
$(package)_config_opts += -DINPUT_schannel=no
|
||||
$(package)_config_opts += -DINPUT_sctp=no
|
||||
$(package)_config_opts += -DINPUT_securetransport=no
|
||||
$(package)_config_opts += -DINPUT_system_proxies=no
|
||||
$(package)_config_opts += -DINPUT_use_gold_linker_alias=no
|
||||
$(package)_config_opts += -DINPUT_zstd=no
|
||||
$(package)_config_opts += -DINPUT_pkg_config=yes
|
||||
$(package)_config_opts += -DINPUT_libpng=qt
|
||||
$(package)_config_opts += -DINPUT_pcre=qt
|
||||
$(package)_config_opts += -DINPUT_harfbuzz=qt
|
||||
$(package)_config_opts += -DINPUT_system_zlib=no
|
||||
$(package)_config_opts += -DINPUT_colordialog=no
|
||||
$(package)_config_opts += -DINPUT_dial=no
|
||||
$(package)_config_opts += -DINPUT_fontcombobox=no
|
||||
$(package)_config_opts += -DINPUT_image_heuristic_mask=no
|
||||
$(package)_config_opts += -DINPUT_keysequenceedit=no
|
||||
$(package)_config_opts += -DINPUT_lcdnumber=no
|
||||
$(package)_config_opts += -DINPUT_networkdiskcache=no
|
||||
$(package)_config_opts += -DINPUT_pdf=no
|
||||
$(package)_config_opts += -DINPUT_printdialog=no
|
||||
$(package)_config_opts += -DINPUT_printer=no
|
||||
$(package)_config_opts += -DINPUT_printpreviewdialog=no
|
||||
$(package)_config_opts += -DINPUT_printpreviewwidget=no
|
||||
$(package)_config_opts += -DINPUT_printsupport=no
|
||||
$(package)_config_opts += -DINPUT_sessionmanager=no
|
||||
$(package)_config_opts += -DINPUT_sql=no
|
||||
$(package)_config_opts += -DINPUT_syntaxhighlighter=no
|
||||
$(package)_config_opts += -DINPUT_textmarkdownwriter=no
|
||||
$(package)_config_opts += -DINPUT_textodfwriter=no
|
||||
$(package)_config_opts += -DINPUT_topleveldomain=no
|
||||
$(package)_config_opts += -DINPUT_undocommand=no
|
||||
$(package)_config_opts += -DINPUT_undogroup=no
|
||||
$(package)_config_opts += -DINPUT_undostack=no
|
||||
$(package)_config_opts += -DINPUT_undoview=no
|
||||
$(package)_config_opts += -DINPUT_vnc=no
|
||||
|
||||
ifneq ($(build_os),darwin)
|
||||
$(package)_config_opts_darwin += -xplatform macx-clang
|
||||
$(package)_config_opts_darwin += -device-option MAC_SDK_PATH=$(host_prefix)/native/SDK
|
||||
$(package)_config_opts_darwin += -device-option MAC_SDK_VERSION=$(OSX_SDK_VERSION)
|
||||
$(package)_config_opts_darwin += -device-option CROSS_COMPILE="$(host)-"
|
||||
$(package)_config_opts_darwin += -device-option MAC_TARGET=$(host)
|
||||
$(package)_config_opts_darwin += -device-option XCODE_VERSION=$(XCODE_VERSION)
|
||||
$(package)_config_opts_darwin += -qt-host-path $(build_prefix)/qt-host
|
||||
endif
|
||||
$(package)_config_opts_linux += -DQT_QMAKE_TARGET_MKSPEC=linux-g++
|
||||
$(package)_config_opts_linux += -DINPUT_xcb=yes
|
||||
$(package)_config_opts_linux += -DINPUT_xcb_xlib=no
|
||||
$(package)_config_opts_linux += -DINPUT_xlib=no
|
||||
$(package)_config_opts_linux += -DINPUT_freetype=system
|
||||
$(package)_config_opts_linux += -DINPUT_fontconfig=yes
|
||||
$(package)_config_opts_linux += -DINPUT_opengl=no
|
||||
$(package)_config_opts_linux += -DINPUT_vulkan=no
|
||||
$(package)_config_opts_linux += -DINPUT_backtrace=no
|
||||
$(package)_config_opts_linux += -DINPUT_dbus=linked
|
||||
$(package)_config_opts_linux += -DBUILD_WITH_PCH=OFF
|
||||
|
||||
$(package)_config_opts_darwin += -no-feature-ffmpeg
|
||||
$(package)_config_opts_aarch64_darwin += -- -DCMAKE_TOOLCHAIN_FILE=arm64-apple-toolchain.cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib
|
||||
$(package)_config_opts_x86_64_darwin += -- -DCMAKE_TOOLCHAIN_FILE=MacToolchain.cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib
|
||||
$(package)_config_opts_mingw32 += -DQT_QMAKE_TARGET_MKSPEC=win32-g++
|
||||
$(package)_config_opts_mingw32 += -DINPUT_opengl=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_dbus=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_freetype=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_wmf=yes
|
||||
$(package)_config_opts_mingw32 += -DBUILD_WITH_PCH=ON
|
||||
|
||||
$(package)_config_opts_linux = -xcb
|
||||
$(package)_config_opts_linux += -no-xcb-xlib
|
||||
$(package)_config_opts_linux += -no-feature-xlib
|
||||
#$(package)_config_opts_linux += -feature-ffmpeg
|
||||
#$(package)_config_opts_linux += -feature-pulseaudio
|
||||
$(package)_config_opts_darwin += -DQT_QMAKE_TARGET_MKSPEC=macx-clang
|
||||
$(package)_config_opts_darwin += -DINPUT_dbus=no
|
||||
$(package)_config_opts_darwin += -DINPUT_freetype=no
|
||||
$(package)_config_opts_darwin += -DINPUT_ffmpeg=no
|
||||
$(package)_config_opts_darwin += -DQMAKE_MACOSX_DEPLOYMENT_TARGET=11.0
|
||||
$(package)_config_opts_darwin += -DBUILD_WITH_PCH=OFF
|
||||
$(package)_config_opts_darwin += '-DQT_QMAKE_DEVICE_OPTIONS=MAC_SDK_PATH=$(host_prefix)/native/SDK;MAC_SDK_VERSION=$(OSX_SDK_VERSION);CROSS_COMPILE=$(host)-;MAC_TARGET=$(host);XCODE_VERSION=$(XCODE_VERSION)'
|
||||
|
||||
# https://bugreports.qt.io/browse/QTBUG-99957
|
||||
$(package)_config_opts_linux += -no-pch
|
||||
|
||||
$(package)_config_opts_linux += -system-freetype
|
||||
$(package)_config_opts_linux += -fontconfig
|
||||
$(package)_config_opts_linux += -no-opengl
|
||||
$(package)_config_opts_linux += -no-feature-vulkan
|
||||
$(package)_config_opts_linux += -no-feature-backtrace
|
||||
$(package)_config_opts_linux += -dbus-linked
|
||||
ifneq ($(LTO),)
|
||||
$(package)_config_opts_linux += -ltcg
|
||||
endif
|
||||
$(package)_config_opts_linux += -platform linux-g++ -xplatform linux-g++
|
||||
ifneq (,$(findstring -stdlib=libc++,$($(1)_cxx)))
|
||||
$(package)_config_opts_x86_64_linux = -xplatform linux-clang-libc++
|
||||
endif
|
||||
|
||||
$(package)_config_opts_arm_linux += -qt-host-path $(build_prefix)/qt-host
|
||||
$(package)_config_opts_arm_linux += -- -DCMAKE_TOOLCHAIN_FILE=gnueabihfToolchain.cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib
|
||||
|
||||
$(package)_config_opts_aarch64_linux += -qt-host-path $(build_prefix)/qt-host
|
||||
$(package)_config_opts_aarch64_linux += -- -DCMAKE_TOOLCHAIN_FILE=aarch64Toolchain.cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib
|
||||
|
||||
$(package)_config_opts_riscv64_linux += -qt-host-path $(build_prefix)/qt-host
|
||||
$(package)_config_opts_riscv64_linux += -- -DCMAKE_TOOLCHAIN_FILE=riscvToolchain.cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib
|
||||
|
||||
$(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 += -device-option CROSS_COMPILE="$(host)-"
|
||||
$(package)_config_opts_mingw32 += -pch
|
||||
$(package)_config_opts_mingw32 += -qt-host-path $(build_prefix)/qt-host
|
||||
$(package)_config_opts_mingw32 += -wmf
|
||||
$(package)_config_opts_mingw32 += -- -DCMAKE_TOOLCHAIN_FILE=WindowsToolchain.cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib
|
||||
$(package)_config_opts += -G Ninja
|
||||
|
||||
$(package)_openssl_flags_$(host_os)="-lssl -lcrypto -lpthread -ldl"
|
||||
$(package)_openssl_flags_mingw32="-lssl -lcrypto -lws2_32"
|
||||
|
@ -231,26 +176,16 @@ define $(package)_preprocess_cmds
|
|||
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fast_fixed_dtoa_no_optimize.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/guix_cross_lib_path.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-statx.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-renameat2.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no_pthread_cond_clockwait.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/windows_func_fix.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no_wraprt_on_apple.patch && \
|
||||
mv $($(package)_patch_dir)/WindowsToolchain.cmake . && \
|
||||
mv $($(package)_patch_dir)/MacToolchain.cmake . && \
|
||||
sed -i -e 's|@cmake_c_flags@|$(darwin_CC_)|' \
|
||||
-e 's|@cmake_cxx_flags@|$(darwin_CXX_)|' \
|
||||
MacToolchain.cmake && \
|
||||
mv $($(package)_patch_dir)/aarch64Toolchain.cmake . && \
|
||||
mv $($(package)_patch_dir)/arm64-apple-toolchain.cmake . && \
|
||||
sed -i -e 's|@cmake_c_flags@|$(darwin_CC_)|' \
|
||||
-e 's|@cmake_cxx_flags@|$(darwin_CXX_)|' \
|
||||
arm64-apple-toolchain.cmake && \
|
||||
mv $($(package)_patch_dir)/gnueabihfToolchain.cmake . && \
|
||||
mv $($(package)_patch_dir)/riscvToolchain.cmake . && \
|
||||
mv $($(package)_patch_dir)/toolchain.cmake . && \
|
||||
sed -i -e 's|@cmake_system_name@|$($(host_os)_cmake_system)|' \
|
||||
-e 's|@target@|$(host)|' \
|
||||
-e 's|@host_prefix@|$(host_prefix)|' \
|
||||
-e 's|@cmake_c_flags@|$(darwin_CC_)|' \
|
||||
-e 's|@cmake_cxx_flags@|$(darwin_CXX_)|' \
|
||||
toolchain.cmake && \
|
||||
cd qtbase && \
|
||||
patch -p1 -i $($(package)_patch_dir)/revert_f99ee441.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/CVE-2023-34410-qtbase-6.5.diff && \
|
||||
patch -p1 -i $($(package)_patch_dir)/xcb-util-image-fix.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/libxau-fix.patch && \
|
||||
cd ../qtmultimedia && \
|
||||
|
@ -258,18 +193,8 @@ define $(package)_preprocess_cmds
|
|||
patch -p1 -i $($(package)_patch_dir)/v4l2.patch
|
||||
endef
|
||||
|
||||
# TODO: this is a mess, but i'm tired of rebuilding Qt so it is what it is
|
||||
# TODO: find a better way to make WMF libraries available to Qt without polluting the environment
|
||||
ifeq ($(host_os),darwin)
|
||||
define $(package)_config_cmds
|
||||
export OPENSSL_LIBS=${$(package)_openssl_flags_$(host_os)} \
|
||||
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||
export QT_MAC_SDK_NO_VERSION_CHECK=1 && \
|
||||
cd qtbase && \
|
||||
env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH -u LIBRARY_PATH ./configure -top-level $($(package)_config_opts) -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
endef
|
||||
else ifeq ($(host_os),mingw32)
|
||||
ifeq ($(host_os),mingw32)
|
||||
define $(package)_config_cmds
|
||||
cp $(WMF_LIBS)/lib/libstrmiids.a \
|
||||
$(WMF_LIBS)/lib/libamstrmid.a \
|
||||
|
@ -287,11 +212,7 @@ define $(package)_config_cmds
|
|||
export OPENSSL_LIBS=${$(package)_openssl_flags_$(host_os)} \
|
||||
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||
export QT_MAC_SDK_NO_VERSION_CHECK=1 && \
|
||||
export V=1 && \
|
||||
export VERBOSE=1 && \
|
||||
cd qtbase && \
|
||||
./configure -top-level $($(package)_config_opts) -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
cmake -DCMAKE_LIBRARY_PATH=$(HOME)/.guix-profile/lib $($(package)_config_opts)
|
||||
endef
|
||||
else
|
||||
define $(package)_config_cmds
|
||||
|
@ -299,22 +220,14 @@ define $(package)_config_cmds
|
|||
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||
export QT_MAC_SDK_NO_VERSION_CHECK=1 && \
|
||||
cd qtbase && \
|
||||
./configure -top-level $($(package)_config_opts)
|
||||
env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH -u LIBRARY_PATH cmake $($(package)_config_opts)
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(host_os),darwin)
|
||||
define $(package)_build_cmds
|
||||
export LD_LIBRARY_PATH="${build_prefix}/lib/:$(QT_LIBS_LIBS)" && \
|
||||
env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH -u LIBRARY_PATH cmake --build . --parallel
|
||||
endef
|
||||
else
|
||||
define $(package)_build_cmds
|
||||
export LD_LIBRARY_PATH="${build_prefix}/lib/:$(QT_LIBS_LIBS)" && \
|
||||
cmake --build . --parallel
|
||||
endef
|
||||
endif
|
||||
|
||||
define $(package)_stage_cmds
|
||||
DESTDIR=$($(package)_staging_dir) cmake --install .
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
--- a/src/plugins/tls/schannel/qtls_schannel.cpp
|
||||
+++ b/src/plugins/tls/schannel/qtls_schannel.cpp
|
||||
@@ -2106,6 +2106,27 @@ bool TlsCryptographSchannel::verifyCertContext(CERT_CONTEXT *certContext)
|
||||
verifyDepth = DWORD(q->peerVerifyDepth());
|
||||
|
||||
const auto &caCertificates = q->sslConfiguration().caCertificates();
|
||||
+
|
||||
+ if (!rootCertOnDemandLoadingAllowed()
|
||||
+ && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN)
|
||||
+ && (q->peerVerifyMode() == QSslSocket::VerifyPeer
|
||||
+ || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) {
|
||||
+ // When verifying a peer Windows "helpfully" builds a chain that
|
||||
+ // may include roots from the system store. But we don't want that if
|
||||
+ // the user has set their own CA certificates.
|
||||
+ // Since Windows claims this is not a partial chain the root is included
|
||||
+ // and we have to check that it is one of our configured CAs.
|
||||
+ CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1];
|
||||
+ QSslCertificate certificate = getCertificateFromChainElement(element);
|
||||
+ if (!caCertificates.contains(certificate)) {
|
||||
+ auto error = QSslError(QSslError::CertificateUntrusted, certificate);
|
||||
+ sslErrors += error;
|
||||
+ emit q->peerVerifyError(error);
|
||||
+ if (q->state() != QAbstractSocket::ConnectedState)
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
QList<QSslCertificate> peerCertificateChain;
|
||||
for (DWORD i = 0; i < verifyDepth; i++) {
|
||||
CERT_CHAIN_ELEMENT *element = chain->rgpElement[i];
|
||||
|
||||
--- a/src/network/ssl/qsslsocket.cpp
|
||||
+++ b/src/network/ssl/qsslsocket.cpp
|
||||
@@ -1973,6 +1973,10 @@ QSslSocketPrivate::QSslSocketPrivate()
|
||||
, flushTriggered(false)
|
||||
{
|
||||
QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration);
|
||||
+ // If the global configuration doesn't allow root certificates to be loaded
|
||||
+ // on demand then we have to disable it for this socket as well.
|
||||
+ if (!configuration.allowRootCertOnDemandLoading)
|
||||
+ allowRootCertOnDemandLoading = false;
|
||||
|
||||
const auto *tlsBackend = tlsBackendInUse();
|
||||
if (!tlsBackend) {
|
||||
@@ -2281,6 +2285,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri
|
||||
ptr->sessionProtocol = global->sessionProtocol;
|
||||
ptr->ciphers = global->ciphers;
|
||||
ptr->caCertificates = global->caCertificates;
|
||||
+ ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading;
|
||||
ptr->protocol = global->protocol;
|
||||
ptr->peerVerifyMode = global->peerVerifyMode;
|
||||
ptr->peerVerifyDepth = global->peerVerifyDepth;
|
|
@ -1,24 +0,0 @@
|
|||
# Targeted operating system.
|
||||
set(CMAKE_SYSTEM_NAME Darwin)
|
||||
|
||||
# TODO: don't hardcode this
|
||||
set(TARGET_SYSROOT /feather/contrib/depends/x86_64-apple-darwin/native/SDK)
|
||||
set(CMAKE_SYSROOT ${TARGET_SYSROOT})
|
||||
set(CMAKE_OSX_SYSROOT ${TARGET_SYSROOT})
|
||||
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
|
||||
set(CMAKE_C_FLAGS "@cmake_c_flags@")
|
||||
set(CMAKE_CXX_FLAGS "@cmake_cxx_flags@")
|
||||
|
||||
set(CMAKE_INSTALL_NAME_TOOL x86_64-apple-darwin-install_name_tool)
|
||||
set(CMAKE_FIND_ROOT_PATH /feather/contrib/depends/x86_64-apple-darwin/)
|
||||
|
||||
# Adjust the default behavior of the find commands:
|
||||
# search headers and libraries in the target environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
# Search programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
@ -1,15 +0,0 @@
|
|||
# Targeted operating system.
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# Use mingw 64-bit compilers.
|
||||
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
|
||||
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
|
||||
set(CMAKE_FIND_ROOT_PATH /feather/contrib/depends/x86_64-w64-mingw32/)
|
||||
|
||||
# Adjust the default behavior of the find commands:
|
||||
# search headers and libraries in the target environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
# Search programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
@ -1,10 +0,0 @@
|
|||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
|
||||
set(CMAKE_FIND_ROOT_PATH /feather/contrib/depends/aarch64-linux-gnu/)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
@ -1,24 +0,0 @@
|
|||
# Targeted operating system.
|
||||
set(CMAKE_SYSTEM_NAME Darwin)
|
||||
|
||||
# TODO: don't hardcode this
|
||||
set(TARGET_SYSROOT /feather/contrib/depends/arm64-apple-darwin/native/SDK)
|
||||
set(CMAKE_SYSROOT ${TARGET_SYSROOT})
|
||||
set(CMAKE_OSX_SYSROOT ${TARGET_SYSROOT})
|
||||
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
|
||||
set(CMAKE_C_FLAGS "@cmake_c_flags@")
|
||||
set(CMAKE_CXX_FLAGS "@cmake_cxx_flags@")
|
||||
|
||||
set(CMAKE_INSTALL_NAME_TOOL arm64-apple-darwin-install_name_tool)
|
||||
set(CMAKE_FIND_ROOT_PATH /feather/contrib/depends/arm64-apple-darwin/)
|
||||
|
||||
# Adjust the default behavior of the find commands:
|
||||
# search headers and libraries in the target environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
# Search programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
@ -1,10 +0,0 @@
|
|||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
|
||||
set(CMAKE_FIND_ROOT_PATH /feather/contrib/depends/arm-linux-gnueabihf/)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
@ -1,42 +0,0 @@
|
|||
From 92ba295ee64a55c73c8a32b77c352a6181289fe8 Mon Sep 17 00:00:00 2001
|
||||
From: tobtoht <tob@featherwallet.org>
|
||||
Date: Sun, 30 Oct 2022 23:15:34 +0100
|
||||
Subject: [PATCH] no renameat2
|
||||
|
||||
---
|
||||
qtbase/src/corelib/configure.cmake | 2 --
|
||||
qtbase/src/corelib/global/qconfig-bootstrapped.h | 4 ----
|
||||
2 files changed, 6 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/corelib/configure.cmake b/qtbase/src/corelib/configure.cmake
|
||||
index 183decb530..f8e9ad0e87 100644
|
||||
--- a/qtbase/src/corelib/configure.cmake
|
||||
+++ b/qtbase/src/corelib/configure.cmake
|
||||
@@ -434,8 +434,6 @@ qt_config_compile_test(renameat2
|
||||
LABEL "renameat2()"
|
||||
CODE
|
||||
"#define _ATFILE_SOURCE 1
|
||||
-#include <fcntl.h>
|
||||
-#include <stdio.h>
|
||||
|
||||
int main(int, char **argv)
|
||||
{
|
||||
diff --git a/qtbase/src/corelib/global/qconfig-bootstrapped.h b/qtbase/src/corelib/global/qconfig-bootstrapped.h
|
||||
index 61fd6479b1..06d06235d5 100644
|
||||
--- a/qtbase/src/corelib/global/qconfig-bootstrapped.h
|
||||
+++ b/qtbase/src/corelib/global/qconfig-bootstrapped.h
|
||||
@@ -74,11 +74,7 @@
|
||||
#define QT_NO_QOBJECT
|
||||
#define QT_FEATURE_process -1
|
||||
#define QT_FEATURE_regularexpression 1
|
||||
-#ifdef __GLIBC_PREREQ
|
||||
-# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
|
||||
-#else
|
||||
# define QT_FEATURE_renameat2 -1
|
||||
-#endif
|
||||
#define QT_FEATURE_shortcut -1
|
||||
#define QT_FEATURE_signaling_nan -1
|
||||
#define QT_FEATURE_slog2 -1
|
||||
--
|
||||
2.38.1
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
From ceb48fa2f01b9c421d880f6220778d830e5c5f7b Mon Sep 17 00:00:00 2001
|
||||
From: tobtoht <tob@featherwallet.org>
|
||||
Date: Sun, 30 Oct 2022 16:52:17 +0100
|
||||
Subject: [PATCH] Never use statx
|
||||
|
||||
---
|
||||
src/corelib/configure.cmake | 1 -
|
||||
src/corelib/global/qconfig-bootstrapped.h | 6 +-----
|
||||
src/corelib/io/qfilesystemengine_unix.cpp | 2 +-
|
||||
3 files changed, 2 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/corelib/configure.cmake b/qtbase/src/corelib/configure.cmake
|
||||
index 4ab122afd0..7b89fa3dd7 100644
|
||||
--- a/qtbase/src/corelib/configure.cmake
|
||||
+++ b/qtbase/src/corelib/configure.cmake
|
||||
@@ -428,7 +428,6 @@ qt_config_compile_test(statx
|
||||
CODE
|
||||
"#define _ATFILE_SOURCE 1
|
||||
#include <sys/types.h>
|
||||
-#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
diff --git a/qtbase/src/corelib/global/qconfig-bootstrapped.h b/qtbase/src/corelib/global/qconfig-bootstrapped.h
|
||||
index 42d38d0d04..25b551210c 100644
|
||||
--- a/qtbase/src/corelib/global/qconfig-bootstrapped.h
|
||||
+++ b/qtbase/src/corelib/global/qconfig-bootstrapped.h
|
||||
@@ -119,11 +119,7 @@
|
||||
#define QT_FEATURE_shortcut -1
|
||||
#define QT_FEATURE_signaling_nan -1
|
||||
#define QT_FEATURE_slog2 -1
|
||||
-#ifdef __GLIBC_PREREQ
|
||||
-# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
|
||||
-#else
|
||||
-# define QT_FEATURE_statx -1
|
||||
-#endif
|
||||
+#define QT_FEATURE_statx -1
|
||||
#define QT_FEATURE_syslog -1
|
||||
#define QT_NO_SYSTEMLOCALE
|
||||
#define QT_FEATURE_systemsemaphore -1
|
||||
diff --git a/qtbase/src/corelib/io/qfilesystemengine_unix.cpp b/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
|
||||
index 5ba9309426..c968d1c61f 100644
|
||||
--- a/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
|
||||
+++ b/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
|
||||
@@ -99,7 +99,7 @@ extern "C" NSString *NSTemporaryDirectory();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#if defined(Q_OS_ANDROID)
|
||||
+#if defined(Q_OS_LINUX)
|
||||
// statx() is disabled on Android because quite a few systems
|
||||
// come with sandboxes that kill applications that make system calls outside a
|
||||
// whitelist and several Android vendors can't be bothered to update the list.
|
||||
--
|
||||
2.38.1
|
||||
|
|
@ -1,174 +0,0 @@
|
|||
From e062494e888e4dfbb42cb0b2f2c9d41dd76b9bfb Mon Sep 17 00:00:00 2001
|
||||
From: tobtoht <tob@featherwallet.org>
|
||||
Date: Mon, 31 Oct 2022 00:38:39 +0100
|
||||
Subject: [PATCH] Revert "Re-apply "QReadWriteLock: replace (QWaitCondition,
|
||||
QMutex) with std::(condition_variable, mutex)""
|
||||
|
||||
This reverts commit fd8f81f3859fe92082caec925223e08cf61c69d4.
|
||||
---
|
||||
src/corelib/thread/qreadwritelock.cpp | 35 ++++++++++++---------------
|
||||
src/corelib/thread/qreadwritelock_p.h | 12 ++++-----
|
||||
2 files changed, 22 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/qtbase/src/corelib/thread/qreadwritelock.cpp b/qtbase/src/corelib/thread/qreadwritelock.cpp
|
||||
index c31782d684..a46b70180c 100644
|
||||
--- a/qtbase/src/corelib/thread/qreadwritelock.cpp
|
||||
+++ b/qtbase/src/corelib/thread/qreadwritelock.cpp
|
||||
@@ -31,9 +31,6 @@ QT_BEGIN_NAMESPACE
|
||||
*/
|
||||
|
||||
namespace {
|
||||
-
|
||||
-using ms = std::chrono::milliseconds;
|
||||
-
|
||||
enum {
|
||||
StateMask = 0x3,
|
||||
StateLockedForRead = 0x1,
|
||||
@@ -243,7 +240,7 @@ bool QReadWriteLock::tryLockForRead(int timeout)
|
||||
d = d_ptr.loadAcquire();
|
||||
continue;
|
||||
}
|
||||
- return d->lockForRead(lock, timeout);
|
||||
+ return d->lockForRead(timeout);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,7 +344,7 @@ bool QReadWriteLock::tryLockForWrite(int timeout)
|
||||
d = d_ptr.loadAcquire();
|
||||
continue;
|
||||
}
|
||||
- return d->lockForWrite(lock, timeout);
|
||||
+ return d->lockForWrite(timeout);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -431,9 +428,9 @@ QReadWriteLock::StateForWaitCondition QReadWriteLock::stateForWaitCondition() co
|
||||
|
||||
}
|
||||
|
||||
-bool QReadWriteLockPrivate::lockForRead(std::unique_lock<QtPrivate::mutex> &lock, int timeout)
|
||||
+bool QReadWriteLockPrivate::lockForRead(int timeout)
|
||||
{
|
||||
- Q_ASSERT(!mutex.try_lock()); // mutex must be locked when entering this function
|
||||
+ Q_ASSERT(!mutex.tryLock()); // mutex must be locked when entering this function
|
||||
|
||||
QElapsedTimer t;
|
||||
if (timeout > 0)
|
||||
@@ -447,10 +444,10 @@ bool QReadWriteLockPrivate::lockForRead(std::unique_lock<QtPrivate::mutex> &lock
|
||||
if (elapsed > timeout)
|
||||
return false;
|
||||
waitingReaders++;
|
||||
- readerCond.wait_for(lock, ms{timeout - elapsed});
|
||||
+ readerCond.wait(&mutex, QDeadlineTimer(timeout - elapsed));
|
||||
} else {
|
||||
waitingReaders++;
|
||||
- readerCond.wait(lock);
|
||||
+ readerCond.wait(&mutex);
|
||||
}
|
||||
waitingReaders--;
|
||||
}
|
||||
@@ -459,9 +456,9 @@ bool QReadWriteLockPrivate::lockForRead(std::unique_lock<QtPrivate::mutex> &lock
|
||||
return true;
|
||||
}
|
||||
|
||||
-bool QReadWriteLockPrivate::lockForWrite(std::unique_lock<QtPrivate::mutex> &lock, int timeout)
|
||||
+bool QReadWriteLockPrivate::lockForWrite(int timeout)
|
||||
{
|
||||
- Q_ASSERT(!mutex.try_lock()); // mutex must be locked when entering this function
|
||||
+ Q_ASSERT(!mutex.tryLock()); // mutex must be locked when entering this function
|
||||
|
||||
QElapsedTimer t;
|
||||
if (timeout > 0)
|
||||
@@ -476,15 +473,15 @@ bool QReadWriteLockPrivate::lockForWrite(std::unique_lock<QtPrivate::mutex> &loc
|
||||
if (waitingReaders && !waitingWriters && !writerCount) {
|
||||
// We timed out and now there is no more writers or waiting writers, but some
|
||||
// readers were queued (probably because of us). Wake the waiting readers.
|
||||
- readerCond.notify_all();
|
||||
+ readerCond.wakeAll();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
waitingWriters++;
|
||||
- writerCond.wait_for(lock, ms{timeout - elapsed});
|
||||
+ writerCond.wait(&mutex, QDeadlineTimer(timeout - elapsed));
|
||||
} else {
|
||||
waitingWriters++;
|
||||
- writerCond.wait(lock);
|
||||
+ writerCond.wait(&mutex);
|
||||
}
|
||||
waitingWriters--;
|
||||
}
|
||||
@@ -497,11 +494,11 @@ bool QReadWriteLockPrivate::lockForWrite(std::unique_lock<QtPrivate::mutex> &loc
|
||||
|
||||
void QReadWriteLockPrivate::unlock()
|
||||
{
|
||||
- Q_ASSERT(!mutex.try_lock()); // mutex must be locked when entering this function
|
||||
+ Q_ASSERT(!mutex.tryLock()); // mutex must be locked when entering this function
|
||||
if (waitingWriters)
|
||||
- writerCond.notify_one();
|
||||
+ writerCond.wakeOne();
|
||||
else if (waitingReaders)
|
||||
- readerCond.notify_all();
|
||||
+ readerCond.wakeAll();
|
||||
}
|
||||
|
||||
static auto handleEquals(Qt::HANDLE handle)
|
||||
@@ -523,7 +520,7 @@ bool QReadWriteLockPrivate::recursiveLockForRead(int timeout)
|
||||
return true;
|
||||
}
|
||||
|
||||
- if (!lockForRead(lock, timeout))
|
||||
+ if (!lockForRead(timeout))
|
||||
return false;
|
||||
|
||||
Reader r = {self, 1};
|
||||
@@ -542,7 +539,7 @@ bool QReadWriteLockPrivate::recursiveLockForWrite(int timeout)
|
||||
return true;
|
||||
}
|
||||
|
||||
- if (!lockForWrite(lock, timeout))
|
||||
+ if (!lockForWrite(timeout))
|
||||
return false;
|
||||
|
||||
currentWriter = self;
|
||||
diff --git a/qtbase/src/corelib/thread/qreadwritelock_p.h b/qtbase/src/corelib/thread/qreadwritelock_p.h
|
||||
index e1d42fbbf3..c88eb15e1b 100644
|
||||
--- a/qtbase/src/corelib/thread/qreadwritelock_p.h
|
||||
+++ b/qtbase/src/corelib/thread/qreadwritelock_p.h
|
||||
@@ -17,8 +17,8 @@
|
||||
//
|
||||
|
||||
#include <QtCore/private/qglobal_p.h>
|
||||
-#include <QtCore/private/qwaitcondition_p.h>
|
||||
#include <QtCore/qvarlengtharray.h>
|
||||
+#include <QtCore/qwaitcondition.h>
|
||||
|
||||
QT_REQUIRE_CONFIG(thread);
|
||||
|
||||
@@ -30,9 +30,9 @@ public:
|
||||
explicit QReadWriteLockPrivate(bool isRecursive = false)
|
||||
: recursive(isRecursive) {}
|
||||
|
||||
- QtPrivate::mutex mutex;
|
||||
- QtPrivate::condition_variable writerCond;
|
||||
- QtPrivate::condition_variable readerCond;
|
||||
+ QMutex mutex;
|
||||
+ QWaitCondition writerCond;
|
||||
+ QWaitCondition readerCond;
|
||||
int readerCount = 0;
|
||||
int writerCount = 0;
|
||||
int waitingReaders = 0;
|
||||
@@ -40,8 +40,8 @@ public:
|
||||
const bool recursive;
|
||||
|
||||
//Called with the mutex locked
|
||||
- bool lockForWrite(std::unique_lock<QtPrivate::mutex> &lock, int timeout);
|
||||
- bool lockForRead(std::unique_lock<QtPrivate::mutex> &lock, int timeout);
|
||||
+ bool lockForWrite(int timeout);
|
||||
+ bool lockForRead(int timeout);
|
||||
void unlock();
|
||||
|
||||
//memory management
|
||||
--
|
||||
2.38.1
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
From da01a1fcdfffeef62024546abf03a28fc1673c9e Mon Sep 17 00:00:00 2001
|
||||
From: tobtoht <tob@featherwallet.org>
|
||||
Date: Sat, 26 Nov 2022 14:07:42 +0100
|
||||
Subject: [PATCH] No WrapRT on APPLE
|
||||
|
||||
---
|
||||
src/corelib/CMakeLists.txt | 2 +-
|
||||
src/corelib/meta_types/qt6core_release_metatypes.json | 0
|
||||
2 files changed, 1 insertion(+), 1 deletion(-)
|
||||
create mode 100644 src/corelib/meta_types/qt6core_release_metatypes.json
|
||||
|
||||
diff --git a/qtbase/src/corelib/CMakeLists.txt b/qtbase/src/corelib/CMakeLists.txt
|
||||
index c683bb46dd..c018b81cf2 100644
|
||||
--- a/qtbase/src/corelib/CMakeLists.txt
|
||||
+++ b/qtbase/src/corelib/CMakeLists.txt
|
||||
@@ -1071,7 +1071,7 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_glib AND UNIX
|
||||
GLIB2::GLIB2
|
||||
)
|
||||
|
||||
-qt_internal_extend_target(Core CONDITION QT_FEATURE_clock_gettime AND UNIX
|
||||
+qt_internal_extend_target(Core CONDITION QT_FEATURE_clock_gettime AND UNIX AND NOT APPLE
|
||||
LIBRARIES
|
||||
WrapRt::WrapRt
|
||||
)
|
||||
--
|
||||
2.38.1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
set(CMAKE_C_COMPILER riscv64-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER riscv64-linux-gnu-g++)
|
||||
set(CMAKE_FIND_ROOT_PATH /feather/contrib/depends/riscv64-linux-gnu/)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
24
contrib/depends/patches/qt/toolchain.cmake
Normal file
24
contrib/depends/patches/qt/toolchain.cmake
Normal file
|
@ -0,0 +1,24 @@
|
|||
set(CMAKE_SYSTEM_NAME @cmake_system_name@)
|
||||
|
||||
set(CMAKE_C_COMPILER @target@-gcc)
|
||||
set(CMAKE_CXX_COMPILER @target@-g++)
|
||||
set(CMAKE_FIND_ROOT_PATH @host_prefix@)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(TARGET_SYSROOT @host_prefix@/native/SDK)
|
||||
set(CMAKE_SYSROOT ${TARGET_SYSROOT})
|
||||
set(CMAKE_OSX_SYSROOT ${TARGET_SYSROOT})
|
||||
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
|
||||
set(CMAKE_C_FLAGS "@cmake_c_flags@")
|
||||
set(CMAKE_CXX_FLAGS "@cmake_cxx_flags@")
|
||||
|
||||
set(CMAKE_INSTALL_NAME_TOOL @target@-install_name_tool)
|
||||
endif()
|
|
@ -220,7 +220,6 @@ make -C contrib/depends --jobs="$JOBS" HOST="$HOST" \
|
|||
x86_64_linux_RANLIB=x86_64-linux-gnu-gcc-ranlib \
|
||||
x86_64_linux_NM=x86_64-linux-gnu-gcc-nm \
|
||||
x86_64_linux_STRIP=x86_64-linux-gnu-strip \
|
||||
qt_config_opts_x86_64_linux='-platform linux-g++ -xplatform linux-g++' \
|
||||
guix_ldflags="$HOST_LDFLAGS"
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue