qtwebengine: fixed build if re2 is installed

This commit is contained in:
Tim Biermann 2023-07-16 14:06:54 +02:00
parent 1f3842ff3f
commit cf8480b865
Signed by: tb
GPG Key ID: 42F8B4E30B673606
5 changed files with 102 additions and 6 deletions

View File

@ -1,6 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
RWSE3ohX2g5d/UPTwI0tVcqapHabGDt1fQBK4VoEOYRbLDEEuBjBbDr3e3MzGaxyKftMPwONZzwj7jR8iq4shaSNSt5MwuQifAo=
SHA256 (Pkgfile) = ae3e7ea90833b69569931ce3d067470def56c81a2992bd298af3e2075a8aedff
RWSE3ohX2g5d/erfVMyHkwt8b0bz1PQtYfMqrfAldjFaiT9SmFlAfE2mO3HaS4c6AuuRGen//hADL0b/JIz+I47zIEDkkgqVdQg=
SHA256 (Pkgfile) = ab52b64dc2ede6c1d7caca5776089c375ef6f2d92761705b1c203761b2236781
SHA256 (.footprint) = 9c07e0209b90e6d45f593e30c0b5342a594c32de974cc61990189f9e80f4a21a
SHA256 (qtwebengine-5.15.14.tar.xz) = 1475c004860585b22af13a2b719ef10992fad58f1c145bf5cb43fbc86a3a67d2
SHA256 (qtwebengine-5.15.14-build_fixes-1.patch) = a9e248414302b6fbd19e0404142e5ad082fb4a45eaf6f96d1b847a7b4bf8e1bd
@ -11,3 +11,6 @@ SHA256 (qtwebengine-5.15.2_p20211015-pdfium-system-lcms2.patch) = 391f899137cabf
SHA256 (qtwebengine-5.15.3_p20220406-ffmpeg5.patch) = 63b0a709c7d1e84193dada20109740d6b9a768f6d83809247dd9691ff50bfc7c
SHA256 (qtwebengine-5.15.13-icu_73-1.patch) = 52351270248d714e124838725abbb1f15726f2530043f2289588ecd9a6e7a2ba
SHA256 (qt5-webengine-pipewire-0.3.patch) = 5e3a3c4711d964d5152a04059a2b5c1d14bb13dd29bce370120f60e85b476b6f
SHA256 (qtwebengine-5.15.15-c++17.patch) = b0b69017470617d3113d7f6faeebe7d2314cefaddf4cb209c85f69ae724eb8c9
SHA256 (qtwebengine-system-absl-compat.patch) = 9ad4ff067701f326d57dfbb147b001320b6735641f6e0042196739fc125fe03e
SHA256 (qtwebengine-re2-2023.07.01.patch) = 1d1af26b3e62c7acca086eb8a034f46f3b23f313bf62f883cf4676a9bece46d1

View File

@ -6,7 +6,7 @@
name=qtwebengine
version=5.15.14
release=2
release=3
source=(https://anduin.linuxfromscratch.org/BLFS/qtwebengine/$name-$version.tar.xz
https://www.linuxfromscratch.org/patches/blfs/svn/qtwebengine-$version-build_fixes-1.patch
qtwebengine-5.15.2-disable-fatal-warnings.patch
@ -15,7 +15,10 @@ source=(https://anduin.linuxfromscratch.org/BLFS/qtwebengine/$name-$version.tar.
qtwebengine-5.15.2_p20211015-pdfium-system-lcms2.patch
qtwebengine-5.15.3_p20220406-ffmpeg5.patch
qtwebengine-5.15.13-icu_73-1.patch
qt5-webengine-pipewire-0.3.patch)
qt5-webengine-pipewire-0.3.patch
qtwebengine-5.15.15-c++17.patch
qtwebengine-system-absl-compat.patch
qtwebengine-re2-2023.07.01.patch)
build() {
cd qtwebengine-$version
@ -30,6 +33,19 @@ build() {
patch -p1 -i $SRC/qtwebengine-5.15.13-icu_73-1.patch
patch -p1 -d src/3rdparty -i $SRC/qt5-webengine-pipewire-0.3.patch
if prt-get isinst re2; then
patch -p1 -i $SRC/qtwebengine-re2-2023.07.01.patch
patch -p1 -i $SRC/qtwebengine-system-absl-compat.patch
cp -f /usr/include/absl/base/options.h \
src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
sed -i -e 's,#define ABSL_OPTION_USE_STD_OPTIONAL 1,#define ABSL_OPTION_USE_STD_OPTIONAL 0,' src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
patch -p1 -i $SRC/qtwebengine-5.15.15-c++17.patch
export CXXFLAGS+=' -std=gnu++17'
find . -name "*.pro" -o -name "*.pri" |while read r; do
echo 'QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++17' >>$r
done
fi
mkdir -pv .git src/3rdparty/chromium/.git
sed -e '/^MODULE_VERSION/s/5.*/5.15.2/' -i .qmake.conf
find -type f -name "*.pr[io]" | \
@ -62,8 +78,6 @@ build() {
prt-get isinst pulseaudio && PKGMK_QTWEBENGINE+=' -pulseaudio' || PKGMK_QTWEBENGINE+=' -no-pulseaudio'
prt-get isinst pipewire && PKGMK_QTWEBENGINE+=' -webengine-webrtc-pipewire'
prt-get isinst icu && PKGMK_QTWEBENGINE+=' -webengine-icu' || PKGMK_QTWEBENGINE+=' -no-webengine-icu'
## recent system-re2 crashes build
prt-get isinst re2 && PKGMK_QTWEBENGINE+=' -no-feature-webengine-system-re2'
qmake-qt5 .. -- \
$PKGMK_QTWEBENGINE \

View File

@ -0,0 +1,21 @@
diff -up qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/build/config/compiler/BUILD.gn.omv~ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/build/config/compiler/BUILD.gn
--- qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/build/config/compiler/BUILD.gn.omv~ 2023-07-13 06:23:00.808526510 +0200
+++ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2023-07-13 06:23:34.043838797 +0200
@@ -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") {
@@ -583,7 +583,7 @@ config("compiler") {
if (cxx11_override) {
cflags_cc += [ "-std=c++11" ]
} else {
- cflags_cc += [ "-std=c++14" ]
+ cflags_cc += [ "-std=c++17" ]
}
}

View File

@ -0,0 +1,33 @@
diff -up qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/extensions/browser/api/web_request/form_data_parser.cc.5~ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/extensions/browser/api/web_request/form_data_parser.cc
--- qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/extensions/browser/api/web_request/form_data_parser.cc.5~ 2023-07-08 07:28:14.000000000 +0200
+++ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/extensions/browser/api/web_request/form_data_parser.cc 2023-07-11 13:48:26.726255040 +0200
@@ -421,7 +421,7 @@ bool FormDataParserUrlEncoded::GetNextNa
bool FormDataParserUrlEncoded::SetSource(base::StringPiece source) {
if (source_set_)
return false; // We do not allow multiple sources for this parser.
- source_.set(source.data(), source.size());
+ source_ = re2::StringPiece(source.data(), source.size());
source_set_ = true;
source_malformed_ = false;
return true;
@@ -565,7 +565,7 @@ bool FormDataParserMultipart::GetNextNam
bool FormDataParserMultipart::SetSource(base::StringPiece source) {
if (source.data() == NULL || !source_.empty())
return false;
- source_.set(source.data(), source.size());
+ source_ = re2::StringPiece(source.data(), source.size());
switch (state_) {
case STATE_INIT:
diff -up qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/gpu/command_buffer/service/program_manager.cc.5~ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/gpu/command_buffer/service/program_manager.cc
--- qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/gpu/command_buffer/service/program_manager.cc.5~ 2023-07-08 07:28:14.000000000 +0200
+++ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/gpu/command_buffer/service/program_manager.cc 2023-07-11 13:46:58.691036597 +0200
@@ -620,7 +620,7 @@ std::string Program::ProcessLogInfo(cons
output += hashed_name;
}
- return output + input.as_string();
+ return output + static_cast<std::string>(input);
}
void Program::UpdateLogInfo() {

View File

@ -0,0 +1,25 @@
diff -up qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h.omv~ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
--- qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h.omv~ 2023-07-13 07:13:16.365747492 +0200
+++ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h 2023-07-13 07:13:28.928843534 +0200
@@ -196,7 +196,7 @@ NumPartitionPagesPerSuperPage() {
// platforms, as Chrome's requirement is C++14 as of 2020.
#if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__)
static constexpr size_t kAlignment =
- std::max(alignof(std::max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__);
+ std::max(alignof(std::max_align_t), static_cast<size_t>(__STDCPP_DEFAULT_NEW_ALIGNMENT__));
#else
static constexpr size_t kAlignment = alignof(std::max_align_t);
#endif
diff -up qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/third_party/abseil-cpp/absl/utility/utility.h.omv~ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/third_party/abseil-cpp/absl/utility/utility.h
diff -up qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc.omv~ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
--- qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc.omv~ 2023-07-13 09:10:16.273013908 +0200
+++ qtwebengine-everywhere-src-5.15.15-20230710/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc 2023-07-13 09:10:29.104133225 +0200
@@ -16,6 +16,8 @@
#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 {
namespace {