diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 0732196abf7b264cc09fdef2e82574ed60d053b3..d2ecb0fff24ed7d66f4047f2746da59f2a0a7579 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -52,7 +52,7 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine Version: 5.15.10 -Release: 7 +Release: 8 # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -106,6 +106,8 @@ Patch35: CVE-2023-6112.patch Patch36: qtwebengine-icu-74.patch ## From: https://git.videolan.org/?p=ffmpeg.git;a=commit;h=effadce6c756247ea8bae32dc13bb3e6f464f0eb Patch37: Backport-ffmpeg-avcodec-x86-mathops-clip-constants-used-with-.patch +# From: https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine +Patch38: qt5-webengine-icu-75.patch # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches #ExclusiveArch: %{qt5_qtwebengine_arches} @@ -145,7 +147,7 @@ BuildRequires: qt5-qttools-static # for examples? BuildRequires: qt5-qtquickcontrols2-devel BuildRequires: ninja-build -BuildRequires: cmake +BuildRequires: cmake-rpm-macros BuildRequires: bison BuildRequires: flex BuildRequires: gcc-c++ @@ -412,39 +414,40 @@ mv pulse src/3rdparty/chromium/ pushd src/3rdparty/chromium popd -%patch2 -p1 -b .fix-extractcflag +%patch -P2 -p1 -b .fix-extractcflag %if !0%{?arm_neon} -%patch3 -p1 -b .no-neon +%patch -P3 -p1 -b .no-neon %endif -%patch4 -p1 -b .SIOCGSTAMP -%patch5 -p1 -b .QT_DEPRECATED_VERSION -%patch6 -p1 -b .angle_nullptr -%patch7 -p1 -b .hunspell_nullptr +%patch -P4 -p1 -b .SIOCGSTAMP +%patch -P5 -p1 -b .QT_DEPRECATED_VERSION +%patch -P6 -p1 -b .angle_nullptr +%patch -P7 -p1 -b .hunspell_nullptr #if 0%{?pipewire} -%patch8 -p1 -b .libpipewire-0.3 +%patch -P8 -p1 -b .libpipewire-0.3 #endif ## upstream patches -%patch24 -p1 -b .aarch64-new-stat -%patch31 -p1 -b .TRUE -%patch32 -p1 -b .skia-missing-includes -%patch33 -p1 -b .aarch64-16kb-support -%patch34 -p1 -b .support-clang-compile - -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 - -%patch50 -p1 -b .disable-catapult -%patch51 -p1 -b .python3 -%patch52 -p1 -b .chromium-python3 -%patch53 -p1 -b .fix-build-tools-to-run-with-python3.11 -%patch54 -p1 -b .fix-qt5-qtwebengine-build-with-clang-17 +%patch -P24 -p1 -b .aarch64-new-stat +%patch -P31 -p1 -b .TRUE +%patch -P32 -p1 -b .skia-missing-includes +%patch -P33 -p1 -b .aarch64-16kb-support +%patch -P34 -p1 -b .support-clang-compile + +%patch -P35 -p1 +%patch -P36 -p1 +%patch -P37 -p1 +%patch -P38 -p1 + +%patch -P50 -p1 -b .disable-catapult +%patch -P51 -p1 -b .python3 +%patch -P52 -p1 -b .chromium-python3 +%patch -P53 -p1 -b .fix-build-tools-to-run-with-python3.11 +%patch -P54 -p1 -b .fix-qt5-qtwebengine-build-with-clang-17 %ifarch riscv64 -%patch1000 -p1 -b .riscv-v8 -%patch1001 -p1 -b .riscv-qt5-qtwebengine -%patch1002 -p1 -b .qtwebengine-ffmpeg5 +%patch -P1000 -p1 -b .riscv-v8 +%patch -P1001 -p1 -b .riscv-qt5-qtwebengine +%patch -P1002 -p1 -b .qtwebengine-ffmpeg5 %endif # delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we @@ -557,8 +560,6 @@ sed -i -e "s|%{version} \${_Qt5WebEngine|%{lesser_version} \${_Qt5WebEngine|" \ %{buildroot}%{_qt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake -%ldconfig_scriptlets - %filetriggerin -- %{_datadir}/hunspell while read filename ; do case "$filename" in @@ -665,6 +666,9 @@ done %changelog +* Wed Mar 05 2025 Funda Wang - 5.15.10-8 +- fix build with icu >= 75 + * Wed Dec 04 2024 zhijiezhu - 5.15.10-7 - include all patches in the source package diff --git a/qt5-webengine-icu-75.patch b/qt5-webengine-icu-75.patch new file mode 100644 index 0000000000000000000000000000000000000000..7193acea34b1bdd92b6a52b67c6a062b4747c77f --- /dev/null +++ b/qt5-webengine-icu-75.patch @@ -0,0 +1,99 @@ +diff --git a/src/3rdparty/chromium/build/config/compiler/BUILD.gn b/src/3rdparty/chromium/build/config/compiler/BUILD.gn +index b511a58c5a8..abd78a74ead 100644 +--- a/src/3rdparty/chromium/build/config/compiler/BUILD.gn ++++ b/src/3rdparty/chromium/build/config/compiler/BUILD.gn +@@ -566,7 +566,7 @@ config("compiler") { + # Override Chromium's default for projects that wish to stay on C++11. + cflags_cc += [ "-std=${standard_prefix}++11" ] + } else { +- cflags_cc += [ "-std=${standard_prefix}++14" ] ++ cflags_cc += [ "-std=${standard_prefix}++17" ] + } + } else if (!is_win && !is_nacl) { + if (target_os == "android") { +diff --git a/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h b/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h +index f03ba1e4ab4..b1495f7ae74 100644 +--- a/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h ++++ b/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h +@@ -195,7 +195,7 @@ NumPartitionPagesPerSuperPage() { + // + // __STDCPP_DEFAULT_NEW_ALIGNMENT__ is C++17. As such, it is not defined on all + // platforms, as Chrome's requirement is C++14 as of 2020. +-#if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__) ++#if 0 + static constexpr size_t kAlignment = + std::max(alignof(std::max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__); + #else +diff --git a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h +index 76e627d27a3..942435f44a0 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h ++++ b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h +@@ -12,6 +12,7 @@ + #define COMMON_VIDEO_H264_SPS_PARSER_H_ + + #include "absl/types/optional.h" ++#include + + namespace rtc { + class BitBuffer; +diff --git a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h +index d6c31b06887..d8852dfd186 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h ++++ b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h +@@ -12,6 +12,7 @@ + #define COMMON_VIDEO_H264_PPS_PARSER_H_ + + #include "absl/types/optional.h" ++#include + + namespace rtc { + class BitBuffer; +diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h +index 3b9971abae1..d4458038527 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h ++++ b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h +@@ -13,6 +13,7 @@ + + #include + #include ++#include + + #include "absl/types/optional.h" + #include "api/array_view.h" +diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h b/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h +index 345e45ce127..e686e5d691a 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h ++++ b/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h +@@ -12,6 +12,7 @@ + #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ + + #include ++#include + + #include "absl/types/optional.h" + +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc b/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc +index 8fcc799b795..bc69ddcf18c 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc +@@ -15,6 +15,7 @@ + #include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics.h" + #include "third_party/blink/renderer/core/page/scrolling/text_fragment_finder.h" + #include "third_party/blink/renderer/platform/text/text_boundaries.h" ++#include "absl/base/attributes.h" + + namespace blink { + +diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h +index df506f0fae6..1de105fed4a 100644 +--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h ++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h +@@ -180,7 +180,7 @@ + // absl::variant is a typedef of std::variant, use the feature macro + // ABSL_USES_STD_VARIANT. + +-#define ABSL_OPTION_USE_STD_VARIANT 2 ++#define ABSL_OPTION_USE_STD_VARIANT 0 + + + // ABSL_OPTION_USE_INLINE_NAMESPACE