summaryrefslogtreecommitdiffstats
path: root/qt5
diff options
context:
space:
mode:
authorTreeve Jelbert2021-06-02 22:22:34 +0200
committerTreeve Jelbert2021-06-02 22:23:03 +0200
commita1a177a0ca8a6e7c00296757baf06c45674e27cc (patch)
tree4cbad837313cc057ccd217013cacc04e50375fa1 /qt5
parent084a60cabf72d12da6f6df57fa53e5b333173f52 (diff)
qtwebengine - fixes for glib & gcc
Diffstat (limited to 'qt5')
-rwxr-xr-xqt5/qtwebengine/BUILD16
-rw-r--r--qt5/qtwebengine/HISTORY6
-rwxr-xr-xqt5/qtwebengine/PRE_BUILD3
-rw-r--r--qt5/qtwebengine/patches/perfecto.patch21
-rw-r--r--qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-ICU68-2.patch308
-rw-r--r--qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-glibc233-1.patch151
6 files changed, 500 insertions, 5 deletions
diff --git a/qt5/qtwebengine/BUILD b/qt5/qtwebengine/BUILD
index e17c008c5e..59f27805b0 100755
--- a/qt5/qtwebengine/BUILD
+++ b/qt5/qtwebengine/BUILD
@@ -1,9 +1,15 @@
-#CFLAGS="${CFLAGS/-ffast-math}" &&
-#CFLAGS='' &&
-# This was mistyped, and why should we remove our flags?
-#CXXFLAGS='' &&
+# this is a special build proc for qtwebengine, with additional parameters
+qt5_build() {
+# qmake uses its own flag settings
+ qmake QMAKE_CONFIG="$OPTS" QMAKE_CFLAGS="$CFLAGS" QMAKE_CXXFLAGS="$CXXFLAGS"\
+ PREFIX=${1-$QT5DIR} LIBDIR=$QT5DIR/lib *.pro &&
+# -- -system-ffmpeg -webengine-icu &&
+ make
+}
+
OPTS+=" -shared" &&
if list_find "$CXXFLAGS" -Os; then
OPTS+=" -optimize-size"
fi &&
-default_build
+
+qt5_build
diff --git a/qt5/qtwebengine/HISTORY b/qt5/qtwebengine/HISTORY
index 53ab4b6291..ae54a54731 100644
--- a/qt5/qtwebengine/HISTORY
+++ b/qt5/qtwebengine/HISTORY
@@ -1,3 +1,9 @@
+2021-06-02 Treeve Jelbert <treeve@sourcemage.org>
+ * PRE_BUILD patches/*: added
+ apply patches from LFS for icu and glibc
+ upstream patch for perfecto - gcc-11
+ * BUILD: prepare to process webengine params
+
2021-01-18 Treeve Jelbert <treeve@sourcemage.org>
* DEPENDS: delete qtxmlpatterns
diff --git a/qt5/qtwebengine/PRE_BUILD b/qt5/qtwebengine/PRE_BUILD
new file mode 100755
index 0000000000..922c0ab256
--- /dev/null
+++ b/qt5/qtwebengine/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+apply_patch_dir patches
diff --git a/qt5/qtwebengine/patches/perfecto.patch b/qt5/qtwebengine/patches/perfecto.patch
new file mode 100644
index 0000000000..c56b4107d9
--- /dev/null
+++ b/qt5/qtwebengine/patches/perfecto.patch
@@ -0,0 +1,21 @@
+commit df07d0f0a2247c0448069fb00852b0cb1158d537
+Author: Peter Varga <pvarga@inf.u-szeged.hu>
+Date: Fri May 7 15:20:12 2021 +0200
+
+ Fix perfetto build for GCC 11
+
+ Change-Id: I812059fb02597cad329907e026a7c8afe839d04c
+ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+
+diff --git a/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h b/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h
+index 11ae91cfeca..558ff00e8fe 100644
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h
+@@ -20,6 +20,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+
++#include <limits>
+ #include <unordered_map>
+ #include <vector>
+
diff --git a/qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-ICU68-2.patch b/qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-ICU68-2.patch
new file mode 100644
index 0000000000..bf6bdbdd07
--- /dev/null
+++ b/qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-ICU68-2.patch
@@ -0,0 +1,308 @@
+Submitted By: Marty Jack <martyj19 at comcast dot net>
+Date: 2020-11-02
+Initial Package Version: 5.15.1
+Upstream Status: Unknown
+Origin: self
+Description: Allows qtwebengine to build against system ICU_68.1 which has
+dropped the TRUE and FALSE macros.
+Comment by Ken: This code actually comes from chromium, but they only take
+bugs against their latest release, which I do not have. I have attempted
+to raise a bug at qt.
+
+Revised by Bruce Dubbs on 2020-11-20.
+Rebased and added new changes for 5.15.2
+
+Updated by Douglas R. Reno on 2020-12-09
+Rebased and added change to fix build in libxml2.
+
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/base/i18n/string_compare.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/base/i18n/string_compare.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/base/i18n/string_compare.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/base/i18n/string_compare.cc 2020-12-08 19:27:51.559902088 -0600
+@@ -18,8 +18,8 @@ UCollationResult CompareString16WithColl
+ StringPiece16 rhs) {
+ UErrorCode error = U_ZERO_ERROR;
+ UCollationResult result = collator.compare(
+- icu::UnicodeString(FALSE, lhs.data(), static_cast<int>(lhs.length())),
+- icu::UnicodeString(FALSE, rhs.data(), static_cast<int>(rhs.length())),
++ icu::UnicodeString(false, lhs.data(), static_cast<int>(lhs.length())),
++ icu::UnicodeString(false, rhs.data(), static_cast<int>(rhs.length())),
+ error);
+ DCHECK(U_SUCCESS(error));
+ return result;
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/base/i18n/time_formatting.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/base/i18n/time_formatting.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/base/i18n/time_formatting.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/base/i18n/time_formatting.cc 2020-12-08 19:28:16.956901809 -0600
+@@ -236,7 +236,7 @@ bool TimeDurationFormatWithSeconds(const
+ icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE);
+ measure_format.formatMeasures(measures, 3, formatted, ignore, status);
+ *out = i18n::UnicodeStringToString16(formatted);
+- return U_SUCCESS(status) == TRUE;
++ return U_SUCCESS(status) == true;
+ }
+
+ string16 DateIntervalFormat(const Time& begin_time,
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc 2020-12-08 19:31:16.779899828 -0600
+@@ -43,7 +43,7 @@ class AutofillRegexes {
+ icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) {
+ auto it = matchers_.find(pattern);
+ if (it == matchers_.end()) {
+- const icu::UnicodeString icu_pattern(FALSE, pattern.data(),
++ const icu::UnicodeString icu_pattern(false, pattern.data(),
+ pattern.length());
+
+ UErrorCode status = U_ZERO_ERROR;
+@@ -70,20 +70,20 @@ bool MatchesPattern(const base::string16
+ base::AutoLock lock(*g_lock);
+
+ icu::RegexMatcher* matcher = g_autofill_regexes->GetMatcher(pattern);
+- icu::UnicodeString icu_input(FALSE, input.data(), input.length());
++ icu::UnicodeString icu_input(false, input.data(), input.length());
+ matcher->reset(icu_input);
+
+ UErrorCode status = U_ZERO_ERROR;
+ UBool matched = matcher->find(0, status);
+ DCHECK(U_SUCCESS(status));
+
+- if (matched == TRUE && match) {
++ if (matched == true && match) {
+ icu::UnicodeString match_unicode = matcher->group(0, status);
+ DCHECK(U_SUCCESS(status));
+ *match = base::i18n::UnicodeStringToString16(match_unicode);
+ }
+
+- return matched == TRUE;
++ return matched == true;
+ }
+
+ } // namespace autofill
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc 2020-12-08 19:31:49.348899469 -0600
+@@ -424,7 +424,7 @@ bool SpellcheckWordIterator::Normalize(s
+ // spellchecker and we need manual normalization as well. The normalized
+ // text does not have to be NUL-terminated since its characters are copied to
+ // string16, which adds a NUL character when we need.
+- icu::UnicodeString input(FALSE, &text_[input_start],
++ icu::UnicodeString input(false, &text_[input_start],
+ base::checked_cast<int32_t>(input_length));
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString output;
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc 2020-12-08 19:33:19.360898477 -0600
+@@ -347,7 +347,7 @@ bool IDNSpoofChecker::SafeToDisplayAsUni
+ if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS))
+ return false;
+
+- icu::UnicodeString label_string(FALSE /* isTerminated */, label.data(),
++ icu::UnicodeString label_string(false /* isTerminated */, label.data(),
+ base::checked_cast<int32_t>(label.size()));
+
+ // A punycode label with 'xn--' prefix is not subject to the URL
+@@ -677,7 +677,7 @@ bool IDNSpoofChecker::IsWholeScriptConfu
+ base::StringPiece tld,
+ base::StringPiece16 tld_unicode) {
+ icu::UnicodeString tld_string(
+- FALSE /* isTerminated */, tld_unicode.data(),
++ false /* isTerminated */, tld_unicode.data(),
+ base::checked_cast<int32_t>(tld_unicode.size()));
+ // Allow if the TLD contains any letter from the script, in which case it's
+ // likely to be a TLD in that script.
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc 2020-12-08 19:33:49.464898146 -0600
+@@ -117,7 +117,7 @@ SkeletonGenerator::~SkeletonGenerator()
+ Skeletons SkeletonGenerator::GetSkeletons(base::StringPiece16 hostname) {
+ Skeletons skeletons;
+ size_t hostname_length = hostname.length() - (hostname.back() == '.' ? 1 : 0);
+- icu::UnicodeString host(FALSE, hostname.data(), hostname_length);
++ icu::UnicodeString host(false, hostname.data(), hostname_length);
+ // If input has any characters outside Latin-Greek-Cyrillic and [0-9._-],
+ // there is no point in getting rid of diacritics because combining marks
+ // attached to non-LGC characters are already blocked.
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc 2020-12-08 19:34:26.694897736 -0600
+@@ -564,7 +564,7 @@ base::ProcessId Zygote::ReadArgsAndFork(
+ if (!iter.ReadString16(&timezone_id))
+ return -1;
+ icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone(
+- icu::UnicodeString(FALSE, timezone_id.data(), timezone_id.length())));
++ icu::UnicodeString(false, timezone_id.data(), timezone_id.length())));
+
+ if (!iter.ReadInt(&numfds))
+ return -1;
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc 2020-12-08 19:35:30.036897038 -0600
+@@ -169,12 +169,12 @@ static String GetDateFormatPattern(const
+ return g_empty_string;
+
+ UErrorCode status = U_ZERO_ERROR;
+- int32_t length = udat_toPattern(date_format, TRUE, nullptr, 0, &status);
++ int32_t length = udat_toPattern(date_format, true, nullptr, 0, &status);
+ if (status != U_BUFFER_OVERFLOW_ERROR || !length)
+ return g_empty_string;
+ StringBuffer<UChar> buffer(length);
+ status = U_ZERO_ERROR;
+- udat_toPattern(date_format, TRUE, buffer.Characters(), length, &status);
++ udat_toPattern(date_format, true, buffer.Characters(), length, &status);
+ if (U_FAILURE(status))
+ return g_empty_string;
+ return String::Adopt(buffer);
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc 2020-12-08 19:37:15.816895873 -0600
+@@ -311,13 +311,13 @@ static inline bool TextInChunkOrOutOfRan
+ text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
+ ? static_cast<int32_t>(offset)
+ : 0;
+- is_accessible = TRUE;
++ is_accessible = true;
+ return true;
+ }
+ if (native_index >= native_length &&
+ text->chunkNativeLimit == native_length) {
+ text->chunkOffset = text->chunkLength;
+- is_accessible = FALSE;
++ is_accessible = false;
+ return true;
+ }
+ } else {
+@@ -330,12 +330,12 @@ static inline bool TextInChunkOrOutOfRan
+ text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
+ ? static_cast<int32_t>(offset)
+ : 0;
+- is_accessible = TRUE;
++ is_accessible = true;
+ return true;
+ }
+ if (native_index <= 0 && !text->chunkNativeStart) {
+ text->chunkOffset = 0;
+- is_accessible = FALSE;
++ is_accessible = false;
+ return true;
+ }
+ }
+@@ -346,7 +346,7 @@ static UBool TextLatin1Access(UText* tex
+ int64_t native_index,
+ UBool forward) {
+ if (!text->context)
+- return FALSE;
++ return false;
+ int64_t native_length = TextNativeLength(text);
+ UBool is_accessible;
+ if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
+@@ -370,7 +370,7 @@ static UBool TextLatin1Access(UText* tex
+ DCHECK_EQ(new_context, kPriorContext);
+ TextLatin1SwitchToPriorContext(text, native_index, native_length, forward);
+ }
+- return TRUE;
++ return true;
+ }
+
+ static const struct UTextFuncs kTextLatin1Funcs = {
+@@ -510,7 +510,7 @@ static void TextUTF16SwitchToPriorContex
+
+ static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) {
+ if (!text->context)
+- return FALSE;
++ return false;
+ int64_t native_length = TextNativeLength(text);
+ UBool is_accessible;
+ if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
+@@ -532,7 +532,7 @@ static UBool TextUTF16Access(UText* text
+ DCHECK_EQ(new_context, kPriorContext);
+ TextUTF16SwitchToPriorContext(text, native_index, native_length, forward);
+ }
+- return TRUE;
++ return true;
+ }
+
+ static const struct UTextFuncs kTextUTF16Funcs = {
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc 2020-12-08 19:37:38.295895625 -0600
+@@ -300,7 +300,7 @@ void NormalizeCharactersIntoNFCForm(cons
+ DCHECK(U_SUCCESS(status));
+ int32_t input_length = static_cast<int32_t>(length);
+ // copy-on-write.
+- icu::UnicodeString normalized(FALSE, characters, input_length);
++ icu::UnicodeString normalized(false, characters, input_length);
+ // In the vast majority of cases, input is already NFC. Run a quick check
+ // to avoid normalizing the entire input unnecessarily.
+ int32_t normalized_prefix_length =
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc 2020-12-08 19:38:05.165895329 -0600
+@@ -326,7 +326,7 @@ void TextCodecICU::CreateICUConverter()
+ DLOG_IF(ERROR, err == U_AMBIGUOUS_ALIAS_WARNING)
+ << "ICU ambiguous alias warning for encoding: " << encoding_.GetName();
+ if (converter_icu_)
+- ucnv_setFallback(converter_icu_, TRUE);
++ ucnv_setFallback(converter_icu_, true);
+ }
+
+ int TextCodecICU::DecodeToBuffer(UChar* target,
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/libxml/src/encoding.c qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/libxml/src/encoding.c
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/third_party/libxml/src/encoding.c 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/third_party/libxml/src/encoding.c 2020-12-08 19:39:00.607894718 -0600
+@@ -44,7 +44,7 @@
+ #endif
+ #include <libxml/globals.h>
+ #include <libxml/xmlerror.h>
+-
++#include <stdbool.h>
+ #include "buf.h"
+ #include "enc.h"
+
+@@ -1893,7 +1893,7 @@ xmlUconvWrapper(uconv_t *cd, int toUnico
+ *inlen = ucv_in - (const char*) in;
+ *outlen = ucv_out - (char *) out;
+ if (U_SUCCESS(err)) {
+- /* reset pivot buf if this is the last call for input (flush==TRUE) */
++ /* reset pivot buf if this is the last call for input (flush==true) */
+ if (flush)
+ cd->pivot_source = cd->pivot_target = cd->pivot_buf;
+ return 0;
+@@ -1958,7 +1958,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler
+ #ifdef LIBXML_ICU_ENABLED
+ else if (handler->uconv_out != NULL) {
+ ret = xmlUconvWrapper(handler->uconv_out, 0, out, outlen, in, inlen,
+- TRUE);
++ true);
+ }
+ #endif /* LIBXML_ICU_ENABLED */
+ else {
+diff -Naurp qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/ui/base/l10n/formatter.cc qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/ui/base/l10n/formatter.cc
+--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/ui/base/l10n/formatter.cc 2020-11-06 19:22:36.000000000 -0600
++++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/ui/base/l10n/formatter.cc 2020-12-08 19:39:51.264894160 -0600
+@@ -232,7 +232,7 @@ void Formatter::Format(Unit unit,
+ int value,
+ icu::UnicodeString* formatted_string) const {
+ DCHECK(simple_format_[unit]);
+- DCHECK(formatted_string->isEmpty() == TRUE);
++ DCHECK(formatted_string->isEmpty() == true);
+ UErrorCode error = U_ZERO_ERROR;
+ FormatNumberInPlural(*simple_format_[unit],
+ value, formatted_string, &error);
+@@ -248,7 +248,7 @@ void Formatter::Format(TwoUnits units,
+ << "Detailed() not implemented for your (format, length) combination!";
+ DCHECK(detailed_format_[units][1])
+ << "Detailed() not implemented for your (format, length) combination!";
+- DCHECK(formatted_string->isEmpty() == TRUE);
++ DCHECK(formatted_string->isEmpty() == true);
+ UErrorCode error = U_ZERO_ERROR;
+ FormatNumberInPlural(*detailed_format_[units][0], value_1,
+ formatted_string, &error);
+@@ -281,7 +281,7 @@ std::unique_ptr<icu::MessageFormat> Form
+ base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id);
+ UErrorCode error = U_ZERO_ERROR;
+ std::unique_ptr<icu::MessageFormat> format(new icu::MessageFormat(
+- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error));
++ icu::UnicodeString(false, pattern.data(), pattern.length()), error));
+ DCHECK(U_SUCCESS(error));
+ if (format.get())
+ return format;
diff --git a/qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-glibc233-1.patch b/qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-glibc233-1.patch
new file mode 100644
index 0000000000..af80c1ef4c
--- /dev/null
+++ b/qt5/qtwebengine/patches/qtwebengine-everywhere-src-5.15.2-glibc233-1.patch
@@ -0,0 +1,151 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2021-02-14
+Initial Package Version: 5.15.2
+Upstream Status: Unknown
+Origin: Fedora, found at Arch
+Description: Fixes display of text following changes in glibc-2.33.
+
+# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
+# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
+
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-20 02:14:53.066223906 +0100
+@@ -248,6 +248,18 @@
+ return RestrictKillTarget(current_pid, sysno);
+ }
+
++#if defined(__NR_newfstatat)
++ if (sysno == __NR_newfstatat) {
++ return RewriteFstatatSIGSYS();
++ }
++#endif
++
++#if defined(__NR_fstatat64)
++ if (sysno == __NR_fstatat64) {
++ return RewriteFstatatSIGSYS();
++ }
++#endif
++
+ if (SyscallSets::IsFileSystem(sysno) ||
+ SyscallSets::IsCurrentDirectory(sysno)) {
+ return Error(fs_denied_errno);
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-01-22 19:02:55.651668257 +0100
+@@ -6,6 +6,8 @@
+
+ #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
+
++#include <errno.h>
++#include <fcntl.h>
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <sys/syscall.h>
+@@ -353,6 +355,35 @@
+ return -ENOSYS;
+ }
+
++intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
++ void* aux) {
++ switch (args.nr) {
++#if defined(__NR_newfstatat)
++ case __NR_newfstatat:
++#endif
++#if defined(__NR_fstatat64)
++ case __NR_fstatat64:
++#endif
++#if defined(__NR_newfstatat) || defined(__NR_fstatat64)
++ if (*reinterpret_cast<const char *>(args.args[1]) == '\0'
++ && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
++ return sandbox::sys_fstat64(static_cast<int>(args.args[0]),
++ reinterpret_cast<struct stat64 *>(args.args[2]));
++ } else {
++ errno = EACCES;
++ return -1;
++ }
++ break;
++#endif
++ }
++
++ CrashSIGSYS_Handler(args, aux);
++
++ // Should never be reached.
++ RAW_CHECK(false);
++ return -ENOSYS;
++}
++
+ bpf_dsl::ResultExpr CrashSIGSYS() {
+ return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
+ }
+@@ -385,6 +416,10 @@
+ return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
+ }
+
++bpf_dsl::ResultExpr RewriteFstatatSIGSYS() {
++ return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL);
++}
++
+ void AllocateCrashKeys() {
+ #if !defined(OS_NACL_NONSFI)
+ if (seccomp_crash_key)
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-20 02:11:04.583714199 +0100
+@@ -62,6 +62,10 @@
+ // sched_setparam(), sched_setscheduler()
+ SANDBOX_EXPORT intptr_t
+ SIGSYSSchedHandler(const struct arch_seccomp_data& args, void* aux);
++// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
++// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
++SANDBOX_EXPORT intptr_t
++ SIGSYSFstatatHandler(const struct arch_seccomp_data& args, void* aux);
+
+ // Variants of the above functions for use with bpf_dsl.
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
+@@ -72,6 +76,7 @@
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
+ SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
++SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS();
+
+ // Allocates a crash key so that Seccomp information can be recorded.
+ void AllocateCrashKeys();
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc 2021-01-20 02:41:12.033133269 +0100
+@@ -261,4 +261,13 @@
+
+ #endif // defined(MEMORY_SANITIZER)
+
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf)
++{
++#if defined(__NR_fstat64)
++ return syscall(__NR_fstat64, fd, buf);
++#else
++ return syscall(__NR_fstat, fd, buf);
++#endif
++}
++
+ } // namespace sandbox
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h 2021-01-20 02:40:26.499827829 +0100
+@@ -17,6 +17,7 @@
+ struct rlimit64;
+ struct cap_hdr;
+ struct cap_data;
++struct stat64;
+
+ namespace sandbox {
+
+@@ -84,6 +85,9 @@
+ const struct sigaction* act,
+ struct sigaction* oldact);
+
++// Recent glibc rewrites fstat to fstatat.
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf);
++
+ } // namespace sandbox
+
+ #endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_