public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2016-12-01 14:03 Michael Palimaka
  0 siblings, 0 replies; 50+ messages in thread
From: Michael Palimaka @ 2016-12-01 14:03 UTC (permalink / raw
  To: gentoo-commits

commit:     9f88b15ff6b650018934340b24e50d10eb15aa58
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 14:01:37 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Thu Dec  1 14:02:55 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f88b15f

dev-qt/qtwebengine: ensure build against system icu headers

Gentoo-bug: 601264

Package-Manager: portage-2.3.2

 dev-qt/qtwebengine/files/a.patch            | 381 ++++++++++++++++++++++++++++
 dev-qt/qtwebengine/files/b.patch            |  49 ++++
 dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild |   5 +
 dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild |   5 +
 4 files changed, 440 insertions(+)

diff --git a/dev-qt/qtwebengine/files/a.patch b/dev-qt/qtwebengine/files/a.patch
new file mode 100644
index 00000000..a522e8e
--- /dev/null
+++ b/dev-qt/qtwebengine/files/a.patch
@@ -0,0 +1,381 @@
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/base.gypi
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi	2016-01-12 03:01:20.875004550 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/base.gypi	2016-01-12 03:04:12.789946122 +0100
+@@ -621,8 +621,6 @@
+           'third_party/dmg_fp/dmg_fp.h',
+           'third_party/dmg_fp/dtoa_wrapper.cc',
+           'third_party/dmg_fp/g_fmt.cc',
+-          'third_party/icu/icu_utf.cc',
+-          'third_party/icu/icu_utf.h',
+           'third_party/superfasthash/superfasthash.c',
+           'third_party/xdg_mime/xdgmime.h',
+           'thread_task_runner_handle.cc',
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn	2016-01-12 03:03:08.040591492 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn	2016-01-12 03:04:27.209025094 +0100
+@@ -504,8 +504,6 @@
+     "third_party/dmg_fp/dmg_fp.h",
+     "third_party/dmg_fp/dtoa_wrapper.cc",
+     "third_party/dmg_fp/g_fmt.cc",
+-    "third_party/icu/icu_utf.cc",
+-    "third_party/icu/icu_utf.h",
+     "third_party/superfasthash/superfasthash.c",
+     "thread_task_runner_handle.cc",
+     "thread_task_runner_handle.h",
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc	2016-01-12 03:09:08.430565334 +0100
+@@ -20,7 +20,7 @@
+ 
+ #if defined(OS_MACOSX)
+ #include "base/mac/scoped_cftyperef.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ #endif
+ 
+ #if defined(OS_WIN)
+@@ -1140,9 +1140,9 @@
+                                             int* index) {
+   int codepoint = 0;
+   while (*index < length && codepoint == 0) {
+-    // CBU8_NEXT returns a value < 0 in error cases. For purposes of string
++    // U8_NEXT returns a value < 0 in error cases. For purposes of string
+     // comparison, we just use that value and flag it with DCHECK.
+-    CBU8_NEXT(string, *index, length, codepoint);
++    U8_NEXT(string, *index, length, codepoint);
+     DCHECK_GT(codepoint, 0);
+     if (codepoint > 0) {
+       // Check if there is a subtable for this upper byte.
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc	2016-01-12 03:12:23.701634827 +0100
+@@ -14,7 +14,7 @@
+ #include "base/strings/stringprintf.h"
+ #include "base/strings/utf_string_conversion_utils.h"
+ #include "base/strings/utf_string_conversions.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ #include "base/values.h"
+ 
+ namespace base {
+@@ -616,8 +616,8 @@
+   int32 next_char = 0;
+ 
+   while (CanConsume(1)) {
+-    pos_ = start_pos_ + index_;  // CBU8_NEXT is postcrement.
+-    CBU8_NEXT(start_pos_, index_, length, next_char);
++    pos_ = start_pos_ + index_;  // U8_NEXT is postcrement.
++    U8_NEXT(start_pos_, index_, length, next_char);
+     if (next_char < 0 || !IsValidCharacter(next_char)) {
+       ReportError(JSONReader::JSON_UNSUPPORTED_ENCODING, 1);
+       return false;
+@@ -710,7 +710,7 @@
+           return false;
+       }
+     } else if (next_char == '"') {
+-      --index_;  // Rewind by one because of CBU8_NEXT.
++      --index_;  // Rewind by one because of U8_NEXT.
+       out->Swap(&string);
+       return true;
+     } else {
+@@ -750,10 +750,10 @@
+ 
+   // If this is a high surrogate, consume the next code unit to get the
+   // low surrogate.
+-  if (CBU16_IS_SURROGATE(code_unit16_high)) {
++  if (U16_IS_SURROGATE(code_unit16_high)) {
+     // Make sure this is the high surrogate. If not, it's an encoding
+     // error.
+-    if (!CBU16_IS_SURROGATE_LEAD(code_unit16_high))
++    if (!U16_IS_SURROGATE_LEAD(code_unit16_high))
+       return false;
+ 
+     // Make sure that the token has more characters to consume the
+@@ -770,24 +770,24 @@
+ 
+     NextNChars(3);
+ 
+-    if (!CBU16_IS_TRAIL(code_unit16_low)) {
++    if (!U16_IS_TRAIL(code_unit16_low)) {
+       return false;
+     }
+ 
+-    uint32 code_point = CBU16_GET_SUPPLEMENTARY(code_unit16_high,
+-                                                code_unit16_low);
++    uint32 code_point = U16_GET_SUPPLEMENTARY(code_unit16_high,
++                                              code_unit16_low);
+     if (!IsValidCharacter(code_point))
+       return false;
+ 
+     offset = 0;
+-    CBU8_APPEND_UNSAFE(code_unit8, offset, code_point);
++    U8_APPEND_UNSAFE(code_unit8, offset, code_point);
+   } else {
+     // Not a surrogate.
+-    DCHECK(CBU16_IS_SINGLE(code_unit16_high));
++    DCHECK(U16_IS_SINGLE(code_unit16_high));
+     if (!IsValidCharacter(code_unit16_high))
+       return false;
+ 
+-    CBU8_APPEND_UNSAFE(code_unit8, offset, code_unit16_high);
++    U8_APPEND_UNSAFE(code_unit8, offset, code_unit16_high);
+   }
+ 
+   dest_string->append(code_unit8);
+@@ -804,9 +804,9 @@
+   } else {
+     char utf8_units[4] = { 0 };
+     int offset = 0;
+-    CBU8_APPEND_UNSAFE(utf8_units, offset, point);
++    U8_APPEND_UNSAFE(utf8_units, offset, point);
+     dest->Convert();
+-    // CBU8_APPEND_UNSAFE can overwrite up to 4 bytes, so utf8_units may not be
++    // U8_APPEND_UNSAFE can overwrite up to 4 bytes, so utf8_units may not be
+     // zero terminated at this point.  |offset| contains the correct length.
+     dest->AppendString(std::string(utf8_units, offset));
+   }
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc	2016-01-12 03:12:46.093757468 +0100
+@@ -10,7 +10,7 @@
+ #include "base/strings/stringprintf.h"
+ #include "base/strings/utf_string_conversion_utils.h"
+ #include "base/strings/utf_string_conversions.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ 
+ namespace base {
+ 
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc	2016-01-12 03:14:17.884254687 +0100
+@@ -4,13 +4,13 @@
+ 
+ #include "base/strings/pattern.h"
+ 
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ 
+ namespace base {
+ 
+ namespace {
+ 
+-static bool IsWildcard(base_icu::UChar32 character) {
++static bool IsWildcard(UChar32 character) {
+   return character == '*' || character == '?';
+ }
+ 
+@@ -37,9 +37,9 @@
+     // Check if the chars match, if so, increment the ptrs.
+     const CHAR* pattern_next = *pattern;
+     const CHAR* string_next = *string;
+-    base_icu::UChar32 pattern_char = next(&pattern_next, pattern_end);
++    UChar32 pattern_char = next(&pattern_next, pattern_end);
+     if (pattern_char == next(&string_next, string_end) &&
+-        pattern_char != CBU_SENTINEL) {
++        pattern_char != U_SENTINEL) {
+       *pattern = pattern_next;
+       *string = string_next;
+     } else {
+@@ -133,20 +133,20 @@
+ }
+ 
+ struct NextCharUTF8 {
+-  base_icu::UChar32 operator()(const char** p, const char* end) {
+-    base_icu::UChar32 c;
++  UChar32 operator()(const char** p, const char* end) {
++    UChar32 c;
+     int offset = 0;
+-    CBU8_NEXT(*p, offset, end - *p, c);
++    U8_NEXT(*p, offset, end - *p, c);
+     *p += offset;
+     return c;
+   }
+ };
+ 
+ struct NextCharUTF16 {
+-  base_icu::UChar32 operator()(const char16** p, const char16* end) {
+-    base_icu::UChar32 c;
++  UChar32 operator()(const char16** p, const char16* end) {
++    UChar32 c;
+     int offset = 0;
+-    CBU16_NEXT(*p, offset, end - *p, c);
++    U16_NEXT(*p, offset, end - *p, c);
+     *p += offset;
+     return c;
+   }
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc	2016-01-12 03:14:39.106365912 +0100
+@@ -6,7 +6,7 @@
+ 
+ #include "base/logging.h"
+ #include "base/strings/string_util.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ 
+ namespace base {
+ 
+@@ -201,7 +201,7 @@
+ void SplitString(const string16& str,
+                  char16 c,
+                  std::vector<string16>* result) {
+-  DCHECK(CBU16_IS_SINGLE(c));
++  DCHECK(U16_IS_SINGLE(c));
+   *result = SplitStringT<string16, string16, char16>(
+       str, c, TRIM_WHITESPACE, SPLIT_WANT_ALL);
+ 
+@@ -274,7 +274,7 @@
+ void SplitStringDontTrim(StringPiece16 str,
+                          char16 c,
+                          std::vector<string16>* result) {
+-  DCHECK(CBU16_IS_SINGLE(c));
++  DCHECK(U16_IS_SINGLE(c));
+   *result = SplitStringT<string16, string16, char16>(
+       str, c, KEEP_WHITESPACE, SPLIT_WANT_ALL);
+ }
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc	2016-01-12 03:15:00.981480560 +0100
+@@ -24,7 +24,7 @@
+ #include "base/strings/string_split.h"
+ #include "base/strings/utf_string_conversion_utils.h"
+ #include "base/strings/utf_string_conversions.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ #include "build/build_config.h"
+ 
+ // Remove when this entire file is in the base namespace.
+@@ -274,19 +274,19 @@
+     return;
+   }
+   DCHECK_LE(byte_size, static_cast<uint32>(kint32max));
+-  // Note: This cast is necessary because CBU8_NEXT uses int32s.
++  // Note: This cast is necessary because U8_NEXT uses int32s.
+   int32 truncation_length = static_cast<int32>(byte_size);
+   int32 char_index = truncation_length - 1;
+   const char* data = input.data();
+ 
+-  // Using CBU8, we will move backwards from the truncation point
++  // Using U8, we will move backwards from the truncation point
+   // to the beginning of the string looking for a valid UTF8
+   // character.  Once a full UTF8 character is found, we will
+   // truncate the string to the end of that character.
+   while (char_index >= 0) {
+     int32 prev = char_index;
+-    base_icu::UChar32 code_point = 0;
+-    CBU8_NEXT(data, char_index, truncation_length, code_point);
++    UChar32 code_point = 0;
++    U8_NEXT(data, char_index, truncation_length, code_point);
+     if (!IsValidCharacter(code_point) ||
+         !IsValidCodepoint(code_point)) {
+       char_index = prev - 1;
+@@ -447,7 +447,7 @@
+ 
+   while (char_index < src_len) {
+     int32 code_point;
+-    CBU8_NEXT(src, char_index, src_len, code_point);
++    U8_NEXT(src, char_index, src_len, code_point);
+     if (!IsValidCharacter(code_point))
+       return false;
+   }
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc	2016-01-12 03:15:27.384618939 +0100
+@@ -4,7 +4,7 @@
+ 
+ #include "base/strings/utf_string_conversion_utils.h"
+ 
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ 
+ namespace base {
+ 
+@@ -18,7 +18,7 @@
+   // use a signed type for code_point.  But this function returns false
+   // on error anyway, so code_point_out is unsigned.
+   int32 code_point;
+-  CBU8_NEXT(src, *char_index, src_len, code_point);
++  U8_NEXT(src, *char_index, src_len, code_point);
+   *code_point_out = static_cast<uint32>(code_point);
+ 
+   // The ICU macro above moves to the next char, we want to point to the last
+@@ -33,16 +33,16 @@
+                           int32 src_len,
+                           int32* char_index,
+                           uint32* code_point) {
+-  if (CBU16_IS_SURROGATE(src[*char_index])) {
+-    if (!CBU16_IS_SURROGATE_LEAD(src[*char_index]) ||
++  if (U16_IS_SURROGATE(src[*char_index])) {
++    if (!U16_IS_SURROGATE_LEAD(src[*char_index]) ||
+         *char_index + 1 >= src_len ||
+-        !CBU16_IS_TRAIL(src[*char_index + 1])) {
++        !U16_IS_TRAIL(src[*char_index + 1])) {
+       // Invalid surrogate pair.
+       return false;
+     }
+ 
+     // Valid surrogate pair.
+-    *code_point = CBU16_GET_SUPPLEMENTARY(src[*char_index],
++    *code_point = U16_GET_SUPPLEMENTARY(src[*char_index],
+                                           src[*char_index + 1]);
+     (*char_index)++;
+   } else {
+@@ -76,30 +76,30 @@
+   }
+ 
+ 
+-  // CBU8_APPEND_UNSAFE can append up to 4 bytes.
++  // U8_APPEND_UNSAFE can append up to 4 bytes.
+   size_t char_offset = output->length();
+   size_t original_char_offset = char_offset;
+-  output->resize(char_offset + CBU8_MAX_LENGTH);
++  output->resize(char_offset + U8_MAX_LENGTH);
+ 
+-  CBU8_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
++  U8_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
+ 
+-  // CBU8_APPEND_UNSAFE will advance our pointer past the inserted character, so
++  // U8_APPEND_UNSAFE will advance our pointer past the inserted character, so
+   // it will represent the new length of the string.
+   output->resize(char_offset);
+   return char_offset - original_char_offset;
+ }
+ 
+ size_t WriteUnicodeCharacter(uint32 code_point, string16* output) {
+-  if (CBU16_LENGTH(code_point) == 1) {
++  if (U16_LENGTH(code_point) == 1) {
+     // Thie code point is in the Basic Multilingual Plane (BMP).
+     output->push_back(static_cast<char16>(code_point));
+     return 1;
+   }
+   // Non-BMP characters use a double-character encoding.
+   size_t char_offset = output->length();
+-  output->resize(char_offset + CBU16_MAX_LENGTH);
+-  CBU16_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
+-  return CBU16_MAX_LENGTH;
++  output->resize(char_offset + U16_MAX_LENGTH);
++  U16_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
++  return U16_MAX_LENGTH;
+ }
+ 
+ // Generalized Unicode converter -----------------------------------------------
+diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc
+--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc	2016-01-12 03:15:51.205743785 +0100
+@@ -5,13 +5,13 @@
+ #include "ui/gfx/utf16_indexing.h"
+ 
+ #include "base/logging.h"
+-#include "base/third_party/icu/icu_utf.h"
++#include <unicode/utf.h>
+ 
+ namespace gfx {
+ 
+ bool IsValidCodePointIndex(const base::string16& s, size_t index) {
+   return index == 0 || index == s.length() ||
+-    !(CBU16_IS_TRAIL(s[index]) && CBU16_IS_LEAD(s[index - 1]));
++    !(U16_IS_TRAIL(s[index]) && U16_IS_LEAD(s[index - 1]));
+ }
+ 
+ ptrdiff_t UTF16IndexToOffset(const base::string16& s, size_t base, size_t pos) {

diff --git a/dev-qt/qtwebengine/files/b.patch b/dev-qt/qtwebengine/files/b.patch
new file mode 100644
index 00000000..dffa81e
--- /dev/null
+++ b/dev-qt/qtwebengine/files/b.patch
@@ -0,0 +1,49 @@
+diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/base.gypi qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi
+--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/base.gypi	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi	2016-01-12 03:01:20.875004550 +0100
+@@ -623,8 +623,6 @@
+           'third_party/dmg_fp/g_fmt.cc',
+           'third_party/icu/icu_utf.cc',
+           'third_party/icu/icu_utf.h',
+-          'third_party/nspr/prtime.cc',
+-          'third_party/nspr/prtime.h',
+           'third_party/superfasthash/superfasthash.c',
+           'third_party/xdg_mime/xdgmime.h',
+           'thread_task_runner_handle.cc',
+diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn
+--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/BUILD.gn	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn	2016-01-12 03:03:08.040591492 +0100
+@@ -506,8 +506,6 @@
+     "third_party/dmg_fp/g_fmt.cc",
+     "third_party/icu/icu_utf.cc",
+     "third_party/icu/icu_utf.h",
+-    "third_party/nspr/prtime.cc",
+-    "third_party/nspr/prtime.h",
+     "third_party/superfasthash/superfasthash.c",
+     "thread_task_runner_handle.cc",
+     "thread_task_runner_handle.h",
+diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/pr_time_unittest.cc qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc
+--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/pr_time_unittest.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc	2016-01-12 03:01:20.876004555 +0100
+@@ -6,7 +6,7 @@
+ #include <time.h>
+ 
+ #include "base/compiler_specific.h"
+-#include "base/third_party/nspr/prtime.h"
++#include <nspr4/prtime.h>
+ #include "base/time/time.h"
+ #include "testing/gtest/include/gtest/gtest.h"
+ 
+diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/time.cc qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc
+--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/time.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc	2016-01-12 03:01:20.877004561 +0100
+@@ -13,7 +13,8 @@
+ #include "base/lazy_instance.h"
+ #include "base/logging.h"
+ #include "base/strings/stringprintf.h"
+-#include "base/third_party/nspr/prtime.h"
++
++#include <nspr4/prtime.h>
+ 
+ namespace base {
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
index 4d718ad..38e8525 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
@@ -71,6 +71,11 @@ DEPEND="${RDEPEND}
 "
 
 src_prepare() {
+	if use system-icu; then
+		# ensuire build against system headers - bug #601264
+		rm -r src/3rdparty/chromium/third_party/icu/source || die
+	fi
+
 	qt_use_disable_mod geolocation positioning \
 		src/core/core_common.pri \
 		src/core/core_gyp_generator.pro

diff --git a/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild b/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
index cdebff6..cf5d640 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
@@ -71,6 +71,11 @@ DEPEND="${RDEPEND}
 "
 
 src_prepare() {
+	if use system-icu; then
+		# ensuire build against system headers - bug #601264
+		rm -r src/3rdparty/chromium/third_party/icu/source || die
+	fi
+
 	qt_use_disable_mod geolocation positioning \
 		src/core/core_common.pri \
 		src/core/core_gyp_generator.pro


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2016-12-06  6:54 Michael Palimaka
  0 siblings, 0 replies; 50+ messages in thread
From: Michael Palimaka @ 2016-12-06  6:54 UTC (permalink / raw
  To: gentoo-commits

commit:     ed080e3f5696fcdc822ad60e95649176195bea9e
Author:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Wed Nov 16 07:58:52 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Tue Dec  6 06:54:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed080e3f

dev-qt/qtwebengine: Add patches.

qtwebengine-5.7.0-fix-system-ffmpeg.patch undefines FF_API_CONVERGENCE_DURATION,
which should only be defined when not using the system ffmpeg. This causes
segmentation faults at runtime with FFMPEG 3.x

qtwebengine-5.7.0-gcc6.patch is adapted from
http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=cffcf22082879939bbcfa89e88057beda829a0a7
http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=ae73e50e7d8c1371ed293c10150646a2719f4598
http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=c7aeb3b03ecce75c40d3f53352e8b7b3a4d6d050
http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=d6c8a2cf8fa374e6d1c0a578391b57112c047fa4

qtwebengine-5.7.0-icu58.patch is adapted from
www-client/chromium/files/chromium-icu-58.patch

qtwebengine-5.7.0-undef-madv_free.patch is adapted from
http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=fa8cdb3a32c377b6290d0a92d2522186bcd48293

Gentoo-Bug: 599094

 .../qtwebengine-5.7.0-fix-system-ffmpeg.patch      |  13 +++
 .../qtwebengine/files/qtwebengine-5.7.0-gcc6.patch | 106 +++++++++++++++++++++
 .../files/qtwebengine-5.7.0-icu58.patch            |  51 ++++++++++
 .../files/qtwebengine-5.7.0-undef-madv_free.patch  |  33 +++++++
 dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild        |   7 ++
 5 files changed, 210 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch
new file mode 100644
index 00000000..71881e0
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch
@@ -0,0 +1,13 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h	2016-11-23 13:01:20.929772871 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h	2016-11-23 13:02:18.879462854 -0800
+@@ -24,7 +24,9 @@
+ // Disable deprecated features which result in spammy compile warnings.  This
+ // list of defines must mirror those in the 'defines' section of BUILD.gn file &
+ // ffmpeg.gyp file or the headers below will generate different structures!
++#if !defined(USE_SYSTEM_FFMPEG)
+ #define FF_API_CONVERGENCE_DURATION 0
++#endif
+ // Upstream libavcodec/utils.c still uses the deprecated
+ // av_dup_packet(), causing deprecation warnings.
+ // The normal fix for such things is to disable the feature as below,

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch
new file mode 100644
index 00000000..2cc53e6
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch
@@ -0,0 +1,106 @@
+From cffcf22082879939bbcfa89e88057beda829a0a7 Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Sat, 3 Sep 2016 18:01:40 +0200
+Subject: gcc6: set -fno-delete-null-pointer-checks for all files
+
+Not just v8, as v8_no_delete_null_pointer_checks does.
+This is necessary e.g. for PaintLayer::enclosingSelfPaintingLayer
+which also compares this with null.
+
+I'll remove v8_no_delete_null_pointer_checks in a later commit
+to avoid a temporary breakage until qtwebengine is updated.
+
+Change-Id: I8782fadc8fab125b5394bd60857e70c6ae75f9b0
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+(cherry picked from commit c42f53ec3ca90bfd98577988462ed51464feebe3)
+---
+ chromium/build/common.gypi | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/3rdparty/chromium/build/common.gypi b/src/3rdparty/chromium/build/common.gypi
+index b6a0284..d768ab3 100644
+--- a/src/3rdparty/chromium/build/common.gypi
++++ b/src/3rdparty/chromium/build/common.gypi
+@@ -4702,6 +4706,9 @@
+               '-Wl,--disable-new-dtags',
+             ],
+           }],
++          [ 'no_delete_null_pointer_checks==1', {
++              'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
++          }],
+           ['clang==0', {
+             'target_conditions': [
+               ['_toolset=="target"', {
+-- 
+cgit v1.0-4-g1e03
+
+From ae73e50e7d8c1371ed293c10150646a2719f4598 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+Date: Wed, 14 Sep 2016 17:40:50 +0200
+Subject: FIXUP: gcc6: set -fno-delete-null-pointer-checks for all files
+
+Set a default and pull in the value from configuration, and
+remove the old v8 only version.
+
+Change-Id: Ica9f971baa28c717178eb2acd074607424792e1d
+Reviewed-by: David Faure <david.faure@kdab.com>
+---
+ chromium/build/common.gypi       | 4 ++++
+ chromium/v8/build/toolchain.gypi | 7 -------
+ 2 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/3rdparty/chromium/build/common.gypi b/src/3rdparty/chromium/build/common.gypi
+index d768ab3..8a1df22 100644
+--- a/src/3rdparty/chromium/build/common.gypi
++++ b/src/3rdparty/chromium/build/common.gypi
+@@ -727,6 +727,9 @@
+       # By default include non-appstore-compliant code.
+       'appstore_compliant_code%': 0,
+ 
++      # Enable this to turn off the delete-null-pointer-checks optimization in GCC 6+
++      'no_delete_null_pointer_checks%': 0,
++
+       'conditions': [
+         # A flag for POSIX platforms
+         ['OS=="win"', {
+@@ -1271,6 +1274,7 @@
+     'enable_hangout_services_extension%' : '<(enable_hangout_services_extension)',
+     'proprietary_codecs%': '<(proprietary_codecs)',
+     'appstore_compliant_code%': '<(appstore_compliant_code)',
++    'no_delete_null_pointer_checks%': '<(no_delete_null_pointer_checks)',
+     'use_goma%': '<(use_goma)',
+     'gomadir%': '<(gomadir)',
+     'use_lto%': '<(use_lto)',
+-- 
+cgit v1.0-4-g1e03
+
+From d6c8a2cf8fa374e6d1c0a578391b57112c047fa4 Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Mon, 5 Sep 2016 15:25:02 +0200
+Subject: Enable -fno_delete_null_pointer_checks for g++ 6 on all of chromium
+
+This is necessary e.g. for PaintLayer::enclosingSelfPaintingLayer
+which also compares this with null.
+
+Change-Id: I85d69432a0d7eeb0d8df8f395821880e36180dcc
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/core/config/linux.pri | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
+index 9264932..a318e17 100644
+--- a/src/core/config/linux.pri
++++ b/src/core/config/linux.pri
+@@ -29,6 +29,8 @@ use?(nss) {
+         use_openssl_certs=1
+ }
+ 
++gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += no_delete_null_pointer_checks=1
++ 
+ contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1
+ contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1
+ contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1
+-- 
+cgit v1.0-4-g1e03
+

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch
new file mode 100644
index 00000000..ced5367
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch
@@ -0,0 +1,51 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:07:38.680665385 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:12:17.564001354 -0800
+@@ -26,6 +26,9 @@
+ #include "wtf/StdLibExtras.h"
+ #include "wtf/text/CharacterNames.h"
+ 
++#include <unicode/uchar.h>
++#include <unicode/uvernum.h>
++
+ namespace blink {
+ 
+ unsigned numGraphemeClusters(const String& string)
+@@ -122,13 +125,18 @@
+     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
+ };
+ 
++#if U_ICU_VERSION_MAJOR_NUM >= 58
++#define BA_LB_COUNT (U_LB_COUNT - 3)
++#else
++#define BA_LB_COUNT U_LB_COUNT
++#endif
+ // Line breaking table for CSS word-break: break-all. This table differs from
+ // asciiLineBreakTable in:
+ // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
+ //   Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
+ // - 1 indicates additional break opportunities. 0 indicates to fallback to
+ //   normal line break, not "prohibit break."
+-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
++static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
+     // XX AI AL B2 BA BB BK CB    CL CM CR EX GL HY ID IN    IS LF NS NU OP PO PR QU    SA SG SP SY ZW NL WJ H2    H3 JL JT JV CP CJ HL RI
+     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
+     { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
+@@ -178,7 +186,7 @@
+ #undef AL
+ 
+ static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
+-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
++static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
+ 
+ static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
+ {
+@@ -209,7 +217,7 @@
+ 
+ static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
+ {
+-    if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
++    if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
+         const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
+         return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
+     }

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch
new file mode 100644
index 00000000..193e713
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch
@@ -0,0 +1,33 @@
+From fa8cdb3a32c377b6290d0a92d2522186bcd48293 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+Date: Tue, 9 Aug 2016 16:21:29 +0200
+Subject: Do not depend on Linux 4.5
+
+Avoid using MADV_FREE that was only recently added to Linux. It will fail when
+run on older Linux kernels.
+
+Change-Id: I9b0369fb31402f088b2327c12f70dd39f5e4c8c0
+Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
+---
+ chromium/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
+index 12c9a7b..1639013 100644
+--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
++++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
+@@ -39,6 +39,11 @@
+
+ #include <sys/mman.h>
+ 
++#if OS(LINUX) && defined(MADV_FREE)
++// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
++#undef MADV_FREE
++#endif
++
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
+-- 
+cgit v1.0-4-g1e03
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild b/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
index cf5d640..87c25c3 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
@@ -70,6 +70,13 @@ DEPEND="${RDEPEND}
 	sys-devel/bison
 "
 
+PATCHES=(
+	"${FILESDIR}/${PN}-5.7.0-fix-system-ffmpeg.patch"
+	"${FILESDIR}/${PN}-5.7.0-gcc6.patch"
+	"${FILESDIR}/${PN}-5.7.0-icu58.patch"
+	"${FILESDIR}/${PN}-5.7.0-undef-madv_free.patch"
+)
+
 src_prepare() {
 	if use system-icu; then
 		# ensuire build against system headers - bug #601264


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2017-01-31  5:14 Davide Pesavento
  0 siblings, 0 replies; 50+ messages in thread
From: Davide Pesavento @ 2017-01-31  5:14 UTC (permalink / raw
  To: gentoo-commits

commit:     e146460dfde8972861dae5099f45e9dee5da2b6b
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 23:53:07 2016 +0000
Commit:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Tue Jan 31 05:13:51 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e146460d

dev-qt/qtwebengine: fix detecting audio backends

The upstream change doesn't really work for us, so we'll make
it work with us.

http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=cf7d82a79dff4ea5c53e0908ed5c13ce1f87796d

Closes: https://github.com/gentoo/gentoo/pull/3219
Gentoo-Bug: https://bugs.gentoo.org/603498
Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../qtwebengine-5.7.1-fix-audio-detection.patch    |  23 ++++
 dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild     | 117 +++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch
new file mode 100644
index 00000000..597554e
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch
@@ -0,0 +1,23 @@
+# dev-qt/qtwebengine: Fix detecting audio backends.
+
+# The upstream change doesn't really work for us, so we'll make
+# it work with us.
+# Gentoo-Bug: https://bugs.gentoo.org/603498
+
+--- /src/core/config/linux.pri	2016-12-23 00:05:41.057955774 +0200
++++ /src/core/config/linux.pri	2016-12-23 00:09:39.000573909 +0200
+@@ -35,12 +35,12 @@
+ contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1
+ contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1
+ contains(QT_CONFIG, system-harfbuzz): GYP_CONFIG += use_system_harfbuzz=1
+-contains(QT_CONFIG, pulseaudio) {
++use?(pulseaudio) {
+     GYP_CONFIG += use_pulseaudio=1
+ } else {
+     GYP_CONFIG += use_pulseaudio=0
+ }
+-contains(QT_CONFIG, alsa) {
++use?(alsa) {
+     GYP_CONFIG += use_alsa=1
+ } else {
+     GYP_CONFIG += use_alsa=0

diff --git a/dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild
new file mode 100644
index 00000000..ee09868
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit pax-utils python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~x86"
+fi
+
+IUSE="alsa bindist geolocation pax_kernel pulseaudio +system-ffmpeg +system-icu widgets"
+
+RDEPEND="
+	app-arch/snappy
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	~dev-qt/qtcore-${PV}
+	~dev-qt/qtdeclarative-${PV}
+	~dev-qt/qtgui-${PV}
+	~dev-qt/qtnetwork-${PV}
+	~dev-qt/qtwebchannel-${PV}[qml]
+	dev-libs/expat
+	dev-libs/jsoncpp:=
+	dev-libs/libevent:=
+	dev-libs/libxml2
+	dev-libs/libxslt
+	dev-libs/protobuf:=
+	media-libs/flac
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc]
+	media-libs/libwebp:=
+	media-libs/mesa
+	media-libs/opus
+	media-libs/speex
+	net-libs/libsrtp:0=
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/libcap
+	sys-libs/zlib[minizip]
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	geolocation? ( ~dev-qt/qtpositioning-${PV} )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( dev-libs/icu:= )
+	widgets? ( ~dev-qt/qtwidgets-${PV} )
+"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	sys-devel/bison
+	pax_kernel? ( sys-apps/elfix )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.7.1-fix-audio-detection.patch"
+	"${FILESDIR}/${PN}-5.7.0-fix-system-ffmpeg.patch"
+	"${FILESDIR}/${PN}-5.7.0-icu58.patch"
+	"${FILESDIR}/${PN}-5.7.0-undef-madv_free.patch"
+)
+
+src_prepare() {
+	use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-paxmark-mksnapshot.patch" )
+
+	if use system-icu; then
+		# ensure build against system headers - bug #601264
+		rm -r src/3rdparty/chromium/third_party/icu/source || die
+	fi
+
+	qt_use_disable_mod geolocation positioning \
+		src/core/core_common.pri \
+		src/core/core_gyp_generator.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+
+	local myqmakeargs=(
+		$(usex alsa 'WEBENGINE_CONFIG+=use_alsa' '')
+		$(usex bindist '' 'WEBENGINE_CONFIG+=use_proprietary_codecs')
+		$(usex pulseaudio 'WEBENGINE_CONFIG+=use_pulseaudio' '')
+		$(usex system-ffmpeg 'WEBENGINE_CONFIG+=use_system_ffmpeg' '')
+		$(usex system-icu 'WEBENGINE_CONFIG+=use_system_icu' '')
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	pax-mark m "${D%/}${QT5_LIBEXECDIR}"/QtWebEngineProcess
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2017-12-10  1:43 Michael Palimaka
  0 siblings, 0 replies; 50+ messages in thread
From: Michael Palimaka @ 2017-12-10  1:43 UTC (permalink / raw
  To: gentoo-commits

commit:     7af3188a2035e98923dd1da81f2c74dbdc1f4739
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 00:29:32 2017 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sun Dec 10 01:42:54 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7af3188a

dev-qt/qtwebengine: fix build on pax kernel

Closes: https://bugs.gentoo.org/634220
Package-Manager: Portage-2.3.14, Repoman-2.3.6

 .../qtwebengine-5.9.3-paxmark-mksnapshot.patch     | 41 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.9.3.ebuild        |  2 +-
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch
new file mode 100644
index 00000000000..ecedaf62f34
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.3-paxmark-mksnapshot.patch
@@ -0,0 +1,41 @@
+Bug: https://bugs.gentoo.org/634220
+
+--- a/src/3rdparty/chromium/v8/BUILD.gn
++++ b/src/3rdparty/chromium/v8/BUILD.gn
+@@ -661,6 +661,7 @@ action("run_mksnapshot") {
+ 
+   deps = [
+     ":mksnapshot($v8_snapshot_toolchain)",
++    ":run_paxmark",
+   ]
+ 
+   script = "tools/run.py"
+@@ -706,6 +707,28 @@ action("run_mksnapshot") {
+     args += [ rebase_path(v8_embed_script, root_build_dir) ]
+   }
+ }
++action("run_paxmark") {
++  visibility = [ ":*" ]  # Only targets in this file can depend on this.
++
++  deps = [
++    ":mksnapshot($v8_snapshot_toolchain)",
++  ]
++
++  script = "/usr/sbin/pypaxctl"
++
++  sources = []
++
++  outputs = [
++     "$target_out_dir/mksnapshot",
++  ]
++
++  args = [
++    "-sm",
++    "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
++                                      "root_out_dir") + "/mksnapshot",
++                       root_build_dir),
++  ]
++}
+ 
+ action("run_mkpeephole") {
+   visibility = [ ":*" ]  # Only targets in this file can depend on this.

diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.3.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.3.ebuild
index afb0d89df44..b0e35e0db27 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.9.3.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.3.ebuild
@@ -76,7 +76,7 @@ DEPEND="${RDEPEND}
 PATCHES=( "${FILESDIR}/${P}-icu-60.1.patch" )
 
 src_prepare() {
-	use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.0-paxmark-mksnapshot.patch" )
+	use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" )
 
 	# bug 620444 - ensure local headers are used
 	find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2018-02-07  2:04 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2018-02-07  2:04 UTC (permalink / raw
  To: gentoo-commits

commit:     f340edd950eb281bb73bf51ab95b5eb5012ab3b5
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb  6 21:30:21 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb  7 02:04:05 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f340edd9

dev-qt/qtwebengine: Fix build with jpeg-9

Closes: https://bugs.gentoo.org/607424
Closes: https://bugs.gentoo.org/646456
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../files/qtwebengine-5.9.4-jpeg-9-1.patch         | 70 ++++++++++++++++++++++
 .../files/qtwebengine-5.9.4-jpeg-9-2.patch         | 46 ++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild        |  7 ++-
 3 files changed, 122 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch
new file mode 100644
index 00000000000..8b739680f68
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-1.patch
@@ -0,0 +1,70 @@
+From 560a4a616f2a1307385e5e7a7d2e99b0b41775c8 Mon Sep 17 00:00:00 2001
+From: Viktor Engelmann <viktor.engelmann@qt.io>
+Date: Fri, 18 Aug 2017 14:50:20 +0200
+Subject: [PATCH] Fix improper boolean values
+
+jpeg_codec.cc contained some implicit conversions to boolean, which
+is apparently problematic for some versions of libjpeg. Patch
+taken from https://bugs.chromium.org/p/chromium/issues/detail?id=686191
+but not backported, since it has not been accepted into chromium yet.
+
+Task-Number: QTBUG-58482
+
+Change-Id: I2c5d5894493d6a7d0698a4e5a7191288a2fdfeb4
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
+index 6d92637..85c7bec 100644
+--- a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
++++ b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
+@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
+   // tell libjpeg where to write the next data
+   cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
+   cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
+-  return 1;
++  return TRUE;
+ }
+ 
+ // Cleans up the JpegEncoderState to prepare for returning in the final form.
+@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
+   cinfo.data_precision = 8;
+ 
+   jpeg_set_defaults(&cinfo);
+-  jpeg_set_quality(&cinfo, quality, 1);  // quality here is 0-100
++  jpeg_set_quality(&cinfo, quality, TRUE);  // quality here is 0-100
+ 
+   // set up the destination manager
+   jpeg_destination_mgr destmgr;
+@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
+   JpegEncoderState state(output);
+   cinfo.client_data = &state;
+ 
+-  jpeg_start_compress(&cinfo, 1);
++  jpeg_start_compress(&cinfo, TRUE);
+ 
+   // feed it the rows, doing necessary conversions for the color format
+ #ifdef JCS_EXTENSIONS
+@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) {
+ //   set to a positive value if TRUE is returned. A FALSE return should only
+ //   be used when I/O suspension is desired."
+ boolean FillInputBuffer(j_decompress_ptr cinfo) {
+-  return false;
++  return FALSE;
+ }
+ 
+ // Skip data in the buffer. Since we have all the data at once, this operation
+@@ -488,7 +488,7 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size,
+   cinfo.client_data = &state;
+ 
+   // fill the file metadata into our buffer
+-  if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK)
++  if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK)
+     return false;
+ 
+   // we want to always get RGB data out
+-- 
+2.7.4
+

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch
new file mode 100644
index 00000000000..ef5f44efcf2
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.4-jpeg-9-2.patch
@@ -0,0 +1,46 @@
+Fix build with jpeg-9. Bug #646456
+
+--- a/src/3rdparty/chromium/third_party/pdfium/core/fxcodec/codec/fx_codec_jpeg.cpp	2018-01-15 12:39:43.000000000 +0100
++++ b/src/3rdparty/chromium/third_party/pdfium/core/fxcodec/codec/fx_codec_jpeg.cpp	2018-02-06 20:55:37.455912163 +0100
+@@ -57,12 +57,12 @@
+ };
+ extern "C" {
+ static boolean _src_fill_buffer(j_decompress_ptr cinfo) {
+-  return 0;
++  return FALSE;
+ }
+ };
+ extern "C" {
+ static boolean _src_resync(j_decompress_ptr cinfo, int desired) {
+-  return 0;
++  return FALSE;
+ }
+ };
+ extern "C" {
+@@ -126,7 +126,7 @@
+     jpeg_destroy_decompress(&cinfo);
+     return false;
+   }
+-  int ret = jpeg_read_header(&cinfo, true);
++  int ret = jpeg_read_header(&cinfo, TRUE);
+   if (ret != JPEG_HEADER_OK) {
+     jpeg_destroy_decompress(&cinfo);
+     return false;
+@@ -210,7 +210,7 @@
+   }
+   cinfo.image_width = m_OrigWidth;
+   cinfo.image_height = m_OrigHeight;
+-  int ret = jpeg_read_header(&cinfo, true);
++  int ret = jpeg_read_header(&cinfo, TRUE);
+   if (ret != JPEG_HEADER_OK)
+     return false;
+ 
+@@ -433,7 +433,7 @@
+   if (setjmp(ctx->m_JumpMark) == -1)
+     return 1;
+ 
+-  int ret = jpeg_read_header(&ctx->m_Info, true);
++  int ret = jpeg_read_header(&ctx->m_Info, TRUE);
+   if (ret == JPEG_SUSPENDED)
+     return 2;
+   if (ret != JPEG_HEADER_OK)

diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild
index e36ea1ca7b3..6545b759d29 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.4.ebuild
@@ -77,7 +77,12 @@ DEPEND="${RDEPEND}
 	pax_kernel? ( sys-apps/elfix )
 "
 
-PATCHES=( "${FILESDIR}/${PN}-5.9.3-icu-60.1.patch" )
+PATCHES=(
+	"${FILESDIR}/${PN}-5.9.3-icu-60.1.patch"
+	"${FILESDIR}/${P}-jpeg-9-1.patch" # bug 607424
+	# TODO upstream:
+	"${FILESDIR}/${P}-jpeg-9-2.patch" # bug 646456
+)
 
 src_prepare() {
 	use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" )


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2018-06-27 19:00 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2018-06-27 19:00 UTC (permalink / raw
  To: gentoo-commits

commit:     0e11bfc3ff2d1dae2d5143bef23f0b3bf4d17592
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 26 13:31:32 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 27 19:00:20 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e11bfc3

dev-qt/qtwebengine: Fix x86 build with GCC-8

Closes: https://bugs.gentoo.org/657124
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 .../qtwebengine/files/qtwebengine-5.9.6-gcc8.patch | 24 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild       |  1 +
 dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild        |  1 +
 3 files changed, 26 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch
new file mode 100644
index 00000000000..ba6a49fd748
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch
@@ -0,0 +1,24 @@
+From: Fedora
+Subject: Fix build for 32-bit platforms
+
+Apparently not upstream, can't find this anywhere. So I assume Fedora is the actual source?
+https://src.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium-66.0.3359.170-gcc8-alignof.patch
+
+diff -up chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h
+--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h	2018-05-15 14:58:46.448912634 -0400
++++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h	2018-05-15 14:58:52.041784613 -0400
+@@ -18,7 +18,13 @@
+ #endif
+ 
+ // Like the C++11 |alignof| operator.
+-#if __cplusplus >= 201103L
++#if defined(__GNUC__) && __GNUC__ >= 8
++// GCC 8 has changed the alignof operator to return the minimal alignment
++// required by the target ABI, instead of the preferred alignment.
++// This means that on 32-bit x86, it will return 4 instead of 8.
++// Use __alignof__ instead to avoid this.
++#define MOJO_ALIGNOF(type) __alignof__(type)
++#elif __cplusplus >= 201103L
+ #define MOJO_ALIGNOF(type) alignof(type)
+ #elif defined(__GNUC__)
+ #define MOJO_ALIGNOF(type) __alignof__(type)

diff --git a/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
index 05007972333..495c4d06013 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
@@ -80,6 +80,7 @@ DEPEND="${RDEPEND}
 "
 
 PATCHES+=(
+	"${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
 	"${FILESDIR}/${P}-libxml2-disable-catalogs.patch" # bug 653078
 	"${FILESDIR}/${P}-ffmpeg4.patch"
 	"${FILESDIR}/${P}-eglGetProcAddress-fallback-lookup.patch" # 5.11 branch

diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
index 6788f042ae3..0ee631f3821 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild
@@ -82,6 +82,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-5.9.4-jpeg-9-1.patch"
 	"${FILESDIR}/${PN}-5.9.4-jpeg-9-2.patch"
+	"${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2020-04-29 20:44 Lars Wendler
  0 siblings, 0 replies; 50+ messages in thread
From: Lars Wendler @ 2020-04-29 20:44 UTC (permalink / raw
  To: gentoo-commits

commit:     a2fe6a6c80b5cc6674fbc0afcc4075fe24e158c0
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 29 20:38:38 2020 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr 29 20:44:13 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2fe6a6c

dev-qt/qtwebengine: Fixed build with icu-67

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/qtwebengine-5.14.2-icu67.patch           | 169 +++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild       |   5 +-
 2 files changed, 173 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-icu67.patch b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-icu67.patch
new file mode 100644
index 00000000000..42ee5e87da2
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-icu67.patch
@@ -0,0 +1,169 @@
+From 2b107e7670ffb43719a66ee4a55ab408a5dcf2a5 Mon Sep 17 00:00:00 2001
+From: Ujjwal Sharma <ryzokuken@disroot.org>
+Date: Wed, 22 Apr 2020 12:20:17 +0530
+Subject: [PATCH] deps: V8: backport 3f8dc4b2e5ba
+
+Original commit message:
+
+    [intl] Remove soon-to-be removed getAllFieldPositions
+
+    Needed to land ICU67.1 soon.
+
+    Bug: v8:10393
+    Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
+    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
+    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+    Commit-Queue: Frank Tang <ftang@chromium.org>
+    Cr-Commit-Position: refs/heads/master@{#67027}
+
+Refs: https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463
+---
+ common.gypi                             |  2 +-
+ src/3rdparty/chromium/v8/src/objects/js-number-format.cc | 72 +++++++++++++------------
+ 2 files changed, 38 insertions(+), 36 deletions(-)
+
+diff --git a/deps/v8/src/objects/js-number-format.cc b/deps/v8/src/objects/js-number-format.cc
+index 92d3e2fb82e..ced408aa173 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+@@ -1197,42 +1197,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate,
+ }
+ 
+ namespace {
+-Maybe<icu::UnicodeString> IcuFormatNumber(
++Maybe<bool> IcuFormatNumber(
+     Isolate* isolate,
+     const icu::number::LocalizedNumberFormatter& number_format,
+-    Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
++    Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
+   // If it is BigInt, handle it differently.
+   UErrorCode status = U_ZERO_ERROR;
+-  icu::number::FormattedNumber formatted;
+   if (numeric_obj->IsBigInt()) {
+     Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
+     Handle<String> big_int_string;
+     ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
+                                      BigInt::ToString(isolate, big_int),
+-                                     Nothing<icu::UnicodeString>());
+-    formatted = number_format.formatDecimal(
++                                     Nothing<bool>());
++    *formatted = number_format.formatDecimal(
+         {big_int_string->ToCString().get(), big_int_string->length()}, status);
+   } else {
+     double number = numeric_obj->Number();
+-    formatted = number_format.formatDouble(number, status);
++    *formatted = number_format.formatDouble(number, status);
+   }
+   if (U_FAILURE(status)) {
+     // This happen because of icu data trimming trim out "unit".
+     // See https://bugs.chromium.org/p/v8/issues/detail?id=8641
+-    THROW_NEW_ERROR_RETURN_VALUE(isolate,
+-                                 NewTypeError(MessageTemplate::kIcuError),
+-                                 Nothing<icu::UnicodeString>());
+-  }
+-  if (fp_iter) {
+-    formatted.getAllFieldPositions(*fp_iter, status);
++    THROW_NEW_ERROR_RETURN_VALUE(
++        isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
+   }
+-  icu::UnicodeString result = formatted.toString(status);
+-  if (U_FAILURE(status)) {
+-    THROW_NEW_ERROR_RETURN_VALUE(isolate,
+-                                 NewTypeError(MessageTemplate::kIcuError),
+-                                 Nothing<icu::UnicodeString>());
+-  }
+-  return Just(result);
++  return Just(true);
+ }
+ 
+ }  // namespace
+@@ -1243,10 +1232,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric(
+     Handle<Object> numeric_obj) {
+   DCHECK(numeric_obj->IsNumeric());
+ 
+-  Maybe<icu::UnicodeString> maybe_format =
+-      IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
++  icu::number::FormattedNumber formatted;
++  Maybe<bool> maybe_format =
++      IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
+   MAYBE_RETURN(maybe_format, Handle<String>());
+-  return Intl::ToString(isolate, maybe_format.FromJust());
++  UErrorCode status = U_ZERO_ERROR;
++  icu::UnicodeString result = formatted.toString(status);
++  if (U_FAILURE(status)) {
++    THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
++  }
++  return Intl::ToString(isolate, result);
+ }
+ 
+ namespace {
+@@ -1359,12 +1354,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts(
+ }
+ 
+ namespace {
+-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
+-                          icu::FieldPositionIterator* fp_iter,
++Maybe<int> ConstructParts(Isolate* isolate,
++                          icu::number::FormattedNumber* formatted,
+                           Handle<JSArray> result, int start_index,
+                           Handle<Object> numeric_obj, bool style_is_unit) {
++  UErrorCode status = U_ZERO_ERROR;
++  icu::UnicodeString formatted_text = formatted->toString(status);
++  if (U_FAILURE(status)) {
++    THROW_NEW_ERROR_RETURN_VALUE(
++        isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
++  }
+   DCHECK(numeric_obj->IsNumeric());
+-  int32_t length = formatted.length();
++  int32_t length = formatted_text.length();
+   int index = start_index;
+   if (length == 0) return Just(index);
+ 
+@@ -1373,13 +1374,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
+   // other region covers some part of the formatted string. It's possible
+   // there's another field with exactly the same begin and end as this backdrop,
+   // in which case the backdrop's field_id of -1 will give it lower priority.
+-  regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
++  regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
+ 
+   {
+-    icu::FieldPosition fp;
+-    while (fp_iter->next(fp)) {
+-      regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
+-                                         fp.getEndIndex()));
++    icu::ConstrainedFieldPosition cfp;
++    cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
++    while (formatted->nextPosition(cfp, status)) {
++      regions.push_back(
++          NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
+     }
+   }
+ 
+@@ -1401,7 +1403,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
+     Handle<String> substring;
+     ASSIGN_RETURN_ON_EXCEPTION_VALUE(
+         isolate, substring,
+-        Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
++        Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
+         Nothing<int>());
+     Intl::AddElement(isolate, result, index, field_type_string, substring);
+     ++index;
+@@ -1421,14 +1423,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts(
+       number_format->icu_number_formatter().raw();
+   CHECK_NOT_NULL(fmt);
+ 
+-  icu::FieldPositionIterator fp_iter;
+-  Maybe<icu::UnicodeString> maybe_format =
+-      IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
++  icu::number::FormattedNumber formatted;
++  Maybe<bool> maybe_format =
++      IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
+   MAYBE_RETURN(maybe_format, Handle<JSArray>());
+ 
+   Handle<JSArray> result = factory->NewJSArray(0);
+   Maybe<int> maybe_format_to_parts = ConstructParts(
+-      isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
++      isolate, &formatted, result, 0, numeric_obj,
+       number_format->style() == JSNumberFormat::Style::UNIT);
+   MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
index a834319edbc..78e614ce123 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
@@ -78,7 +78,10 @@ DEPEND="${RDEPEND}
 	sys-devel/bison
 "
 
-PATCHES=( "${FILESDIR}/${PN}-5.14.1-disable-fatal-warnings.patch" ) # bug 695446
+PATCHES=(
+	"${FILESDIR}/${PN}-5.14.1-disable-fatal-warnings.patch" # bug 695446
+	"${FILESDIR}/${PN}-5.14.2-icu67.patch"
+)
 
 src_prepare() {
 	if ! use jumbo-build; then


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2020-05-14 17:21 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2020-05-14 17:21 UTC (permalink / raw
  To: gentoo-commits

commit:     63b27c3c2bf8a195fe45c1777840de6252ec7c43
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu May 14 17:11:37 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu May 14 17:20:47 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63b27c3c

dev-qt/qtwebengine: Fix build with GCC-10

Thanks-to: Jimi Huotari <chiitoo <AT> gentoo.org>
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qtwebengine-5.14.2-gcc-10-1.patch        | 64 ++++++++++++++++++++++
 .../files/qtwebengine-5.14.2-gcc-10-2.patch        | 27 +++++++++
 dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild       |  3 +-
 3 files changed, 93 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-1.patch b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-1.patch
new file mode 100644
index 00000000000..214bf76a652
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-1.patch
@@ -0,0 +1,64 @@
+From f6e84fa97536812867be6f4c2162f5b86547477f Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Tue, 5 May 2020 07:50:18 +0300
+Subject: [PATCH] Fix build with GCC 10
+
+Change-Id: I4101211163f3bb3f9a5fa673169aa41fa000ccca
+---
+ chromium/media/cdm/supported_cdm_versions.h                      | 1 +
+ .../third_party/perfetto/include/perfetto/base/task_runner.h     | 1 +
+ chromium/third_party/webrtc/call/rtx_receive_stream.h            | 1 +
+ .../webrtc/modules/audio_processing/aec3/clockdrift_detector.h   | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/chromium/media/cdm/supported_cdm_versions.h b/chromium/media/cdm/supported_cdm_versions.h
+index dbe59ba5ea7..5216cfe3ee9 100644
+--- a/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
++++ b/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
+@@ -6,6 +6,7 @@
+ #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
+ 
+ #include <array>
++#include <cstddef>
+ 
+ #include "media/base/media_export.h"
+ #include "media/cdm/api/content_decryption_module.h"
+diff --git a/chromium/third_party/perfetto/include/perfetto/base/task_runner.h b/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
+index cf60401238f..ee4ad255dea 100644
+--- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
++++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
+@@ -18,6 +18,7 @@
+ #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
+ 
+ #include <functional>
++#include <stdint.h>
+ 
+ #include "perfetto/base/export.h"
+ 
+diff --git a/chromium/third_party/webrtc/call/rtx_receive_stream.h b/chromium/third_party/webrtc/call/rtx_receive_stream.h
+index 8ffa4400a9c..66cc46dc091 100644
+--- a/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
++++ b/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
+@@ -12,6 +12,7 @@
+ #define CALL_RTX_RECEIVE_STREAM_H_
+ 
+ #include <map>
++#include <stdint.h>
+ 
+ #include "call/rtp_packet_sink_interface.h"
+ 
+diff --git a/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+index 22528c94892..69e624e8b19 100644
+--- a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
++++ b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
+ 
+ #include <array>
++#include <cstddef>
+ 
+ namespace webrtc {
+ 
+-- 
+2.26.2
+

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-2.patch b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-2.patch
new file mode 100644
index 00000000000..9a467f5d66b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-2.patch
@@ -0,0 +1,27 @@
+From 0dc7c21c33de634bb6bf90c9e2372054436e1606 Mon Sep 17 00:00:00 2001
+From: Kirill Burtsev <kirill.burtsev@qt.io>
+Date: Thu, 14 May 2020 16:31:09 +0200
+Subject: [PATCH] FIXUP: Fix build with GCC 10
+
+Add one more missing header when build with pch
+
+Change-Id: I42cddb26eacbd18cfbdb359ae1a85d0e2e43316f
+---
+ chromium/base/trace_event/trace_event_memory_overhead.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h b/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
+index 69468d46409..916f9c775a3 100644
+--- a/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
++++ b/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
+@@ -7,7 +7,7 @@
+ 
+ #include <stddef.h>
+ #include <stdint.h>
+-
++#include <string>
+ #include <unordered_map>
+ 
+ #include "base/base_export.h"
+-- 
+2.16.3

diff --git a/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
index 78e614ce123..3ca9d6f594d 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
@@ -80,7 +80,8 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
 	"${FILESDIR}/${PN}-5.14.1-disable-fatal-warnings.patch" # bug 695446
-	"${FILESDIR}/${PN}-5.14.2-icu67.patch"
+	"${FILESDIR}/${PN}-5.14.2-icu67.patch" # bug 720054
+	"${FILESDIR}"/${P}-gcc-10-{1,2}.patch # bug 721876
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2020-05-17  8:18 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2020-05-17  8:18 UTC (permalink / raw
  To: gentoo-commits

commit:     459a1fb8aa74947e214661bbd5cbebcaed8ece17
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun May 17 08:16:10 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun May 17 08:16:54 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=459a1fb8

dev-qt/qtwebengine: Update gcc-10.patch

Additionally includes patch to decoding_state.h.

Thanks-to: Jimi Huotari <chiitoo <AT> gentoo.org>
Bug: https://bugs.gentoo.org/721876
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qtwebengine-5.14.2-gcc-10-2.patch        | 27 ----------------
 ...-10-1.patch => qtwebengine-5.14.2-gcc-10.patch} | 37 ++++++++++++++++++----
 dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild       |  4 +--
 3 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-2.patch b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-2.patch
deleted file mode 100644
index 9a467f5d66b..00000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0dc7c21c33de634bb6bf90c9e2372054436e1606 Mon Sep 17 00:00:00 2001
-From: Kirill Burtsev <kirill.burtsev@qt.io>
-Date: Thu, 14 May 2020 16:31:09 +0200
-Subject: [PATCH] FIXUP: Fix build with GCC 10
-
-Add one more missing header when build with pch
-
-Change-Id: I42cddb26eacbd18cfbdb359ae1a85d0e2e43316f
----
- chromium/base/trace_event/trace_event_memory_overhead.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h b/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
-index 69468d46409..916f9c775a3 100644
---- a/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
-+++ b/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
-@@ -7,7 +7,7 @@
- 
- #include <stddef.h>
- #include <stdint.h>
--
-+#include <string>
- #include <unordered_map>
- 
- #include "base/base_export.h"
--- 
-2.16.3

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-1.patch b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10.patch
similarity index 64%
rename from dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-1.patch
rename to dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10.patch
index 214bf76a652..5df71a60252 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10-1.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.14.2-gcc-10.patch
@@ -1,18 +1,32 @@
-From f6e84fa97536812867be6f4c2162f5b86547477f Mon Sep 17 00:00:00 2001
+From cf83347e6fa9c086b5df022d23ca666245bf1989 Mon Sep 17 00:00:00 2001
 From: Jimi Huotari <chiitoo@gentoo.org>
-Date: Tue, 5 May 2020 07:50:18 +0300
+Date: Sun, 10 May 2020 06:02:59 +0300
 Subject: [PATCH] Fix build with GCC 10
 
-Change-Id: I4101211163f3bb3f9a5fa673169aa41fa000ccca
+Change-Id: I733b8e8a00c49766effbee08c8b1f6f5d31a2dbf
 ---
+ chromium/base/trace_event/trace_event_memory_overhead.h          | 1 +
  chromium/media/cdm/supported_cdm_versions.h                      | 1 +
  .../third_party/perfetto/include/perfetto/base/task_runner.h     | 1 +
  chromium/third_party/webrtc/call/rtx_receive_stream.h            | 1 +
  .../webrtc/modules/audio_processing/aec3/clockdrift_detector.h   | 1 +
- 4 files changed, 4 insertions(+)
+ .../third_party/webrtc/modules/video_coding/decoding_state.h     | 1 +
+ 6 files changed, 6 insertions(+)
 
+diff --git a/chromium/base/trace_event/trace_event_memory_overhead.h b/chromium/base/trace_event/trace_event_memory_overhead.h
+index 69468d46409..e10a3eca667 100644
+--- a/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
++++ b/src/3rdparty/chromium/base/trace_event/trace_event_memory_overhead.h
+@@ -8,6 +8,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+ 
++#include <string>
+ #include <unordered_map>
+ 
+ #include "base/base_export.h"
 diff --git a/chromium/media/cdm/supported_cdm_versions.h b/chromium/media/cdm/supported_cdm_versions.h
-index dbe59ba5ea7..5216cfe3ee9 100644
+index 3f220da8c71..c54e3bb7d30 100644
 --- a/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
 +++ b/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
 @@ -6,6 +6,7 @@
@@ -59,6 +73,17 @@ index 22528c94892..69e624e8b19 100644
  
  namespace webrtc {
  
+diff --git a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
+index b87fb2d0345..e6c5e2855de 100644
+--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
++++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
+@@ -13,6 +13,7 @@
+ 
+ #include <map>
+ #include <set>
++#include <stdint.h>
+ #include <vector>
+ 
+ namespace webrtc {
 -- 
 2.26.2
-

diff --git a/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
index 3ca9d6f594d..e063003ad5a 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.14.2.ebuild
@@ -80,8 +80,8 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
 	"${FILESDIR}/${PN}-5.14.1-disable-fatal-warnings.patch" # bug 695446
-	"${FILESDIR}/${PN}-5.14.2-icu67.patch" # bug 720054
-	"${FILESDIR}"/${P}-gcc-10-{1,2}.patch # bug 721876
+	"${FILESDIR}/${P}-icu67.patch" # bug 720054
+	"${FILESDIR}/${P}-gcc-10.patch" # bug 721876
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2020-08-19 19:39 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2020-08-19 19:39 UTC (permalink / raw
  To: gentoo-commits

commit:     43bc7ef7394255dc27b58a6b5e0dab005a8ea89b
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 19 12:59:19 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 19 19:39:43 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43bc7ef7

dev-qt/qtwebengine: fix build with >=bison-3.7

Backport commit from Qt upstream [1].

1. https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=80-based&id=1a53f599

Reported-by: Toralf Förster <toralf <AT> gentoo.org>
Thanks-to: YOSHIOKA Takuma <lo73741824 <AT> hard-wi.red>
Closes: https://bugs.gentoo.org/734356
Package-Manager: Portage-3.0.3, Repoman-3.0.0
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/17171
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qtwebengine-5.15.0-bison-3.7-build.patch | 54 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.0.ebuild       |  1 +
 2 files changed, 55 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.0-bison-3.7-build.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.0-bison-3.7-build.patch
new file mode 100644
index 00000000000..da7a997fe96
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.0-bison-3.7-build.patch
@@ -0,0 +1,54 @@
+From 1a53f5995697f5ac6fd501dbdc0ee39c9488ee66 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Fri, 14 Aug 2020 16:38:48 +0200
+Subject: Fix bison 3.7
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do a replace run inspired by newer versions of the script.
+
+Fixes: QTBUG-86018
+Change-Id: Ib1dc771e22a662aff0fae842d135ad58fad08bc1
+Reviewed-by: Michael Brüning <michael.bruning@qt.io>
+---
+ .../blink/renderer/build/scripts/rule_bison.py        | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/chromium/third_party/blink/renderer/build/scripts/rule_bison.py b/chromium/third_party/blink/renderer/build/scripts/rule_bison.py
+index f75e25fd23f..7e0767e951a 100755
+--- a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/rule_bison.py
++++ b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/rule_bison.py
+@@ -45,6 +45,19 @@ from utilities import abs
+ 
+ from blinkbuild.name_style_converter import NameStyleConverter
+ 
++def modify_file(path, prefix_lines, suffix_lines, replace_list=[]):
++    prefix_lines = map(lambda s: s + '\n', prefix_lines)
++    suffix_lines = map(lambda s: s + '\n', suffix_lines)
++    with open(path, 'r') as f:
++        old_lines = f.readlines()
++    for i in range(len(old_lines)):
++        for src, dest in replace_list:
++            old_lines[i] = old_lines[i].replace(src, dest)
++    new_lines = prefix_lines + old_lines + suffix_lines
++    with open(path, 'w') as f:
++        f.writelines(new_lines)
++
++
+ assert len(sys.argv) == 4 or len(sys.argv) == 5
+ 
+ inputFile = abs(sys.argv[1])
+@@ -115,3 +128,9 @@ print >>outputHFile, '#define %s' % headerGuard
+ print >>outputHFile, outputHContents
+ print >>outputHFile, '#endif  // %s' % headerGuard
+ outputHFile.close()
++
++common_replace_list = [(inputRoot + '.hh',
++                        inputRoot + '.h')]
++modify_file(
++    outputCpp, [], [],
++    replace_list=common_replace_list)
+-- 
+cgit v1.2.1
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.0.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.0.ebuild
index eb31e0dc68f..6aa9345fffd 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.0.ebuild
@@ -85,6 +85,7 @@ PATCHES=(
 	"${FILESDIR}/${P}-disable-fatal-warnings.patch" # bug 695446
 	"${FILESDIR}/${PN}-5.14.2-icu67.patch" # bug 720054
 	"${FILESDIR}/${P}-gcc-10.patch" # bug 721876
+	"${FILESDIR}/${P}-bison-3.7-build.patch" # bug 734356
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2020-11-05 22:51 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2020-11-05 22:51 UTC (permalink / raw
  To: gentoo-commits

commit:     9d8735081918c2351c73b9b4ce41148a8d124653
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  5 21:01:58 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Nov  5 22:50:56 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d873508

dev-qt/qtwebengine: Fix build with ICU-68

Thanks-to: Lars Wendler <polynomial-c <AT> gentoo.org>
Closes: https://bugs.gentoo.org/751997
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qtwebengine-5.15.1-icu-68.patch          | 260 +++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild       |   5 +-
 2 files changed, 264 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch
new file mode 100644
index 00000000000..dbabd29d5b1
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.1-icu-68.patch
@@ -0,0 +1,260 @@
+From 202158edd4643f11deaa79b6d88fed9bcdf47256 Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Tue, 3 Nov 2020 01:10:53 +0200
+Subject: [PATCH] Fix compilation with system ICU 68
+
+Public header files no longer define/use the macros FALSE and TRUE.
+
+- https://github.com/unicode-org/icu/commit/a18df7ba
+- http://site.icu-project.org/download/68
+- https://bugs.gentoo.org/751997
+
+Thanks to: Lars Wendler <polynomial-c@gentoo.org>
+
+--- a/src/3rdparty/chromium/base/i18n/string_compare.cc
++++ b/src/3rdparty/chromium/base/i18n/string_compare.cc
+@@ -18,8 +18,8 @@
+                                              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;
+--- a/src/3rdparty/chromium/base/i18n/time_formatting.cc
++++ b/src/3rdparty/chromium/base/i18n/time_formatting.cc
+@@ -236,7 +236,7 @@
+   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,
+--- a/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
++++ b/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
+@@ -43,7 +43,7 @@
+ 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 @@
+   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
+--- a/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
++++ b/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
+@@ -424,7 +424,7 @@
+   // 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;
+--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
++++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
+@@ -315,7 +315,7 @@
+   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
+@@ -491,7 +491,7 @@
+ Skeletons IDNSpoofChecker::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.
+@@ -690,7 +690,7 @@
+     base::StringPiece tld,
+     base::StringPiece16 tld_unicode) const {
+   icu::UnicodeString tld_string(
+-      FALSE /* isTerminated */, tld_unicode.data(),
++      false /* isTerminated */, tld_unicode.data(),
+       base::checked_cast<int32_t>(tld_unicode.size()));
+   if (cyrillic_letters_.containsSome(tld_string)) {
+     return true;
+--- a/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
++++ b/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
+@@ -564,7 +564,7 @@
+   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;
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
+@@ -168,12 +168,12 @@
+     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);
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
+@@ -311,13 +311,13 @@
+       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 @@
+       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 @@
+                               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 @@
+     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 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 @@
+     DCHECK_EQ(new_context, kPriorContext);
+     TextUTF16SwitchToPriorContext(text, native_index, native_length, forward);
+   }
+-  return TRUE;
++  return true;
+ }
+ 
+ static const struct UTextFuncs kTextUTF16Funcs = {
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
+@@ -300,7 +300,7 @@
+   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 =
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
+@@ -326,7 +326,7 @@
+   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,
+--- a/src/3rdparty/chromium/ui/base/l10n/formatter.cc
++++ b/src/3rdparty/chromium/ui/base/l10n/formatter.cc
+@@ -232,7 +232,7 @@
+                        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 @@
+       << "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 @@
+     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/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild
index 6eb50c9e447..bb6ba8d69f0 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.1.ebuild
@@ -81,7 +81,10 @@ DEPEND="${RDEPEND}
 	sys-devel/bison
 "
 
-PATCHES=( "${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" ) # bug 695446
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
+	"${FILESDIR}/${P}-icu-68.patch" # bug 751997
+)
 
 src_prepare() {
 	if use ppc64; then


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-01-02  1:23 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-01-02  1:23 UTC (permalink / raw
  To: gentoo-commits

commit:     3946a54e64f9f6c2f82ed4f35246f295e4d67d81
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  1 16:56:11 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jan  2 01:22:33 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3946a54e

dev-qt/qtwebengine: Fix V8 runtime issues with ICU-68

Thanks-to: Stephan Hartmann <sultan <AT> gentoo.org>
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../qtwebengine-5.15.2-icu-68-v8-runtime-fix.patch | 170 +++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild       |   3 +-
 2 files changed, 172 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68-v8-runtime-fix.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68-v8-runtime-fix.patch
new file mode 100644
index 00000000000..7d6401759a7
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-icu-68-v8-runtime-fix.patch
@@ -0,0 +1,170 @@
+From b0a7f5691113534c2cf771f2dd3cece5e93bc7d4 Mon Sep 17 00:00:00 2001
+From: Frank Tang <ftang@chromium.org>
+Date: Tue, 03 Nov 2020 23:20:37 -0800
+Subject: [PATCH] Update to ICU68-1
+
+ICU68-1 change the output skeleton format. So we need to change
+resolvedOptions code for 68 migration.
+
+Chromium roll
+https://chromium-review.googlesource.com/c/chromium/src/+/2474093
+
+Bug: v8:10945
+Change-Id: I3b2c7fbe8abb22df8fa51287c498ca3245b8c55b
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477431
+Commit-Queue: Frank Tang <ftang@chromium.org>
+Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+Reviewed-by: Shu-yu Guo <syg@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#70972}
+
+(ported to work with <ICU-68.1 and rebased to qtwebengine)
+---
+
+diff --git a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+index 6f3d97a619..83cf021fb1 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+@@ -390,17 +390,20 @@ Handle<String> CurrencySignString(Isolate* isolate,
+ Handle<String> UnitDisplayString(Isolate* isolate,
+                                  const icu::UnicodeString& skeleton) {
+   // Ex: skeleton as
+-  // "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name"
++  // <ICU-68.1:  "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name".
++  // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-full-name"
+   if (skeleton.indexOf("unit-width-full-name") >= 0) {
+     return ReadOnlyRoots(isolate).long_string_handle();
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
++  // <ICU-68.1:  "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
++  // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-narrow".
+   if (skeleton.indexOf("unit-width-narrow") >= 0) {
+     return ReadOnlyRoots(isolate).narrow_string_handle();
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-foot .### rounding-mode-half-up"
++  // <ICU-68.1:  "measure-unit/length-foot .### rounding-mode-half-up"
++  // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
+   return ReadOnlyRoots(isolate).short_string_handle();
+ }
+ 
+@@ -423,7 +426,8 @@ Notation NotationFromSkeleton(const icu::UnicodeString& skeleton) {
+     return Notation::COMPACT;
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-foot .### rounding-mode-half-up"
++  // <ICU-68.1:  "measure-unit/length-foot .### rounding-mode-half-up"
++  // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
+   return Notation::STANDARD;
+ }
+ 
+@@ -563,14 +567,23 @@ namespace {
+ 
+ // Ex: percent .### rounding-mode-half-up
+ // Special case for "percent"
+-// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
+-// rounding-mode-half-up" should return "kilometer-per-unit".
+-// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
+-// "year".
++// <ICU-68.1:
++//   Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
++//   rounding-mode-half-up" should return "kilometer-per-unit".
++//   Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
++// >=ICU-68.1:
++//   Ex: "unit/milliliter-per-acre .### rounding-mode-half-up"
++//   should return "milliliter-per-acre".
++//   Ex: "unit/year .### rounding-mode-half-up" should return
++//   "year".
+ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+   std::string str;
+   str = skeleton.toUTF8String<std::string>(str);
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   std::string search("measure-unit/");
++#else
++  std::string search("unit/");
++#endif
+   size_t begin = str.find(search);
+   if (begin == str.npos) {
+     // Special case for "percent".
+@@ -579,20 +592,41 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+     }
+     return "";
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   // Skip the type (ex: "length").
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+   //                     b
+   begin = str.find("-", begin + search.size());
++#else
++  // Ex:
++  // "unit/acre .### rounding-mode-half-up"
++  //       b
++  // Ex:
++  // "unit/milliliter-per-acre .### rounding-mode-half-up"
++  //       b
++  begin += search.size();
++#endif
+   if (begin == str.npos) {
+     return "";
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   begin++;  // Skip the '-'.
++#endif
+   // Find the end of the subtype.
+   size_t end = str.find(" ", begin);
+-  // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+-  //                      b        e
++  // <ICU-68.1:
++  //   "measure-unit/length-kilometer per-measure-unit/duration-hour"
++  //                        b        e
++  // >=ICU-68.1:
++  //   Ex:
++  //   "unit/acre .### rounding-mode-half-up"
++  //         b   e
++  //   Ex:
++  //   "unit/milliliter-per-acre .### rounding-mode-half-up"
++  //         b                  e
+   if (end == str.npos) {
+     end = str.size();
++#if U_ICU_VERSION_MAJOR_NUM < 68
+     return str.substr(begin, end - begin);
+   }
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+@@ -626,18 +660,37 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+   //                      [result ]                           b   e
+   return result + "-per-" + str.substr(begin, end - begin);
++#else
++  }
++  return str.substr(begin, end - begin);
++#endif
+ }
+ 
+ Style StyleFromSkeleton(const icu::UnicodeString& skeleton) {
+   if (skeleton.indexOf("currency/") >= 0) {
+     return Style::CURRENCY;
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   if (skeleton.indexOf("measure-unit/") >= 0) {
++#else
++  if (skeleton.indexOf("unit/") >= 0) {
++#endif
+     return Style::UNIT;
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   if (skeleton.indexOf("percent ") >= 0) {
+     return Style::PERCENT;
+   }
++#else
++  if (skeleton.indexOf("percent") >= 0) {
++    // percent precision-integer rounding-mode-half-up scale/100
++    if (skeleton.indexOf("scale/100") >= 0) {
++      return Style::PERCENT;
++    } else {
++      return Style::UNIT;
++    }
++  }
++#endif
+   return Style::DECIMAL;
+ }
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild
index ae2669805a1..b0f613093dd 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -84,6 +84,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
 	"${FILESDIR}/${P}-icu-68.patch" # bug 751997, QTBUG-88116
+	"${FILESDIR}/${P}-icu-68-v8-runtime-fix.patch"
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-02-23 20:27 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-02-23 20:27 UTC (permalink / raw
  To: gentoo-commits

commit:     013acd8314e8c46f29aab2fdcc69339b205131af
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 21 15:36:51 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Feb 23 20:26:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=013acd83

dev-qt/qtwebengine: 5.15.2_p20210220 bump, no KEYWORDS for now

Snapshotted at:
Branch: 5.15
Commit: 0b5f110234256eabaa264189d9117069f2a2d144

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: d77379c520980bea4f53e093c0a130d57155c2ad

V8-ICU-68 runtime fix:
Thanks-to: Stephan Hartmann <sultan <AT> gentoo.org>

Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...ine-5.15.2_p20210220-chromium-87-v8-icu68.patch | 192 +++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210220-disable-git.patch |  15 ++
 ...2_p20210220-fixup-CVE-2021-21149-backport.patch |  42 +++++
 .../qtwebengine-5.15.2_p20210220.ebuild            | 184 ++++++++++++++++++++
 5 files changed, 434 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 8e7d67bb1e8..ac12b6baffd 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,3 +1,4 @@
 DIST qtwebengine-5.15.2-ppc64.tar.xz 43868 BLAKE2B 97a2db64c688cc3ce178a6f00c29d3408221302c992bf0df31edd5c11f7cd978b92d9222201644991fca4fc0824b19d994a71c472732dbbdda3729bdd04a67f3 SHA512 835e7da4670cd823a1674052d64971bfd98d54edb6c5df8e9d09aa8103d496a4c16f0eb9d47c46db466e1c640e3326d4e43b284161129d648bfe693a902ec9cc
 DIST qtwebengine-5.15.2_p20210205.tar.xz 317422912 BLAKE2B a5cdbea0347db21b7fb981a358ad6419ea9cebef98f3d8fef3618b9010164986257cb87caef6a09648e463c3b864ce28e0591a2a783b8b5727b69d85b4b3289c SHA512 8e8b4918f7c3232aafd9f2d13655501e0d03d90514ef3a0b8319df1c8792aeaf7800f370cee15634c708ee14f86ef831749556cb6710578d03c3c2e468149be0
+DIST qtwebengine-5.15.2_p20210220.tar.xz 320087924 BLAKE2B 8db495e853948d8a47d04d34e8f2e99f33423874026d447fd119be885c74671f6566f8ba34f6e37ed5abcc347150213bef9575cc61b80ee8fbc4a005c2448df8 SHA512 7502a3d7df68764d1ed8953f8bd8a6def88344c56800bf32d1527133bceaf669f2ef6899dd2b4f23ca284ad5f0a9b086f1807f3a5f0a482b0744d1ba2391c480
 DIST qtwebengine-everywhere-src-5.15.2.tar.xz 280142544 BLAKE2B cf84a07292e69b5746d6575d65295b5bf4e054d448361f26e63cbe20ddd0773f60893e656d74b3b8c191e2829e09398a65896c8d96d3a7ef210ac1f21cd90e63 SHA512 de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch
new file mode 100644
index 00000000000..a6856975a66
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch
@@ -0,0 +1,192 @@
+From b0a7f5691113534c2cf771f2dd3cece5e93bc7d4 Mon Sep 17 00:00:00 2001
+From: Frank Tang <ftang@chromium.org>
+Date: Tue, 03 Nov 2020 23:20:37 -0800
+Subject: [PATCH] Update to ICU68-1
+
+ICU68-1 change the output skeleton format. So we need to change
+resolvedOptions code for 68 migration.
+
+Chromium roll
+https://chromium-review.googlesource.com/c/chromium/src/+/2474093
+
+Bug: v8:10945
+Change-Id: I3b2c7fbe8abb22df8fa51287c498ca3245b8c55b
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477431
+Commit-Queue: Frank Tang <ftang@chromium.org>
+Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+Reviewed-by: Shu-yu Guo <syg@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#70972}
+
+(ported to work with <ICU-68.1 and rebased chromium)
+---
+
+diff --git a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+index 45b0eab..d18b133 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+@@ -389,17 +389,20 @@ Handle<String> CurrencySignString(Isolate* isolate,
+ Handle<String> UnitDisplayString(Isolate* isolate,
+                                  const icu::UnicodeString& skeleton) {
+   // Ex: skeleton as
+-  // "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name"
++  // <ICU-68.1:  "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name".
++  // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-full-name"
+   if (skeleton.indexOf("unit-width-full-name") >= 0) {
+     return ReadOnlyRoots(isolate).long_string_handle();
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
++  // <ICU-68.1:  "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
++  // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-narrow".
+   if (skeleton.indexOf("unit-width-narrow") >= 0) {
+     return ReadOnlyRoots(isolate).narrow_string_handle();
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-foot .### rounding-mode-half-up"
++  // <ICU-68.1:  "measure-unit/length-foot .### rounding-mode-half-up"
++  // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
+   return ReadOnlyRoots(isolate).short_string_handle();
+ }
+ 
+@@ -422,7 +425,8 @@ Notation NotationFromSkeleton(const icu::UnicodeString& skeleton) {
+     return Notation::COMPACT;
+   }
+   // Ex: skeleton as
+-  // "measure-unit/length-foot .### rounding-mode-half-up"
++  // <ICU-68.1:  "measure-unit/length-foot .### rounding-mode-half-up"
++  // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
+   return Notation::STANDARD;
+ }
+ 
+@@ -562,14 +566,23 @@ namespace {
+ 
+ // Ex: percent .### rounding-mode-half-up
+ // Special case for "percent"
+-// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
+-// rounding-mode-half-up" should return "kilometer-per-unit".
+-// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
+-// "year".
++// <ICU-68.1:
++//   Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
++//   rounding-mode-half-up" should return "kilometer-per-unit".
++//   Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
++// >=ICU-68.1:
++//   Ex: "unit/milliliter-per-acre .### rounding-mode-half-up"
++//   should return "milliliter-per-acre".
++//   Ex: "unit/year .### rounding-mode-half-up" should return
++//   "year".
+ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+   std::string str;
+   str = skeleton.toUTF8String<std::string>(str);
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   std::string search("measure-unit/");
++#else
++  std::string search("unit/");
++#endif
+   size_t begin = str.find(search);
+   if (begin == str.npos) {
+     // Special case for "percent".
+@@ -578,20 +591,41 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+     }
+     return "";
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   // Skip the type (ex: "length").
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+   //                     b
+   begin = str.find("-", begin + search.size());
++#else
++  // Ex:
++  // "unit/acre .### rounding-mode-half-up"
++  //       b
++  // Ex:
++  // "unit/milliliter-per-acre .### rounding-mode-half-up"
++  //       b
++  begin += search.size();
++#endif
+   if (begin == str.npos) {
+     return "";
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   begin++;  // Skip the '-'.
++#endif
+   // Find the end of the subtype.
+   size_t end = str.find(" ", begin);
+-  // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+-  //                      b        e
++  // <ICU-68.1:
++  //   "measure-unit/length-kilometer per-measure-unit/duration-hour"
++  //                        b        e
++  // >=ICU-68.1:
++  //   Ex:
++  //   "unit/acre .### rounding-mode-half-up"
++  //         b   e
++  //   Ex:
++  //   "unit/milliliter-per-acre .### rounding-mode-half-up"
++  //         b                  e
+   if (end == str.npos) {
+     end = str.size();
++#if U_ICU_VERSION_MAJOR_NUM < 68
+     return str.substr(begin, end - begin);
+   }
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+@@ -625,17 +659,36 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
+   // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+   //                      [result ]                           b   e
+   return result + "-per-" + str.substr(begin, end - begin);
++#else
++  }
++  return str.substr(begin, end - begin);
++#endif
+ }
+ 
+ Style StyleFromSkeleton(const icu::UnicodeString& skeleton) {
+   if (skeleton.indexOf("currency/") >= 0) {
+     return Style::CURRENCY;
+   }
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   if (skeleton.indexOf("measure-unit/") >= 0) {
+     if (skeleton.indexOf("scale/100") >= 0 &&
+         skeleton.indexOf("measure-unit/concentr-percent") >= 0) {
++#else
++  if (skeleton.indexOf("percent") >= 0) {
++    // percent precision-integer rounding-mode-half-up scale/100
++    if (skeleton.indexOf("scale/100") >= 0) {
++#endif
+       return Style::PERCENT;
++#if U_ICU_VERSION_MAJOR_NUM >= 68
++    } else {
++      return Style::UNIT;
++#endif
+     }
++#if U_ICU_VERSION_MAJOR_NUM >= 68
++  }
++  // Before ICU68: "measure-unit/", since ICU68 "unit/"
++  if (skeleton.indexOf("unit/") >= 0) {
++#endif
+     return Style::UNIT;
+   }
+   return Style::DECIMAL;
+diff --git a/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc b/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc
+index 267343aaae..64d56a1c12 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-relative-time-format.cc
+@@ -195,9 +195,18 @@ MaybeHandle<JSRelativeTimeFormat> JSRelativeTimeFormat::New(
+     }
+   }
+ 
++#if U_ICU_VERSION_MAJOR_NUM < 68
+   icu::DecimalFormat* decimal_format =
+       static_cast<icu::DecimalFormat*>(number_format);
+   decimal_format->setMinimumGroupingDigits(-2);
++#else
++  if (number_format->getDynamicClassID() ==
++      icu::DecimalFormat::getStaticClassID()) {
++    icu::DecimalFormat* decimal_format =
++        static_cast<icu::DecimalFormat*>(number_format);
++    decimal_format->setMinimumGroupingDigits(-2);
++  }
++#endif
+ 
+   // Change UDISPCTX_CAPITALIZATION_NONE to other values if
+   // ECMA402 later include option to change capitalization.

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch
new file mode 100644
index 00000000000..c31e8970eae
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch
@@ -0,0 +1,15 @@
+generate_gni.sh: update_readme() runs git at the end of process, prevent it.
+
+Thanks-to: Georgy Yakovlev <gyakovlev@gentoo.org>
+
+--- a/src/3rdparty/chromium/third_party/libvpx/generate_gni.sh	2021-02-07 12:51:49.438514897 +0100
++++ b/src/3rdparty/chromium/third_party/libvpx/generate_gni.sh	2021-02-21 16:23:38.375724515 +0100
+@@ -519,8 +519,3 @@
+ 
+ gn format --in-place $BASE_DIR/BUILD.gn
+ gn format --in-place $BASE_DIR/libvpx_srcs.gni
+-
+-cd $BASE_DIR/$LIBVPX_SRC_DIR
+-update_readme
+-
+-cd $BASE_DIR

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch
new file mode 100644
index 00000000000..eeca3627d0b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch
@@ -0,0 +1,42 @@
+From d9d9e606cb34b1b4ac0f44de132b1eb10763f1f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
+Date: Tue, 23 Feb 2021 16:34:39 +0100
+Subject: [PATCH] FIXUP: [Backport] CVE-2021-21149: Stack overflow in Data
+ Transfer
+
+Const qualifier removed by another patch upstream had to be removed
+as well.
+
+Change-Id: I4823080661b815884c49ad9881e9958c1ba65251
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/3rdparty/chromium/ui/gfx/x/connection.cc | 2 +-
+ src/3rdparty/chromium/ui/gfx/x/connection.h  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/3rdparty/chromium/ui/gfx/x/connection.cc b/src/3rdparty/chromium/ui/gfx/x/connection.cc
+index 0afbac2c605..8152f4e06be 100644
+--- a/src/3rdparty/chromium/ui/gfx/x/connection.cc
++++ b/src/3rdparty/chromium/ui/gfx/x/connection.cc
+@@ -423,7 +423,7 @@ Event Connection::WaitForNextEvent() {
+   return Event();
+ }
+ 
+-bool Connection::HasPendingResponses() const {
++bool Connection::HasPendingResponses() {
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+   return HasNextEvent() || HasNextResponse();
+ }
+diff --git a/src/3rdparty/chromium/ui/gfx/x/connection.h b/src/3rdparty/chromium/ui/gfx/x/connection.h
+index 73a306a2ca1..0e3bbb66e53 100644
+--- a/src/3rdparty/chromium/ui/gfx/x/connection.h
++++ b/src/3rdparty/chromium/ui/gfx/x/connection.h
+@@ -124,7 +124,7 @@ class COMPONENT_EXPORT(X11) Connection : public XProto,
+   Event WaitForNextEvent();
+ 
+   // Are there any events, errors, or replies already buffered?
+-  bool HasPendingResponses() const;
++  bool HasPendingResponses();
+ 
+   // Dispatch any buffered events, errors, or replies.
+   void Dispatch(Delegate* delegate);

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild
new file mode 100644
index 00000000000..ff0e14bee9e
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+QTVER=$(ver_cut 1-3)
+inherit multiprocessing python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+#	KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+	if [[ ${PV} == ${QTVER}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+	fi
+fi
+
+# patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-ppc64.tar.xz )"
+
+IUSE="alsa bindist designer geolocation kerberos pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	~dev-qt/qtcore-${QTVER}
+	~dev-qt/qtdeclarative-${QTVER}
+	~dev-qt/qtgui-${QTVER}
+	~dev-qt/qtnetwork-${QTVER}
+	~dev-qt/qtprintsupport-${QTVER}
+	~dev-qt/qtwebchannel-${QTVER}[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/mesa[egl,X(+)]
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( ~dev-qt/designer-${QTVER} )
+	geolocation? ( ~dev-qt/qtpositioning-${QTVER} )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-68.2:= )
+	widgets? (
+		~dev-qt/qtdeclarative-${QTVER}[widgets]
+		~dev-qt/qtwidgets-${QTVER}
+	)
+"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	>=app-arch/gzip-1.7
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs
+	sys-devel/bison
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
+	"${FILESDIR}/${P}-chromium-87-v8-icu68.patch" # bug 757606
+	"${FILESDIR}/${P}-fixup-CVE-2021-21149-backport.patch"
+	"${FILESDIR}/${P}-disable-git.patch" # downstream snapshot fix
+)
+
+src_prepare() {
+	if [[ ${PV} == ${QTVER}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+
+		# We need to make sure this integrates well into Qt 5.15.2 installation.
+		# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+		sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die
+	fi
+
+	# QTBUG-88657 - jumbo-build is broken
+	#if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	#fi
+
+	# bug 630834 - pass appropriate options to ninja when building GN
+	sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
+		-i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${WORKDIR}/${PN}-ppc64"
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(usex alsa '-alsa' '-no-alsa')
+		$(usex bindist '-no-proprietary-codecs' '-proprietary-codecs')
+		$(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation')
+		$(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos')
+		$(usex pulseaudio '-pulseaudio' '-no-pulseaudio')
+		$(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg')
+		$(usex system-icu '-webengine-icu' '-no-webengine-icu')
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-02-26 21:19 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-02-26 21:19 UTC (permalink / raw
  To: gentoo-commits

commit:     b17a3763239b411e863259e928b496bea2b9d051
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 26 13:35:44 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Feb 26 21:19:23 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b17a3763

dev-qt/qtwebengine: 5.15.2_p20210224 bump

Snapshotted at:
Branch: 5.15
Commit: 0b5f110234256eabaa264189d9117069f2a2d144

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: 0eea95b24a9ed61c185adeeb787fb5b62e8f4537

V8-ICU-68 runtime fix:
Thanks-to: Stephan Hartmann <sultan <AT> gentoo.org>

Bug: https://bugs.gentoo.org/773040
Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |  2 +-
 ...2_p20210220-fixup-CVE-2021-21149-backport.patch | 42 ----------------------
 ...ne-5.15.2_p20210224-chromium-87-v8-icu68.patch} |  0
 ...qtwebengine-5.15.2_p20210224-disable-git.patch} |  0
 dev-qt/qtwebengine/metadata.xml                    |  1 +
 ....ebuild => qtwebengine-5.15.2_p20210224.ebuild} | 11 +++---
 6 files changed, 7 insertions(+), 49 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index ac12b6baffd..56dc6ae1cdc 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,4 +1,4 @@
 DIST qtwebengine-5.15.2-ppc64.tar.xz 43868 BLAKE2B 97a2db64c688cc3ce178a6f00c29d3408221302c992bf0df31edd5c11f7cd978b92d9222201644991fca4fc0824b19d994a71c472732dbbdda3729bdd04a67f3 SHA512 835e7da4670cd823a1674052d64971bfd98d54edb6c5df8e9d09aa8103d496a4c16f0eb9d47c46db466e1c640e3326d4e43b284161129d648bfe693a902ec9cc
 DIST qtwebengine-5.15.2_p20210205.tar.xz 317422912 BLAKE2B a5cdbea0347db21b7fb981a358ad6419ea9cebef98f3d8fef3618b9010164986257cb87caef6a09648e463c3b864ce28e0591a2a783b8b5727b69d85b4b3289c SHA512 8e8b4918f7c3232aafd9f2d13655501e0d03d90514ef3a0b8319df1c8792aeaf7800f370cee15634c708ee14f86ef831749556cb6710578d03c3c2e468149be0
-DIST qtwebengine-5.15.2_p20210220.tar.xz 320087924 BLAKE2B 8db495e853948d8a47d04d34e8f2e99f33423874026d447fd119be885c74671f6566f8ba34f6e37ed5abcc347150213bef9575cc61b80ee8fbc4a005c2448df8 SHA512 7502a3d7df68764d1ed8953f8bd8a6def88344c56800bf32d1527133bceaf669f2ef6899dd2b4f23ca284ad5f0a9b086f1807f3a5f0a482b0744d1ba2391c480
+DIST qtwebengine-5.15.2_p20210224.tar.xz 320052028 BLAKE2B a1ebaae7cf114041576f4920de1e484bea70c715a470e83e7c47bd8ff95480fc4e408bba173990480732bd464a9eb07d304f4afdb90d943c0a8cbe1e8299df84 SHA512 939292511703f3a6d758d38f1c860ffacd003be65761b19f23e8817bf1121cb9e6351216f737126d8defb1c97ca877e1c6f352e7cfee8e9289274d0793348b51
 DIST qtwebengine-everywhere-src-5.15.2.tar.xz 280142544 BLAKE2B cf84a07292e69b5746d6575d65295b5bf4e054d448361f26e63cbe20ddd0773f60893e656d74b3b8c191e2829e09398a65896c8d96d3a7ef210ac1f21cd90e63 SHA512 de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch
deleted file mode 100644
index eeca3627d0b..00000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-fixup-CVE-2021-21149-backport.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d9d9e606cb34b1b4ac0f44de132b1eb10763f1f6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
-Date: Tue, 23 Feb 2021 16:34:39 +0100
-Subject: [PATCH] FIXUP: [Backport] CVE-2021-21149: Stack overflow in Data
- Transfer
-
-Const qualifier removed by another patch upstream had to be removed
-as well.
-
-Change-Id: I4823080661b815884c49ad9881e9958c1ba65251
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
----
- src/3rdparty/chromium/ui/gfx/x/connection.cc | 2 +-
- src/3rdparty/chromium/ui/gfx/x/connection.h  | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/3rdparty/chromium/ui/gfx/x/connection.cc b/src/3rdparty/chromium/ui/gfx/x/connection.cc
-index 0afbac2c605..8152f4e06be 100644
---- a/src/3rdparty/chromium/ui/gfx/x/connection.cc
-+++ b/src/3rdparty/chromium/ui/gfx/x/connection.cc
-@@ -423,7 +423,7 @@ Event Connection::WaitForNextEvent() {
-   return Event();
- }
- 
--bool Connection::HasPendingResponses() const {
-+bool Connection::HasPendingResponses() {
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-   return HasNextEvent() || HasNextResponse();
- }
-diff --git a/src/3rdparty/chromium/ui/gfx/x/connection.h b/src/3rdparty/chromium/ui/gfx/x/connection.h
-index 73a306a2ca1..0e3bbb66e53 100644
---- a/src/3rdparty/chromium/ui/gfx/x/connection.h
-+++ b/src/3rdparty/chromium/ui/gfx/x/connection.h
-@@ -124,7 +124,7 @@ class COMPONENT_EXPORT(X11) Connection : public XProto,
-   Event WaitForNextEvent();
- 
-   // Are there any events, errors, or replies already buffered?
--  bool HasPendingResponses() const;
-+  bool HasPendingResponses();
- 
-   // Dispatch any buffered events, errors, or replies.
-   void Dispatch(Delegate* delegate);

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-chromium-87-v8-icu68.patch
similarity index 100%
rename from dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-chromium-87-v8-icu68.patch
rename to dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-chromium-87-v8-icu68.patch

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-disable-git.patch
similarity index 100%
rename from dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210220-disable-git.patch
rename to dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-disable-git.patch

diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
index 4c0b395c7e0..ea633503ac7 100644
--- a/dev-qt/qtwebengine/metadata.xml
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -15,6 +15,7 @@
 			<pkg>dev-qt/designer</pkg> forms that display web pages.</flag>
 		<flag name="geolocation">Enable physical position determination
 			via <pkg>dev-qt/qtpositioning</pkg></flag>
+		<flag name="jumbo-build">Combine source files to speed up build process.</flag>
 		<flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg>
 			instead of bundled.</flag>
 		<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
similarity index 95%
rename from dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild
rename to dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
index ff0e14bee9e..5271d30d4ae 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210220.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
@@ -10,7 +10,7 @@ inherit multiprocessing python-any-r1 qt5-build
 DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
 
 if [[ ${QT5_BUILD_TYPE} == release ]]; then
-#	KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 	if [[ ${PV} == ${QTVER}_p* ]]; then
 		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
 		S="${WORKDIR}/${P}"
@@ -20,7 +20,7 @@ fi
 # patchset based on https://github.com/chromium-ppc64le releases
 SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-ppc64.tar.xz )"
 
-IUSE="alsa bindist designer geolocation kerberos pulseaudio +system-ffmpeg +system-icu widgets"
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
 REQUIRED_USE="designer? ( widgets )"
 
 RDEPEND="
@@ -90,7 +90,6 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
 	"${FILESDIR}/${P}-chromium-87-v8-icu68.patch" # bug 757606
-	"${FILESDIR}/${P}-fixup-CVE-2021-21149-backport.patch"
 	"${FILESDIR}/${P}-disable-git.patch" # downstream snapshot fix
 )
 
@@ -104,11 +103,11 @@ src_prepare() {
 		sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die
 	fi
 
-	# QTBUG-88657 - jumbo-build is broken
-	#if ! use jumbo-build; then
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
 		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
 			src/buildtools/config/common.pri || die
-	#fi
+	fi
 
 	# bug 630834 - pass appropriate options to ninja when building GN
 	sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-03-12 20:08 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-03-12 20:08 UTC (permalink / raw
  To: gentoo-commits

commit:     286732e1677d672669f19607f1db62780c62d746
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 12 17:08:45 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Mar 12 20:06:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=286732e1

dev-qt/qtwebengine: Fix runtime crash with certain locales

Due to the pain a revbump will cause and only a minority of users affected,
the patch is applied in place and we will ask affected users to rebuild.

Reported-by: 12101111 <w12101111 <AT> outlook.com>
Thanks-to: Florian Bruhin <gentoo.org <AT> the-compiler.org>
Bug: https://bugs.gentoo.org/757606
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-5.15.2_p20210224-fix-crash-w-app-locales.patch | 135 +++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210224.ebuild            |   3 +-
 2 files changed, 137 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-fix-crash-w-app-locales.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-fix-crash-w-app-locales.patch
new file mode 100644
index 00000000000..3a372381ebd
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210224-fix-crash-w-app-locales.patch
@@ -0,0 +1,135 @@
+From 199ea00a9eea13315a652c62778738629185b059 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Wed, 10 Mar 2021 17:14:27 +0100
+Subject: Fix normalization of app locales
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use the internal Chromium routine to get the app locale Chromium
+expects.
+
+Fixes: QTBUG-91715
+Change-Id: I5042eb066cb6879ad69628959912f2841867b4e8
+Reviewed-by: Michael Brüning <michael.bruning@qt.io>
+---
+ src/core/content_browser_client_qt.cpp             |  7 ++++++-
+ src/core/content_browser_client_qt.h               |  2 ++
+ src/core/web_engine_library_info.cpp               | 18 ++++++++--------
+ .../widgets/qwebengineview/tst_qwebengineview.cpp  | 24 ++++++++++++++++++++++
+ 4 files changed, 40 insertions(+), 11 deletions(-)
+
+diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
+index e13ecd8d1..c2c78ff8b 100644
+--- a/src/core/content_browser_client_qt.cpp
++++ b/src/core/content_browser_client_qt.cpp
+@@ -471,7 +471,12 @@ std::unique_ptr<net::ClientCertStore> ContentBrowserClientQt::CreateClientCertSt
+ 
+ std::string ContentBrowserClientQt::GetApplicationLocale()
+ {
+-    return WebEngineLibraryInfo::getApplicationLocale();
++    std::string bcp47Name = QLocale().bcp47Name().toStdString();
++    if (m_cachedQtLocale != bcp47Name) {
++        m_cachedQtLocale = bcp47Name;
++        m_appLocale = WebEngineLibraryInfo::getApplicationLocale();
++    }
++    return m_appLocale;
+ }
+ 
+ std::string ContentBrowserClientQt::GetAcceptLangs(content::BrowserContext *context)
+diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h
+index 7c8aa3ac9..1ccd2926d 100644
+--- a/src/core/content_browser_client_qt.h
++++ b/src/core/content_browser_client_qt.h
+@@ -269,6 +269,8 @@ public:
+ 
+ private:
+     scoped_refptr<ShareGroupQtQuick> m_shareGroupQtQuick;
++    std::string m_appLocale;
++    std::string m_cachedQtLocale;
+ };
+ 
+ } // namespace QtWebEngineCore
+diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp
+index 2ad5b7565..09a4141b0 100644
+--- a/src/core/web_engine_library_info.cpp
++++ b/src/core/web_engine_library_info.cpp
+@@ -46,6 +46,7 @@
+ #include "components/spellcheck/spellcheck_buildflags.h"
+ #include "content/public/common/content_paths.h"
+ #include "sandbox/policy/switches.h"
++#include "ui/base/l10n/l10n_util.h"
+ #include "ui/base/ui_base_paths.h"
+ #include "ui/base/ui_base_switches.h"
+ 
+@@ -353,18 +354,15 @@ base::string16 WebEngineLibraryInfo::getApplicationName()
+ std::string WebEngineLibraryInfo::getApplicationLocale()
+ {
+     base::CommandLine *parsedCommandLine = base::CommandLine::ForCurrentProcess();
+-    if (!parsedCommandLine->HasSwitch(switches::kLang)) {
++    if (parsedCommandLine->HasSwitch(switches::kLang)) {
++        return parsedCommandLine->GetSwitchValueASCII(switches::kLang);
++    } else {
+         const QString &locale = QLocale().bcp47Name();
+-
+-        // QLocale::bcp47Name returns "en" for American English locale. Chromium requires the "US" suffix
+-        // to clarify the dialect and ignores the shorter version.
+-        if (locale == "en")
+-            return "en-US";
+-
+-        return locale.toStdString();
++        std::string resolvedLocale;
++        if (l10n_util::CheckAndResolveLocale(locale.toStdString(), &resolvedLocale))
++            return resolvedLocale;
+     }
+-
+-    return parsedCommandLine->GetSwitchValueASCII(switches::kLang);
++    return "en-US";
+ }
+ 
+ #if defined(OS_WIN)
+diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+index 021986381..bf2c28ae6 100644
+--- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
++++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
+@@ -123,6 +123,7 @@ private Q_SLOTS:
+     void doNotBreakLayout();
+ 
+     void changeLocale();
++    void mixLangLocale();
+     void inputMethodsTextFormat_data();
+     void inputMethodsTextFormat();
+     void keyboardEvents();
+@@ -1210,6 +1211,29 @@ void tst_QWebEngineView::changeLocale()
+     QCOMPARE(errorLines.first().toUtf8(), QByteArrayLiteral("Die Website ist nicht erreichbar"));
+ }
+ 
++void tst_QWebEngineView::mixLangLocale()
++{
++    for (QString locale : { "en_DK", "de_CH", "eu_ES" }) {
++        QLocale::setDefault(locale);
++        QWebEngineView view;
++        QSignalSpy loadSpy(&view, &QWebEngineView::loadFinished);
++
++        bool terminated = false;
++        auto sc = connect(view.page(), &QWebEnginePage::renderProcessTerminated, [&] () { terminated = true; });
++
++        view.load(QUrl("qrc:///resources/dummy.html"));
++        QTRY_VERIFY(terminated || loadSpy.count() == 1);
++
++        QVERIFY2(!terminated,
++            qPrintable(QString("Locale [%1] terminated: %2, loaded: %3").arg(locale).arg(terminated).arg(loadSpy.count())));
++        QVERIFY(loadSpy.first().first().toBool());
++
++        QString content = toPlainTextSync(view.page());
++        QVERIFY2(!content.isEmpty() && content.contains("test content"), qPrintable(content));
++    }
++    QLocale::setDefault(QLocale("en"));
++}
++
+ void tst_QWebEngineView::inputMethodsTextFormat_data()
+ {
+     QTest::addColumn<QString>("string");
+-- 
+cgit v1.2.1
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
index 2c33bc250e6..bd9662af876 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
@@ -89,7 +89,8 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
 	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
-	"${FILESDIR}/${P}-chromium-87-v8-icu68.patch" # bug 757606
+	"${FILESDIR}/${P}-fix-crash-w-app-locales.patch" # bug 773919, QTBUG-91715
+	"${FILESDIR}/${P}-chromium-87-v8-icu68.patch" # downstream, bug 757606
 	"${FILESDIR}/${P}-disable-git.patch" # downstream snapshot fix
 )
 


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-03-24  0:50 Georgy Yakovlev
  0 siblings, 0 replies; 50+ messages in thread
From: Georgy Yakovlev @ 2021-03-24  0:50 UTC (permalink / raw
  To: gentoo-commits

commit:     88e06ce3257dac3f3d04d3d547d92754f184458b
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 24 00:15:34 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Wed Mar 24 00:48:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88e06ce3

dev-qt/qtwebengine: restore ppc64 keyword for 5.15.2_p20210224

add new patchet, based on chromium-87

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |  1 +
 .../files/qtwebengine-5.15.2-enable-ppc64.patch    | 37 ++++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210224.ebuild            |  9 ++++--
 3 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index c9426eb2cca..47e1c209376 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,3 +1,4 @@
+DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654
 DIST qtwebengine-5.15.2-ppc64.tar.xz 43868 BLAKE2B 97a2db64c688cc3ce178a6f00c29d3408221302c992bf0df31edd5c11f7cd978b92d9222201644991fca4fc0824b19d994a71c472732dbbdda3729bdd04a67f3 SHA512 835e7da4670cd823a1674052d64971bfd98d54edb6c5df8e9d09aa8103d496a4c16f0eb9d47c46db466e1c640e3326d4e43b284161129d648bfe693a902ec9cc
 DIST qtwebengine-5.15.2_p20210224.tar.xz 320052028 BLAKE2B a1ebaae7cf114041576f4920de1e484bea70c715a470e83e7c47bd8ff95480fc4e408bba173990480732bd464a9eb07d304f4afdb90d943c0a8cbe1e8299df84 SHA512 939292511703f3a6d758d38f1c860ffacd003be65761b19f23e8817bf1121cb9e6351216f737126d8defb1c97ca877e1c6f352e7cfee8e9289274d0793348b51
 DIST qtwebengine-everywhere-src-5.15.2.tar.xz 280142544 BLAKE2B cf84a07292e69b5746d6575d65295b5bf4e054d448361f26e63cbe20ddd0773f60893e656d74b3b8c191e2829e09398a65896c8d96d3a7ef210ac1f21cd90e63 SHA512 de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2-enable-ppc64.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-enable-ppc64.patch
new file mode 100644
index 00000000000..4fb19ccdd2e
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2-enable-ppc64.patch
@@ -0,0 +1,37 @@
+From 463f1234c57a36e78ff666bd55094a9d4e68f296 Mon Sep 17 00:00:00 2001
+From: q66 <daniel@octaforge.org>
+Date: Sat, 18 Jan 2020 23:52:55 +0100
+Subject: [PATCH 1/3] Enable ppc64 builds
+
+---
+ configure.pri                  | 1 +
+ mkspecs/features/functions.prf | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/configure.pri b/configure.pri
+index 3a144e3f8..cabe8b24a 100644
+--- a/configure.pri	2021-02-24 10:45:58.000000000 +0100
++++ -	2021-03-07 21:18:43.124754796 +0100
+@@ -144,6 +144,7 @@
+     contains(QT_ARCH, "arm")|contains(QT_ARCH, "arm64"): return(true)
+     contains(QT_ARCH, "mips"): return(true)
+     contains(QT_ARCH, "mips64"): return(true)
++    contains(QT_ARCH, "power64"): return(true)
+     qtLog("Architecture not supported.")
+     return(false)
+ }
+diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
+index 512e2523b..e31123654 100644
+--- a/mkspecs/features/functions.prf	2021-02-24 10:45:58.000000000 +0100
++++ -	2021-03-07 21:19:21.345036293 +0100
+@@ -107,6 +107,7 @@
+     contains(qtArch, "mips"): return(mipsel)
+     contains(qtArch, "mips64"): return(mips64el)
+     contains(qtArch, "mips64el"): return(mips64el)
++    contains(qtArch, "power64"): return(ppc64)
+     return(unknown)
+ }
+ 
+-- 
+2.26.0
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
index ac7c856f3db..aab23359050 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210224.ebuild
@@ -10,7 +10,7 @@ inherit multiprocessing python-any-r1 qt5-build
 DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
 
 if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm arm64 x86"
+	KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
 	if [[ ${PV} == ${QTVER}_p* ]]; then
 		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
 		S="${WORKDIR}/${P}"
@@ -19,7 +19,7 @@ if [[ ${QT5_BUILD_TYPE} == release ]]; then
 fi
 
 # patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-ppc64.tar.xz )"
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )"
 
 IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
 REQUIRED_USE="designer? ( widgets )"
@@ -144,7 +144,10 @@ src_prepare() {
 	# we need to generate ppc64 stuff because upstream does not ship it yet
 	if use ppc64; then
 		einfo "Patching for ppc64le and generating build files"
-		eapply "${WORKDIR}/${PN}-ppc64"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
 		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
 		mkdir -vp source/config/linux/ppc64 || die
 		mkdir -p source/libvpx/test || die


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-04-06 21:34 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-04-06 21:34 UTC (permalink / raw
  To: gentoo-commits

commit:     cccd69ed6644a546091a3a949b808bb45e2defe7
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  6 17:59:33 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr  6 21:33:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cccd69ed

dev-qt/qtwebengine: 5.15.2_p20210406 snapshot bump

Snapshotted at:
Branch: 5.15
Commit: 1f3412fa07b524fa7917250ed0cc2661abb9246a

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: d13920f28c2f3922e0cf793996ea33d02b81a0a4

Add Fedora patches for GLIBC-2.33 and GCC-11...

Bug: https://bugs.gentoo.org/769989
Closes: https://bugs.gentoo.org/768261
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 .../files/qtwebengine-5.15.2_p20210406-gcc11.patch | 113 ++++++++++++
 .../qtwebengine-5.15.2_p20210406-glibc-2.33.patch  | 141 +++++++++++++++
 .../qtwebengine-5.15.2_p20210406.ebuild            | 189 +++++++++++++++++++++
 4 files changed, 444 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 428373e2515..8f706a89789 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,2 +1,3 @@
 DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654
 DIST qtwebengine-5.15.2_p20210224.tar.xz 320052028 BLAKE2B a1ebaae7cf114041576f4920de1e484bea70c715a470e83e7c47bd8ff95480fc4e408bba173990480732bd464a9eb07d304f4afdb90d943c0a8cbe1e8299df84 SHA512 939292511703f3a6d758d38f1c860ffacd003be65761b19f23e8817bf1121cb9e6351216f737126d8defb1c97ca877e1c6f352e7cfee8e9289274d0793348b51
+DIST qtwebengine-5.15.2_p20210406.tar.xz 320144324 BLAKE2B 45aafc32f4642fee5525f0504d61ed47c3085d5eff566271701805942ce5fcb2233655111592059775991da5b89dc1702031373f6ff171722ed163265d894daa SHA512 c4a0d5fec3247c04acc447c1c819d1e5dcb1d3c0cbb57a87a5cfa5c0c2b765e82c9f75a7297ba57303df5e1004d75dc554ffd70e24ecb8655126136672f38fdb

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch
new file mode 100644
index 00000000000..ececf6896cc
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch
@@ -0,0 +1,113 @@
+diff --git a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
+index 013f1dfb2..3ce63c192 100644
+--- a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
++++ b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
+@@ -9,6 +9,7 @@
+ 
+ #include "libANGLE/HandleAllocator.h"
+ 
++#include <limits>
+ #include <algorithm>
+ #include <functional>
+ 
+diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc
+index fd651958f..1e8d0606c 100644
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc
+@@ -14,9 +14,9 @@
+  * limitations under the License.
+  */
+ 
++#include <limits>
+ #include "src/trace_processor/containers/string_pool.h"
+ 
+-#include <limits>
+ 
+ #include "perfetto/base/logging.h"
+ #include "perfetto/ext/base/utils.h"
+diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc
+index 00496b335..0dccfeb8a 100644
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc
+@@ -14,6 +14,7 @@
+  * limitations under the License.
+  */
+ 
++#include <limits>
+ #include "src/trace_processor/db/column.h"
+ 
+ #include "src/trace_processor/db/compare.h"
+diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc
+index 837bfeba9..cdd56817d 100644
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc
+@@ -14,6 +14,7 @@
+  * limitations under the License.
+  */
+ 
++#include <limits>
+ #include "src/trace_processor/types/variadic.h"
+ 
+ namespace perfetto {
+diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
+index be91def6b..73f202356 100644
+--- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
++++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
+@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) {
+ }
+ 
+ GType ax_platform_atk_hyperlink_get_type() {
+-  static volatile gsize type_volatile = 0;
++  static gsize type_volatile = 0;
+ 
+   AXPlatformNodeAuraLinux::EnsureGTypeInit();
+ 
+diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
+index 04125c6fd..6c64e5d8e 100644
+--- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
++++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
+@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) {
+ GType GetType() {
+   AXPlatformNodeAuraLinux::EnsureGTypeInit();
+ 
+-  static volatile gsize type_volatile = 0;
++  static gsize type_volatile = 0;
+   if (g_once_init_enter(&type_volatile)) {
+     static const GTypeInfo type_info = {
+         sizeof(AXPlatformNodeAuraLinuxClass),  // class_size
+diff --git a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
+index c663a2074..38a342484 100644
+--- a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
++++ b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
+@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) {
+ }
+ 
+ GType GtkKeyBindingsHandler::HandlerGetType() {
+-  static volatile gsize type_id_volatile = 0;
++  static gsize type_id_volatile = 0;
+   if (g_once_init_enter(&type_id_volatile)) {
+     GType type_id = g_type_register_static_simple(
+         GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"),
+--- a/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
++++ b/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
+@@ -2,6 +2,7 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include <cstddef>
+ #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h"
+ 
+ #include <stdint.h>
+diff --git a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
+index 657a3c96b..ad641a082 100644
+--- a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
++++ b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include <cstddef>
++
+ #include "components/bookmarks/browser/base_bookmark_model_observer.h"
+ 
+ namespace bookmarks {

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-glibc-2.33.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-glibc-2.33.patch
new file mode 100644
index 00000000000..cb90428e8d4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-glibc-2.33.patch
@@ -0,0 +1,141 @@
+diff -up b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+@@ -257,6 +257,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
+     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 -up b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+@@ -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 <string.h>
+@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct
+   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);
+ }
+@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
+   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 -up b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
+--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
+@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail
+ // sched_setparam(), sched_setscheduler()
+ SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const 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 Crash
+ 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 -up b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
+--- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
++++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
+@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
+ 
+ #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 -up b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
+--- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
++++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
+@@ -17,6 +17,7 @@ struct sock_fprog;
+ struct rlimit64;
+ struct cap_hdr;
+ struct cap_data;
++struct stat64;
+ 
+ namespace sandbox {
+ 
+@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
+                                  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_

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild
new file mode 100644
index 00000000000..58fcae1fc20
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild
@@ -0,0 +1,189 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+QTVER=$(ver_cut 1-3)
+inherit multiprocessing python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QTVER}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+fi
+
+# patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	~dev-qt/qtcore-${QTVER}
+	~dev-qt/qtdeclarative-${QTVER}
+	~dev-qt/qtgui-${QTVER}
+	~dev-qt/qtnetwork-${QTVER}
+	~dev-qt/qtprintsupport-${QTVER}
+	~dev-qt/qtwebchannel-${QTVER}[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/mesa[egl,X(+)]
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( ~dev-qt/designer-${QTVER} )
+	geolocation? ( ~dev-qt/qtpositioning-${QTVER} )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-68.2:= )
+	widgets? (
+		~dev-qt/qtdeclarative-${QTVER}[widgets]
+		~dev-qt/qtwidgets-${QTVER}
+	)
+"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	>=app-arch/gzip-1.7
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs
+	sys-devel/bison
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
+	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+	"${FILESDIR}/${P}-glibc-2.33.patch" # by Fedora, bug 769989
+	"${FILESDIR}/${P}-gcc11.patch" # by Fedora, bug 768261
+)
+
+src_prepare() {
+	if [[ ${PV} == ${QTVER}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+
+		# We need to make sure this integrates well into Qt 5.15.2 installation.
+		# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+		sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die
+	fi
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 630834 - pass appropriate options to ninja when building GN
+	sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
+		-i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(usex alsa '-alsa' '-no-alsa')
+		$(usex bindist '-no-proprietary-codecs' '-proprietary-codecs')
+		$(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation')
+		$(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos')
+		$(usex pulseaudio '-pulseaudio' '-no-pulseaudio')
+		$(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg')
+		$(usex system-icu '-webengine-icu' '-no-webengine-icu')
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-04-20 22:23 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-04-20 22:23 UTC (permalink / raw
  To: gentoo-commits

commit:     e3fa77f8de69294f0a17d592d1d6e2985d2b561b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 20 22:19:24 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 20 22:22:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3fa77f8

dev-qt/qtwebengine: Fix build with ICU-69.1

Tested-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Closes: https://bugs.gentoo.org/781236
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qtwebengine-5.15.2_p20210406-icu69.patch | 92 ++++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210406.ebuild            |  1 +
 2 files changed, 93 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch
new file mode 100644
index 00000000000..457953671a4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch
@@ -0,0 +1,92 @@
+From 035c305ce7761f51328b45f1bd83e26aef267c9d Mon Sep 17 00:00:00 2001
+From: Frank Tang <ftang@chromium.org>
+Date: Thu, 15 Oct 2020 22:44:27 -0700
+Subject: [PATCH] [Intl] call new ListFormatter::createInstance
+
+The one we currently using is now marked as internal and to be removed
+for 68. Migrating to the style which already avaiable in ICU 67-1.
+
+Bug: v8:11031
+Change-Id: I668382a2e1b8602ddca02bf231c5008a6c92bf2d
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477751
+Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+Commit-Queue: Frank Tang <ftang@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#70638}
+---
+
+diff --git a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc
+index b17d38c..e48a387 100644
+--- a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc
++++ b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc
+@@ -29,46 +29,27 @@
+ namespace internal {
+ 
+ namespace {
+-const char* kStandard = "standard";
+-const char* kOr = "or";
+-const char* kUnit = "unit";
+-const char* kStandardShort = "standard-short";
+-const char* kOrShort = "or-short";
+-const char* kUnitShort = "unit-short";
+-const char* kStandardNarrow = "standard-narrow";
+-const char* kOrNarrow = "or-narrow";
+-const char* kUnitNarrow = "unit-narrow";
+ 
+-const char* GetIcuStyleString(JSListFormat::Style style,
+-                              JSListFormat::Type type) {
++UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
++  switch (style) {
++    case JSListFormat::Style::LONG:
++      return ULISTFMT_WIDTH_WIDE;
++    case JSListFormat::Style::SHORT:
++      return ULISTFMT_WIDTH_SHORT;
++    case JSListFormat::Style::NARROW:
++      return ULISTFMT_WIDTH_NARROW;
++  }
++  UNREACHABLE();
++}
++
++UListFormatterType GetIcuType(JSListFormat::Type type) {
+   switch (type) {
+     case JSListFormat::Type::CONJUNCTION:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kStandard;
+-        case JSListFormat::Style::SHORT:
+-          return kStandardShort;
+-        case JSListFormat::Style::NARROW:
+-          return kStandardNarrow;
+-      }
++      return ULISTFMT_TYPE_AND;
+     case JSListFormat::Type::DISJUNCTION:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kOr;
+-        case JSListFormat::Style::SHORT:
+-          return kOrShort;
+-        case JSListFormat::Style::NARROW:
+-          return kOrNarrow;
+-      }
++      return ULISTFMT_TYPE_OR;
+     case JSListFormat::Type::UNIT:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kUnit;
+-        case JSListFormat::Style::SHORT:
+-          return kUnitShort;
+-        case JSListFormat::Style::NARROW:
+-          return kUnitNarrow;
+-      }
++      return ULISTFMT_TYPE_UNITS;
+   }
+   UNREACHABLE();
+ }
+@@ -143,7 +124,7 @@
+   icu::Locale icu_locale = r.icu_locale;
+   UErrorCode status = U_ZERO_ERROR;
+   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
+-      icu_locale, GetIcuStyleString(style_enum, type_enum), status);
++      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
+   if (U_FAILURE(status) || formatter == nullptr) {
+     delete formatter;
+     THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError),

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild
index 58fcae1fc20..a2353504bc3 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210406.ebuild
@@ -94,6 +94,7 @@ PATCHES=(
 	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
 	"${FILESDIR}/${P}-glibc-2.33.patch" # by Fedora, bug 769989
 	"${FILESDIR}/${P}-gcc11.patch" # by Fedora, bug 768261
+	"${FILESDIR}/${P}-icu69.patch" # bug 781236
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-05-17 21:15 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-05-17 21:15 UTC (permalink / raw
  To: gentoo-commits

commit:     0fa526a294b2183c25512dad101db37aed871c54
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun May 16 18:41:09 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon May 17 21:14:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fa526a2

dev-qt/qtwebengine: Backport QTBUG-91773 loadFinished signal fix

Thanks to Arch Linux.

See also: https://bugreports.qt.io/browse/QTBUG-91773

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../qtwebengine-5.15.2_p20210421-qtbug-91773.patch | 372 +++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210421.ebuild            |   1 +
 2 files changed, 373 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch
new file mode 100644
index 00000000000..88e7b893e30
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch
@@ -0,0 +1,372 @@
+diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
+index 5597c69f9..2cd48907b 100644
+--- a/src/core/web_contents_adapter.cpp
++++ b/src/core/web_contents_adapter.cpp
+@@ -716,8 +716,7 @@ void WebContentsAdapter::load(const QWebEngineHttpRequest &request)
+             m_adapterClient->loadFinished(false, request.url(), false,
+                                           net::ERR_DISALLOWED_URL_SCHEME,
+                                           QCoreApplication::translate("WebContentsAdapter",
+-                                          "HTTP-POST data can only be sent over HTTP(S) protocol"),
+-                                          false);
++                                          "HTTP-POST data can only be sent over HTTP(S) protocol"));
+             return;
+         }
+         params.post_data = network::ResourceRequestBody::CreateFromBytes(
+@@ -773,7 +772,7 @@ void WebContentsAdapter::setContent(const QByteArray &data, const QString &mimeT
+ 
+     GURL dataUrlToLoad(urlString);
+     if (dataUrlToLoad.spec().size() > url::kMaxURLChars) {
+-        m_adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED, QString(), false);
++        m_adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED, QString());
+         return;
+     }
+     content::NavigationController::LoadURLParams params((dataUrlToLoad));
+@@ -1995,6 +1994,7 @@ void WebContentsAdapter::discard()
+     if (m_webContents->IsLoading()) {
+         m_webContentsDelegate->didFailLoad(m_webContentsDelegate->url(webContents()), net::Error::ERR_ABORTED,
+                                            QStringLiteral("Discarded"));
++        m_webContentsDelegate->DidStopLoading();
+     }
+ 
+     content::WebContents::CreateParams createParams(m_profileAdapter->profile());
+diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h
+index 267266d81..afc43806a 100644
+--- a/src/core/web_contents_adapter_client.h
++++ b/src/core/web_contents_adapter_client.h
+@@ -466,8 +466,7 @@ public:
+     virtual void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) = 0;
+     virtual void loadCommitted() = 0;
+     virtual void loadVisuallyCommitted() = 0;
+-    virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
+-                              const QString &errorDescription, bool triggersErrorPage) = 0;
++    virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) = 0;
+     virtual void focusContainer() = 0;
+     virtual void unhandledKeyEvent(QKeyEvent *event) = 0;
+     virtual QSharedPointer<WebContentsAdapter>
+diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
+index 1e92a46f8..f0e4130e8 100644
+--- a/src/core/web_contents_delegate_qt.cpp
++++ b/src/core/web_contents_delegate_qt.cpp
+@@ -259,14 +259,12 @@ void WebContentsDelegateQt::CloseContents(content::WebContents *source)
+ 
+ void WebContentsDelegateQt::LoadProgressChanged(double progress)
+ {
+-    QUrl current_url(m_viewClient->webContentsAdapter()->getNavigationEntryOriginalUrl(m_viewClient->webContentsAdapter()->currentNavigationEntryIndex()));
+-    int p = qMin(qRound(progress * 100), 100);
+-
+-    if (!m_loadingErrorFrameList.isEmpty() || !m_loadProgressMap.contains(current_url) || m_loadProgressMap[current_url] == 100 || p ==  100)
++    if (!m_loadingErrorFrameList.isEmpty() || !m_loadingInfo.isLoading()) // suppress signals that aren't between loadStarted and loadFinished
+         return;
+ 
+-    if (p > m_loadProgressMap[current_url]) { // ensure strict monotonic increase
+-        m_loadProgressMap[current_url] = p;
++    int p = qMin(qRound(progress * 100), 100);
++    if (p > m_loadingInfo.progress) { // ensure strict monotonic increase
++        m_loadingInfo.progress = p;
+         m_viewClient->loadProgressChanged(p);
+     }
+ }
+@@ -339,35 +337,21 @@ void WebContentsDelegateQt::RenderViewHostChanged(content::RenderViewHost *, con
+     }
+ }
+ 
+-void WebContentsDelegateQt::EmitLoadStarted(const QUrl &url, bool isErrorPage)
++void WebContentsDelegateQt::emitLoadStarted(bool isErrorPage)
+ {
+-    m_isDocumentEmpty = true;
+-    m_viewClient->loadStarted(url, isErrorPage);
+-    m_viewClient->updateNavigationActions();
+-
+-    if ((url.hasFragment() || m_lastLoadedUrl.hasFragment())
+-        && url.adjusted(QUrl::RemoveFragment) == m_lastLoadedUrl.adjusted(QUrl::RemoveFragment)
+-        && !m_isNavigationCommitted) {
+-        m_loadProgressMap.insert(url, 100);
+-        m_lastLoadedUrl = url;
+-        m_viewClient->loadProgressChanged(100);
++    // only report first ever load start or separate one for error page only
++    if (!isErrorPage && m_loadingInfo.isLoading()) // already running
+         return;
+-    }
+ 
+-    if (!m_loadProgressMap.isEmpty()) {
+-        QMap<QUrl, int>::iterator it = m_loadProgressMap.begin();
+-        while (it != m_loadProgressMap.end()) {
+-            if (it.value() == 100) {
+-                it = m_loadProgressMap.erase(it);
+-                continue;
+-            }
+-            ++it;
+-        }
++    m_isDocumentEmpty = true; // reset to default which may only be overridden on actual resource load complete
++    if (!isErrorPage) {
++        m_loadingInfo.progress = 0;
++        m_viewClient->loadStarted(m_loadingInfo.url, false);
++        m_viewClient->updateNavigationActions();
++        m_viewClient->loadProgressChanged(0);
++    } else {
++        m_viewClient->loadStarted(toQt(GURL(content::kUnreachableWebDataURL)), true);
+     }
+-
+-    m_lastLoadedUrl = url;
+-    m_loadProgressMap.insert(url, 0);
+-    m_viewClient->loadProgressChanged(0);
+ }
+ 
+ void WebContentsDelegateQt::DidStartNavigation(content::NavigationHandle *navigation_handle)
+@@ -375,34 +359,41 @@ void WebContentsDelegateQt::DidStartNavigation(content::NavigationHandle *naviga
+     if (!webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled))
+         navigation_handle->SetSilentlyIgnoreErrors();
+ 
+-    if (!navigation_handle->IsInMainFrame())
++    if (!navigation_handle->IsInMainFrame() || !web_contents()->IsLoadingToDifferentDocument())
+         return;
+ 
+ 
+     m_loadingErrorFrameList.clear();
+     m_faviconManager->resetCandidates();
+-    EmitLoadStarted(toQt(navigation_handle->GetURL()));
++
++    m_loadingInfo.url = toQt(navigation_handle->GetURL());
++    // IsErrorPage is only set after navigation commit, so check it otherwise: error page shouldn't have navigation entry
++    bool isErrorPage = m_loadingInfo.triggersErrorPage && !navigation_handle->GetNavigationEntry();
++    emitLoadStarted(isErrorPage);
+ }
+ 
+-void WebContentsDelegateQt::EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription, bool triggersErrorPage)
++void WebContentsDelegateQt::emitLoadFinished(bool isErrorPage)
+ {
+-    Q_ASSERT(!isErrorPage || webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled));
+-    Q_ASSERT((triggersErrorPage && webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) || !triggersErrorPage);
+-
+-    // When error page enabled we don't need to send the error page load finished signal
+-    if (m_loadProgressMap[url] == 100)
++    if (!m_loadingInfo.isLoading()) // not currently running
+         return;
+ 
+-    m_lastLoadedUrl = url;
+-    m_loadProgressMap[url] = 100;
+-    m_isNavigationCommitted = false;
+-    m_viewClient->loadProgressChanged(100);
++    Q_ASSERT(!isErrorPage || webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled));
++    Q_ASSERT((m_loadingInfo.triggersErrorPage && webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) || !m_loadingInfo.triggersErrorPage);
++
++    if (!isErrorPage) {
++        if (m_loadingInfo.progress < 100) {
++            m_loadingInfo.progress = 100;
++            m_viewClient->loadProgressChanged(100);
++        }
+ 
+-    m_viewClient->loadFinished(success, url, isErrorPage, errorCode, errorDescription, triggersErrorPage);
+-    m_viewClient->updateNavigationActions();
++        m_viewClient->loadFinished(m_loadingInfo.success, m_loadingInfo.url, false, m_loadingInfo.errorCode, m_loadingInfo.errorDescription);
++        m_viewClient->updateNavigationActions();
++    } else {
++        m_viewClient->loadFinished(false, toQt(GURL(content::kUnreachableWebDataURL)), true, 0, QString());
++    }
+ }
+ 
+-void WebContentsDelegateQt::EmitLoadCommitted()
++void WebContentsDelegateQt::emitLoadCommitted()
+ {
+     m_findTextHelper->handleLoadCommitted();
+     m_viewClient->loadCommitted();
+@@ -422,8 +413,7 @@ void WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *navig
+                 profileAdapter->visitedLinksManager()->addUrl(url);
+         }
+ 
+-        m_isNavigationCommitted = true;
+-        EmitLoadCommitted();
++        emitLoadCommitted();
+     }
+ 
+     // Success is reported by DidFinishLoad, but DidFailLoad is now dead code and needs to be handled below
+@@ -440,11 +430,11 @@ void WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *navig
+         // Now report we are starting to load an error-page.
+         m_loadingErrorFrameList.append(navigation_handle->GetRenderFrameHost()->GetRoutingID());
+         m_faviconManager->resetCandidates();
+-        EmitLoadStarted(toQt(GURL(content::kUnreachableWebDataURL)), true);
++        emitLoadStarted(true);
+ 
+         // If it is already committed we will not see another DidFinishNavigation call or a DidFinishLoad call.
+         if (navigation_handle->HasCommitted())
+-            EmitLoadCommitted();
++            emitLoadCommitted();
+     }
+ }
+ 
+@@ -486,6 +476,9 @@ void WebContentsDelegateQt::DidStopLoading()
+ 
+     if (m_loadingState == LoadingState::Loading)
+         setLoadingState(LoadingState::Loaded);
++
++    emitLoadFinished();
++    m_loadingInfo.clear();
+ }
+ 
+ void WebContentsDelegateQt::didFailLoad(const QUrl &url, int errorCode, const QString &errorDescription)
+@@ -495,7 +488,11 @@ void WebContentsDelegateQt::didFailLoad(const QUrl &url, int errorCode, const QS
+     // Delay notifying failure until the error-page is done loading.
+     // Error-pages are not loaded on failures due to abort.
+     bool aborted = (errorCode == -3 /* ERR_ABORTED*/ );
+-    EmitLoadFinished(false /* success */ , url, false /* isErrorPage */, errorCode, errorDescription, errorPageEnabled && !aborted);
++    m_loadingInfo.success = false;
++    m_loadingInfo.url = url;
++    m_loadingInfo.errorCode = errorCode;
++    m_loadingInfo.errorDescription = errorDescription;
++    m_loadingInfo.triggersErrorPage = errorPageEnabled && !aborted;
+ }
+ 
+ void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code)
+@@ -511,8 +508,7 @@ void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_h
+         Q_ASSERT(error_code == -3 /* ERR_ABORTED */);
+         m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID());
+         m_viewClient->iconChanged(QUrl());
+-
+-        EmitLoadFinished(false /* success */, toQt(validated_url), true /* isErrorPage */);
++        emitLoadFinished(/* isErrorPage = */true);
+         return;
+     }
+     // Qt6: Consider getting rid of the error_description (Chromium already has)
+@@ -532,7 +528,7 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame
+         // Trigger LoadFinished signal for main frame's error page only.
+         if (!render_frame_host->GetParent()) {
+             m_viewClient->iconChanged(QUrl());
+-            EmitLoadFinished(true /* success */, toQt(validated_url), true /* isErrorPage */);
++            emitLoadFinished(/* isErrorPage = */true);
+         }
+ 
+         return;
+@@ -550,7 +546,11 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame
+     int http_statuscode = entry ? entry->GetHttpStatusCode() : 0;
+     bool errorPageEnabled = webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled);
+     bool triggersErrorPage = errorPageEnabled && (http_statuscode >= 400) && m_isDocumentEmpty;
+-    EmitLoadFinished(http_statuscode < 400, toQt(validated_url), false /* isErrorPage */, http_statuscode, QString(), triggersErrorPage);
++
++    m_loadingInfo.success = http_statuscode < 400;
++    m_loadingInfo.url = toQt(validated_url);
++    m_loadingInfo.errorCode = http_statuscode;
++    m_loadingInfo.triggersErrorPage = triggersErrorPage;
+ }
+ 
+ void WebContentsDelegateQt::DidUpdateFaviconURL(content::RenderFrameHost *render_frame_host, const std::vector<blink::mojom::FaviconURLPtr> &candidates)
+diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h
+index 5a3dff6e9..7149f6bff 100644
+--- a/src/core/web_contents_delegate_qt.h
++++ b/src/core/web_contents_delegate_qt.h
+@@ -216,9 +216,9 @@ private:
+                  WindowOpenDisposition disposition, const gfx::Rect &initial_pos,
+                  const QUrl &url,
+                  bool user_gesture);
+-    void EmitLoadStarted(const QUrl &url, bool isErrorPage = false);
+-    void EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString(), bool triggersErrorPage = false);
+-    void EmitLoadCommitted();
++    void emitLoadStarted(bool isErrorPage = false);
++    void emitLoadFinished(bool isErrorPage = false);
++    void emitLoadCommitted();
+ 
+     LoadingState determineLoadingState(content::WebContents *contents);
+     void setLoadingState(LoadingState state);
+@@ -242,9 +242,17 @@ private:
+     int m_desktopStreamCount = 0;
+     mutable bool m_pendingUrlUpdate = false;
+ 
+-    QMap<QUrl, int> m_loadProgressMap;
+-    QUrl m_lastLoadedUrl;
+-    bool m_isNavigationCommitted = false;
++    struct LoadingInfo {
++        bool success = false;
++        int progress = -1;
++        bool isLoading() const { return progress >= 0; }
++        QUrl url;
++        int errorCode = 0;
++        QString errorDescription;
++        bool triggersErrorPage = false;
++        void clear() { *this = LoadingInfo(); }
++    } m_loadingInfo;
++
+     bool m_isDocumentEmpty = true;
+     base::WeakPtrFactory<WebContentsDelegateQt> m_weakPtrFactory { this };
+ };
+diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
+index 6ab1c97cb..1de7f1c7f 100644
+--- a/src/webengine/api/qquickwebengineview.cpp
++++ b/src/webengine/api/qquickwebengineview.cpp
+@@ -496,11 +496,9 @@ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::NoErrorDomain) == static_cast<i
+ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::CertificateErrorDomain) == static_cast<int>(QQuickWebEngineView::CertificateErrorDomain));
+ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::DnsErrorDomain) == static_cast<int>(QQuickWebEngineView::DnsErrorDomain));
+ 
+-void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
+-                                              const QString &errorDescription, bool triggersErrorPage)
++void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription)
+ {
+     Q_Q(QQuickWebEngineView);
+-    Q_UNUSED(triggersErrorPage);
+ 
+     if (isErrorPage) {
+ #if QT_CONFIG(webengine_testsupport)
+diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
+index ebe55c345..ec535298b 100644
+--- a/src/webengine/api/qquickwebengineview_p_p.h
++++ b/src/webengine/api/qquickwebengineview_p_p.h
+@@ -116,8 +116,7 @@ public:
+     void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override;
+     void loadCommitted() override;
+     void loadVisuallyCommitted() override;
+-    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
+-                      const QString &errorDescription, bool triggersErrorPage) override;
++    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override;
+     void focusContainer() override;
+     void unhandledKeyEvent(QKeyEvent *event) override;
+     QSharedPointer<QtWebEngineCore::WebContentsAdapter>
+diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
+index e08afed44..b32c15039 100644
+--- a/src/webenginewidgets/api/qwebenginepage.cpp
++++ b/src/webenginewidgets/api/qwebenginepage.cpp
+@@ -282,28 +282,20 @@ void QWebEnginePagePrivate::loadStarted(const QUrl &provisionalUrl, bool isError
+     QTimer::singleShot(0, q, &QWebEnginePage::loadStarted);
+ }
+ 
+-void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
+-                                         const QString &errorDescription, bool triggersErrorPage)
++void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription)
+ {
+     Q_Q(QWebEnginePage);
+     Q_UNUSED(url);
+     Q_UNUSED(errorCode);
+     Q_UNUSED(errorDescription);
+ 
+-    if (isErrorPage) {
+-        QTimer::singleShot(0, q, [q](){
+-            emit q->loadFinished(false);
+-        });
++    if (isErrorPage)
+         return;
+-    }
+ 
+     isLoading = false;
+-    Q_ASSERT((success && !triggersErrorPage) || !success);
+-    if (!triggersErrorPage) {
+-        QTimer::singleShot(0, q, [q, success](){
+-            emit q->loadFinished(success);
+-        });
+-    }
++    QTimer::singleShot(0, q, [q, success](){
++        emit q->loadFinished(success);
++    });
+ }
+ 
+ void QWebEnginePagePrivate::didPrintPageToPdf(const QString &filePath, bool success)
+diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h
+index 82ce99503..ae3ab5d25 100644
+--- a/src/webenginewidgets/api/qwebenginepage_p.h
++++ b/src/webenginewidgets/api/qwebenginepage_p.h
+@@ -107,8 +107,7 @@ public:
+     void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override;
+     void loadCommitted() override { }
+     void loadVisuallyCommitted() override { }
+-    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
+-                      const QString &errorDescription, bool triggersErrorPage) override;
++    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override;
+     void focusContainer() override;
+     void unhandledKeyEvent(QKeyEvent *event) override;
+     QSharedPointer<QtWebEngineCore::WebContentsAdapter>

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild
index 3aaec6f3807..39fbcd088e1 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild
@@ -103,6 +103,7 @@ PATCHES=(
 	"${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989
 	"${FILESDIR}/${PN}-5.15.2_p20210406-gcc11.patch" # by Fedora, bug 768261
 	"${FILESDIR}/${PN}-5.15.2_p20210406-icu69.patch" # bug 781236
+	"${FILESDIR}/${P}-qtbug-91773.patch" # in Qt "5.15.5"
 )
 
 src_unpack() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-07-22  9:35 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-07-22  9:35 UTC (permalink / raw
  To: gentoo-commits

commit:     1e28eaa9c45fdfeb0c75271d0cf52e427032dd76
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 22 09:28:29 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 22 09:35:34 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e28eaa9

dev-qt/qtwebengine: 5.15.2_p20210421 security cleanup

Bug: https://bugs.gentoo.org/800181
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 -
 .../files/qtwebengine-5.15.2_p20210406-gcc11.patch | 126 -------
 .../files/qtwebengine-5.15.2_p20210406-icu69.patch |  92 -----
 .../qtwebengine-5.15.2_p20210421-qtbug-91773.patch | 372 ---------------------
 .../qtwebengine-5.15.2_p20210421.ebuild            | 218 ------------
 5 files changed, 809 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 7ee8f9bdba7..562f5ae1546 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,3 +1,2 @@
 DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654
-DIST qtwebengine-5.15.2_p20210421.tar.xz 320142308 BLAKE2B 1ed6e3daad8e8da7336c1575f524f1474eb043a44a86eebdc2375e9a01dbb21a4bf622b01525c627ff5846bb375b19617ca78f418749d6e4ce53b376da0b8317 SHA512 3a57cc8eb1aab086ae2ef69b1b1eaac47827d1f460ff53d5954b0dcb6753cc0e5fb24db490ea186141e6659e26a59862e8096126450a9fde6ed1230c00e4ceaa
 DIST qtwebengine-5.15.2_p20210625.tar.xz 320144708 BLAKE2B cd11e69a34ff0fa07d26262906a12304c39a12575024d61db18bc696284e9c5700090e5bfed217c89d2c8eac49b0ccb7d7ee0ba716ec3a81878de1301566884d SHA512 517a8cdaff684894456db8cfb5cfca412b8764e7035623d8190d9a06f6995742097a53eb67329d12bf8dc0a56372f7d09a54532ba804a5bff245ca8ef042a4e1

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch
deleted file mode 100644
index 7411567e74f..00000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-gcc11.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-diff --git a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
-index 013f1dfb2..3ce63c192 100644
---- a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
-+++ b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
-@@ -9,6 +9,7 @@
- 
- #include "libANGLE/HandleAllocator.h"
- 
-+#include <limits>
- #include <algorithm>
- #include <functional>
- 
-diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc
-index fd651958f..1e8d0606c 100644
---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc
-+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc
-@@ -14,9 +14,9 @@
-  * limitations under the License.
-  */
- 
-+#include <limits>
- #include "src/trace_processor/containers/string_pool.h"
- 
--#include <limits>
- 
- #include "perfetto/base/logging.h"
- #include "perfetto/ext/base/utils.h"
-diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc
-index 00496b335..0dccfeb8a 100644
---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc
-+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc
-@@ -14,6 +14,7 @@
-  * limitations under the License.
-  */
- 
-+#include <limits>
- #include "src/trace_processor/db/column.h"
- 
- #include "src/trace_processor/db/compare.h"
-diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc
-index 837bfeba9..cdd56817d 100644
---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc
-+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc
-@@ -14,6 +14,7 @@
-  * limitations under the License.
-  */
- 
-+#include <limits>
- #include "src/trace_processor/types/variadic.h"
- 
- namespace perfetto {
-diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-index be91def6b..73f202356 100644
---- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-+++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) {
- }
- 
- GType ax_platform_atk_hyperlink_get_type() {
--  static volatile gsize type_volatile = 0;
-+  static gsize type_volatile = 0;
- 
-   AXPlatformNodeAuraLinux::EnsureGTypeInit();
- 
-diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
-index 04125c6fd..6c64e5d8e 100644
---- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
-+++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
-@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) {
- GType GetType() {
-   AXPlatformNodeAuraLinux::EnsureGTypeInit();
- 
--  static volatile gsize type_volatile = 0;
-+  static gsize type_volatile = 0;
-   if (g_once_init_enter(&type_volatile)) {
-     static const GTypeInfo type_info = {
-         sizeof(AXPlatformNodeAuraLinuxClass),  // class_size
-diff --git a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
-index c663a2074..38a342484 100644
---- a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
-+++ b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
-@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) {
- }
- 
- GType GtkKeyBindingsHandler::HandlerGetType() {
--  static volatile gsize type_id_volatile = 0;
-+  static gsize type_id_volatile = 0;
-   if (g_once_init_enter(&type_id_volatile)) {
-     GType type_id = g_type_register_static_simple(
-         GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"),
---- a/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-+++ b/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-@@ -2,6 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#include <cstddef>
- #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h"
- 
- #include <stdint.h>
-diff --git a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
-index 657a3c96b..ad641a082 100644
---- a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
-+++ b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#include <cstddef>
-+
- #include "components/bookmarks/browser/base_bookmark_model_observer.h"
- 
- namespace bookmarks {
-diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
-index 19f9aab5b..27fec2168 100644
---- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
-+++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
-@@ -37,6 +37,7 @@
- 
- #include <algorithm>
- #include <array>
-+#include <limits>
- #include "absl/base/internal/hide_ptr.h"
- #include "absl/base/internal/raw_logging.h"
- #include "absl/base/internal/spinlock.h"
- 

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch
deleted file mode 100644
index 457953671a4..00000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-icu69.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 035c305ce7761f51328b45f1bd83e26aef267c9d Mon Sep 17 00:00:00 2001
-From: Frank Tang <ftang@chromium.org>
-Date: Thu, 15 Oct 2020 22:44:27 -0700
-Subject: [PATCH] [Intl] call new ListFormatter::createInstance
-
-The one we currently using is now marked as internal and to be removed
-for 68. Migrating to the style which already avaiable in ICU 67-1.
-
-Bug: v8:11031
-Change-Id: I668382a2e1b8602ddca02bf231c5008a6c92bf2d
-Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477751
-Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
-Commit-Queue: Frank Tang <ftang@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#70638}
----
-
-diff --git a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc
-index b17d38c..e48a387 100644
---- a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc
-+++ b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc
-@@ -29,46 +29,27 @@
- namespace internal {
- 
- namespace {
--const char* kStandard = "standard";
--const char* kOr = "or";
--const char* kUnit = "unit";
--const char* kStandardShort = "standard-short";
--const char* kOrShort = "or-short";
--const char* kUnitShort = "unit-short";
--const char* kStandardNarrow = "standard-narrow";
--const char* kOrNarrow = "or-narrow";
--const char* kUnitNarrow = "unit-narrow";
- 
--const char* GetIcuStyleString(JSListFormat::Style style,
--                              JSListFormat::Type type) {
-+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
-+  switch (style) {
-+    case JSListFormat::Style::LONG:
-+      return ULISTFMT_WIDTH_WIDE;
-+    case JSListFormat::Style::SHORT:
-+      return ULISTFMT_WIDTH_SHORT;
-+    case JSListFormat::Style::NARROW:
-+      return ULISTFMT_WIDTH_NARROW;
-+  }
-+  UNREACHABLE();
-+}
-+
-+UListFormatterType GetIcuType(JSListFormat::Type type) {
-   switch (type) {
-     case JSListFormat::Type::CONJUNCTION:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kStandard;
--        case JSListFormat::Style::SHORT:
--          return kStandardShort;
--        case JSListFormat::Style::NARROW:
--          return kStandardNarrow;
--      }
-+      return ULISTFMT_TYPE_AND;
-     case JSListFormat::Type::DISJUNCTION:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kOr;
--        case JSListFormat::Style::SHORT:
--          return kOrShort;
--        case JSListFormat::Style::NARROW:
--          return kOrNarrow;
--      }
-+      return ULISTFMT_TYPE_OR;
-     case JSListFormat::Type::UNIT:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kUnit;
--        case JSListFormat::Style::SHORT:
--          return kUnitShort;
--        case JSListFormat::Style::NARROW:
--          return kUnitNarrow;
--      }
-+      return ULISTFMT_TYPE_UNITS;
-   }
-   UNREACHABLE();
- }
-@@ -143,7 +124,7 @@
-   icu::Locale icu_locale = r.icu_locale;
-   UErrorCode status = U_ZERO_ERROR;
-   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
--      icu_locale, GetIcuStyleString(style_enum, type_enum), status);
-+      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
-   if (U_FAILURE(status) || formatter == nullptr) {
-     delete formatter;
-     THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError),

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch
deleted file mode 100644
index 88e7b893e30..00000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210421-qtbug-91773.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
-index 5597c69f9..2cd48907b 100644
---- a/src/core/web_contents_adapter.cpp
-+++ b/src/core/web_contents_adapter.cpp
-@@ -716,8 +716,7 @@ void WebContentsAdapter::load(const QWebEngineHttpRequest &request)
-             m_adapterClient->loadFinished(false, request.url(), false,
-                                           net::ERR_DISALLOWED_URL_SCHEME,
-                                           QCoreApplication::translate("WebContentsAdapter",
--                                          "HTTP-POST data can only be sent over HTTP(S) protocol"),
--                                          false);
-+                                          "HTTP-POST data can only be sent over HTTP(S) protocol"));
-             return;
-         }
-         params.post_data = network::ResourceRequestBody::CreateFromBytes(
-@@ -773,7 +772,7 @@ void WebContentsAdapter::setContent(const QByteArray &data, const QString &mimeT
- 
-     GURL dataUrlToLoad(urlString);
-     if (dataUrlToLoad.spec().size() > url::kMaxURLChars) {
--        m_adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED, QString(), false);
-+        m_adapterClient->loadFinished(false, baseUrl, false, net::ERR_ABORTED, QString());
-         return;
-     }
-     content::NavigationController::LoadURLParams params((dataUrlToLoad));
-@@ -1995,6 +1994,7 @@ void WebContentsAdapter::discard()
-     if (m_webContents->IsLoading()) {
-         m_webContentsDelegate->didFailLoad(m_webContentsDelegate->url(webContents()), net::Error::ERR_ABORTED,
-                                            QStringLiteral("Discarded"));
-+        m_webContentsDelegate->DidStopLoading();
-     }
- 
-     content::WebContents::CreateParams createParams(m_profileAdapter->profile());
-diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h
-index 267266d81..afc43806a 100644
---- a/src/core/web_contents_adapter_client.h
-+++ b/src/core/web_contents_adapter_client.h
-@@ -466,8 +466,7 @@ public:
-     virtual void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) = 0;
-     virtual void loadCommitted() = 0;
-     virtual void loadVisuallyCommitted() = 0;
--    virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
--                              const QString &errorDescription, bool triggersErrorPage) = 0;
-+    virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) = 0;
-     virtual void focusContainer() = 0;
-     virtual void unhandledKeyEvent(QKeyEvent *event) = 0;
-     virtual QSharedPointer<WebContentsAdapter>
-diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
-index 1e92a46f8..f0e4130e8 100644
---- a/src/core/web_contents_delegate_qt.cpp
-+++ b/src/core/web_contents_delegate_qt.cpp
-@@ -259,14 +259,12 @@ void WebContentsDelegateQt::CloseContents(content::WebContents *source)
- 
- void WebContentsDelegateQt::LoadProgressChanged(double progress)
- {
--    QUrl current_url(m_viewClient->webContentsAdapter()->getNavigationEntryOriginalUrl(m_viewClient->webContentsAdapter()->currentNavigationEntryIndex()));
--    int p = qMin(qRound(progress * 100), 100);
--
--    if (!m_loadingErrorFrameList.isEmpty() || !m_loadProgressMap.contains(current_url) || m_loadProgressMap[current_url] == 100 || p ==  100)
-+    if (!m_loadingErrorFrameList.isEmpty() || !m_loadingInfo.isLoading()) // suppress signals that aren't between loadStarted and loadFinished
-         return;
- 
--    if (p > m_loadProgressMap[current_url]) { // ensure strict monotonic increase
--        m_loadProgressMap[current_url] = p;
-+    int p = qMin(qRound(progress * 100), 100);
-+    if (p > m_loadingInfo.progress) { // ensure strict monotonic increase
-+        m_loadingInfo.progress = p;
-         m_viewClient->loadProgressChanged(p);
-     }
- }
-@@ -339,35 +337,21 @@ void WebContentsDelegateQt::RenderViewHostChanged(content::RenderViewHost *, con
-     }
- }
- 
--void WebContentsDelegateQt::EmitLoadStarted(const QUrl &url, bool isErrorPage)
-+void WebContentsDelegateQt::emitLoadStarted(bool isErrorPage)
- {
--    m_isDocumentEmpty = true;
--    m_viewClient->loadStarted(url, isErrorPage);
--    m_viewClient->updateNavigationActions();
--
--    if ((url.hasFragment() || m_lastLoadedUrl.hasFragment())
--        && url.adjusted(QUrl::RemoveFragment) == m_lastLoadedUrl.adjusted(QUrl::RemoveFragment)
--        && !m_isNavigationCommitted) {
--        m_loadProgressMap.insert(url, 100);
--        m_lastLoadedUrl = url;
--        m_viewClient->loadProgressChanged(100);
-+    // only report first ever load start or separate one for error page only
-+    if (!isErrorPage && m_loadingInfo.isLoading()) // already running
-         return;
--    }
- 
--    if (!m_loadProgressMap.isEmpty()) {
--        QMap<QUrl, int>::iterator it = m_loadProgressMap.begin();
--        while (it != m_loadProgressMap.end()) {
--            if (it.value() == 100) {
--                it = m_loadProgressMap.erase(it);
--                continue;
--            }
--            ++it;
--        }
-+    m_isDocumentEmpty = true; // reset to default which may only be overridden on actual resource load complete
-+    if (!isErrorPage) {
-+        m_loadingInfo.progress = 0;
-+        m_viewClient->loadStarted(m_loadingInfo.url, false);
-+        m_viewClient->updateNavigationActions();
-+        m_viewClient->loadProgressChanged(0);
-+    } else {
-+        m_viewClient->loadStarted(toQt(GURL(content::kUnreachableWebDataURL)), true);
-     }
--
--    m_lastLoadedUrl = url;
--    m_loadProgressMap.insert(url, 0);
--    m_viewClient->loadProgressChanged(0);
- }
- 
- void WebContentsDelegateQt::DidStartNavigation(content::NavigationHandle *navigation_handle)
-@@ -375,34 +359,41 @@ void WebContentsDelegateQt::DidStartNavigation(content::NavigationHandle *naviga
-     if (!webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled))
-         navigation_handle->SetSilentlyIgnoreErrors();
- 
--    if (!navigation_handle->IsInMainFrame())
-+    if (!navigation_handle->IsInMainFrame() || !web_contents()->IsLoadingToDifferentDocument())
-         return;
- 
- 
-     m_loadingErrorFrameList.clear();
-     m_faviconManager->resetCandidates();
--    EmitLoadStarted(toQt(navigation_handle->GetURL()));
-+
-+    m_loadingInfo.url = toQt(navigation_handle->GetURL());
-+    // IsErrorPage is only set after navigation commit, so check it otherwise: error page shouldn't have navigation entry
-+    bool isErrorPage = m_loadingInfo.triggersErrorPage && !navigation_handle->GetNavigationEntry();
-+    emitLoadStarted(isErrorPage);
- }
- 
--void WebContentsDelegateQt::EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription, bool triggersErrorPage)
-+void WebContentsDelegateQt::emitLoadFinished(bool isErrorPage)
- {
--    Q_ASSERT(!isErrorPage || webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled));
--    Q_ASSERT((triggersErrorPage && webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) || !triggersErrorPage);
--
--    // When error page enabled we don't need to send the error page load finished signal
--    if (m_loadProgressMap[url] == 100)
-+    if (!m_loadingInfo.isLoading()) // not currently running
-         return;
- 
--    m_lastLoadedUrl = url;
--    m_loadProgressMap[url] = 100;
--    m_isNavigationCommitted = false;
--    m_viewClient->loadProgressChanged(100);
-+    Q_ASSERT(!isErrorPage || webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled));
-+    Q_ASSERT((m_loadingInfo.triggersErrorPage && webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled)) || !m_loadingInfo.triggersErrorPage);
-+
-+    if (!isErrorPage) {
-+        if (m_loadingInfo.progress < 100) {
-+            m_loadingInfo.progress = 100;
-+            m_viewClient->loadProgressChanged(100);
-+        }
- 
--    m_viewClient->loadFinished(success, url, isErrorPage, errorCode, errorDescription, triggersErrorPage);
--    m_viewClient->updateNavigationActions();
-+        m_viewClient->loadFinished(m_loadingInfo.success, m_loadingInfo.url, false, m_loadingInfo.errorCode, m_loadingInfo.errorDescription);
-+        m_viewClient->updateNavigationActions();
-+    } else {
-+        m_viewClient->loadFinished(false, toQt(GURL(content::kUnreachableWebDataURL)), true, 0, QString());
-+    }
- }
- 
--void WebContentsDelegateQt::EmitLoadCommitted()
-+void WebContentsDelegateQt::emitLoadCommitted()
- {
-     m_findTextHelper->handleLoadCommitted();
-     m_viewClient->loadCommitted();
-@@ -422,8 +413,7 @@ void WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *navig
-                 profileAdapter->visitedLinksManager()->addUrl(url);
-         }
- 
--        m_isNavigationCommitted = true;
--        EmitLoadCommitted();
-+        emitLoadCommitted();
-     }
- 
-     // Success is reported by DidFinishLoad, but DidFailLoad is now dead code and needs to be handled below
-@@ -440,11 +430,11 @@ void WebContentsDelegateQt::DidFinishNavigation(content::NavigationHandle *navig
-         // Now report we are starting to load an error-page.
-         m_loadingErrorFrameList.append(navigation_handle->GetRenderFrameHost()->GetRoutingID());
-         m_faviconManager->resetCandidates();
--        EmitLoadStarted(toQt(GURL(content::kUnreachableWebDataURL)), true);
-+        emitLoadStarted(true);
- 
-         // If it is already committed we will not see another DidFinishNavigation call or a DidFinishLoad call.
-         if (navigation_handle->HasCommitted())
--            EmitLoadCommitted();
-+            emitLoadCommitted();
-     }
- }
- 
-@@ -486,6 +476,9 @@ void WebContentsDelegateQt::DidStopLoading()
- 
-     if (m_loadingState == LoadingState::Loading)
-         setLoadingState(LoadingState::Loaded);
-+
-+    emitLoadFinished();
-+    m_loadingInfo.clear();
- }
- 
- void WebContentsDelegateQt::didFailLoad(const QUrl &url, int errorCode, const QString &errorDescription)
-@@ -495,7 +488,11 @@ void WebContentsDelegateQt::didFailLoad(const QUrl &url, int errorCode, const QS
-     // Delay notifying failure until the error-page is done loading.
-     // Error-pages are not loaded on failures due to abort.
-     bool aborted = (errorCode == -3 /* ERR_ABORTED*/ );
--    EmitLoadFinished(false /* success */ , url, false /* isErrorPage */, errorCode, errorDescription, errorPageEnabled && !aborted);
-+    m_loadingInfo.success = false;
-+    m_loadingInfo.url = url;
-+    m_loadingInfo.errorCode = errorCode;
-+    m_loadingInfo.errorDescription = errorDescription;
-+    m_loadingInfo.triggersErrorPage = errorPageEnabled && !aborted;
- }
- 
- void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code)
-@@ -511,8 +508,7 @@ void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_h
-         Q_ASSERT(error_code == -3 /* ERR_ABORTED */);
-         m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID());
-         m_viewClient->iconChanged(QUrl());
--
--        EmitLoadFinished(false /* success */, toQt(validated_url), true /* isErrorPage */);
-+        emitLoadFinished(/* isErrorPage = */true);
-         return;
-     }
-     // Qt6: Consider getting rid of the error_description (Chromium already has)
-@@ -532,7 +528,7 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame
-         // Trigger LoadFinished signal for main frame's error page only.
-         if (!render_frame_host->GetParent()) {
-             m_viewClient->iconChanged(QUrl());
--            EmitLoadFinished(true /* success */, toQt(validated_url), true /* isErrorPage */);
-+            emitLoadFinished(/* isErrorPage = */true);
-         }
- 
-         return;
-@@ -550,7 +546,11 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame
-     int http_statuscode = entry ? entry->GetHttpStatusCode() : 0;
-     bool errorPageEnabled = webEngineSettings()->testAttribute(WebEngineSettings::ErrorPageEnabled);
-     bool triggersErrorPage = errorPageEnabled && (http_statuscode >= 400) && m_isDocumentEmpty;
--    EmitLoadFinished(http_statuscode < 400, toQt(validated_url), false /* isErrorPage */, http_statuscode, QString(), triggersErrorPage);
-+
-+    m_loadingInfo.success = http_statuscode < 400;
-+    m_loadingInfo.url = toQt(validated_url);
-+    m_loadingInfo.errorCode = http_statuscode;
-+    m_loadingInfo.triggersErrorPage = triggersErrorPage;
- }
- 
- void WebContentsDelegateQt::DidUpdateFaviconURL(content::RenderFrameHost *render_frame_host, const std::vector<blink::mojom::FaviconURLPtr> &candidates)
-diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h
-index 5a3dff6e9..7149f6bff 100644
---- a/src/core/web_contents_delegate_qt.h
-+++ b/src/core/web_contents_delegate_qt.h
-@@ -216,9 +216,9 @@ private:
-                  WindowOpenDisposition disposition, const gfx::Rect &initial_pos,
-                  const QUrl &url,
-                  bool user_gesture);
--    void EmitLoadStarted(const QUrl &url, bool isErrorPage = false);
--    void EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString(), bool triggersErrorPage = false);
--    void EmitLoadCommitted();
-+    void emitLoadStarted(bool isErrorPage = false);
-+    void emitLoadFinished(bool isErrorPage = false);
-+    void emitLoadCommitted();
- 
-     LoadingState determineLoadingState(content::WebContents *contents);
-     void setLoadingState(LoadingState state);
-@@ -242,9 +242,17 @@ private:
-     int m_desktopStreamCount = 0;
-     mutable bool m_pendingUrlUpdate = false;
- 
--    QMap<QUrl, int> m_loadProgressMap;
--    QUrl m_lastLoadedUrl;
--    bool m_isNavigationCommitted = false;
-+    struct LoadingInfo {
-+        bool success = false;
-+        int progress = -1;
-+        bool isLoading() const { return progress >= 0; }
-+        QUrl url;
-+        int errorCode = 0;
-+        QString errorDescription;
-+        bool triggersErrorPage = false;
-+        void clear() { *this = LoadingInfo(); }
-+    } m_loadingInfo;
-+
-     bool m_isDocumentEmpty = true;
-     base::WeakPtrFactory<WebContentsDelegateQt> m_weakPtrFactory { this };
- };
-diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
-index 6ab1c97cb..1de7f1c7f 100644
---- a/src/webengine/api/qquickwebengineview.cpp
-+++ b/src/webengine/api/qquickwebengineview.cpp
-@@ -496,11 +496,9 @@ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::NoErrorDomain) == static_cast<i
- Q_STATIC_ASSERT(static_cast<int>(WebEngineError::CertificateErrorDomain) == static_cast<int>(QQuickWebEngineView::CertificateErrorDomain));
- Q_STATIC_ASSERT(static_cast<int>(WebEngineError::DnsErrorDomain) == static_cast<int>(QQuickWebEngineView::DnsErrorDomain));
- 
--void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
--                                              const QString &errorDescription, bool triggersErrorPage)
-+void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription)
- {
-     Q_Q(QQuickWebEngineView);
--    Q_UNUSED(triggersErrorPage);
- 
-     if (isErrorPage) {
- #if QT_CONFIG(webengine_testsupport)
-diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
-index ebe55c345..ec535298b 100644
---- a/src/webengine/api/qquickwebengineview_p_p.h
-+++ b/src/webengine/api/qquickwebengineview_p_p.h
-@@ -116,8 +116,7 @@ public:
-     void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override;
-     void loadCommitted() override;
-     void loadVisuallyCommitted() override;
--    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
--                      const QString &errorDescription, bool triggersErrorPage) override;
-+    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override;
-     void focusContainer() override;
-     void unhandledKeyEvent(QKeyEvent *event) override;
-     QSharedPointer<QtWebEngineCore::WebContentsAdapter>
-diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
-index e08afed44..b32c15039 100644
---- a/src/webenginewidgets/api/qwebenginepage.cpp
-+++ b/src/webenginewidgets/api/qwebenginepage.cpp
-@@ -282,28 +282,20 @@ void QWebEnginePagePrivate::loadStarted(const QUrl &provisionalUrl, bool isError
-     QTimer::singleShot(0, q, &QWebEnginePage::loadStarted);
- }
- 
--void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
--                                         const QString &errorDescription, bool triggersErrorPage)
-+void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription)
- {
-     Q_Q(QWebEnginePage);
-     Q_UNUSED(url);
-     Q_UNUSED(errorCode);
-     Q_UNUSED(errorDescription);
- 
--    if (isErrorPage) {
--        QTimer::singleShot(0, q, [q](){
--            emit q->loadFinished(false);
--        });
-+    if (isErrorPage)
-         return;
--    }
- 
-     isLoading = false;
--    Q_ASSERT((success && !triggersErrorPage) || !success);
--    if (!triggersErrorPage) {
--        QTimer::singleShot(0, q, [q, success](){
--            emit q->loadFinished(success);
--        });
--    }
-+    QTimer::singleShot(0, q, [q, success](){
-+        emit q->loadFinished(success);
-+    });
- }
- 
- void QWebEnginePagePrivate::didPrintPageToPdf(const QString &filePath, bool success)
-diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h
-index 82ce99503..ae3ab5d25 100644
---- a/src/webenginewidgets/api/qwebenginepage_p.h
-+++ b/src/webenginewidgets/api/qwebenginepage_p.h
-@@ -107,8 +107,7 @@ public:
-     void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override;
-     void loadCommitted() override { }
-     void loadVisuallyCommitted() override { }
--    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode,
--                      const QString &errorDescription, bool triggersErrorPage) override;
-+    void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override;
-     void focusContainer() override;
-     void unhandledKeyEvent(QKeyEvent *event) override;
-     QSharedPointer<QtWebEngineCore::WebContentsAdapter>

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild
deleted file mode 100644
index 21f59ef813e..00000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-QTVER=$(ver_cut 1-3)
-inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
-	if [[ ${PV} == ${QTVER}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-# patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	~dev-qt/qtcore-${QTVER}
-	~dev-qt/qtdeclarative-${QTVER}
-	~dev-qt/qtgui-${QTVER}
-	~dev-qt/qtnetwork-${QTVER}
-	~dev-qt/qtprintsupport-${QTVER}
-	~dev-qt/qtwebchannel-${QTVER}[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/mesa[egl,X(+)]
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( ~dev-qt/designer-${QTVER} )
-	geolocation? ( ~dev-qt/qtpositioning-${QTVER} )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-sound/pulseaudio:= )
-	system-ffmpeg? ( media-video/ffmpeg:0= )
-	system-icu? ( >=dev-libs/icu-68.2:= )
-	widgets? (
-		~dev-qt/qtdeclarative-${QTVER}[widgets]
-		~dev-qt/qtwidgets-${QTVER}
-	)
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	ppc64? ( >=dev-util/gn-0.1807 )
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
-	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
-	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
-	"${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989
-	"${FILESDIR}/${PN}-5.15.2_p20210406-gcc11.patch" # by Fedora, bug 768261
-	"${FILESDIR}/${PN}-5.15.2_p20210406-icu69.patch" # bug 781236
-	"${FILESDIR}/${P}-qtbug-91773.patch" # in Qt "5.15.5"
-)
-
-src_unpack() {
-	# bug 307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-		ewarn
-	fi
-	eshopts_pop
-
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	if [[ ${PV} == ${QTVER}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-
-		# We need to make sure this integrates well into Qt 5.15.2 installation.
-		# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-		sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die
-	fi
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 630834 - pass appropriate options to ninja when building GN
-	sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
-		-i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-
-	# we need to generate ppc64 stuff because upstream does not ship it yet
-	if use ppc64; then
-		einfo "Patching for ppc64le and generating build files"
-		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
-		pushd src/3rdparty/chromium > /dev/null || die
-		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
-		popd > /dev/null || die
-		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
-		mkdir -vp source/config/linux/ppc64 || die
-		mkdir -p source/libvpx/test || die
-		touch source/libvpx/test/test.mk || die
-		./generate_gni.sh || die
-		popd >/dev/null || die
-	fi
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(usex alsa '-alsa' '-no-alsa')
-		$(usex bindist '-no-proprietary-codecs' '-proprietary-codecs')
-		$(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation')
-		$(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos')
-		$(usex pulseaudio '-pulseaudio' '-no-pulseaudio')
-		$(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg')
-		$(usex system-icu '-webengine-icu' '-no-webengine-icu')
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-09-14 16:27 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-09-14 16:27 UTC (permalink / raw
  To: gentoo-commits

commit:     b56861f5b733a3ebced1ad5bf58e0299c31b25a0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 14 16:25:57 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 14 16:26:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b56861f5

dev-qt/qtwebengine: Fix build with GLIBC-2.34

Thanks-to: Nik <nik_cro <AT> abv.bg>
Closes: https://bugs.gentoo.org/811312
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...ne-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch | 72 ++++++++++++++++++++++
 ...gine-5.15.2_p20210824-breakpad-glibc-2.34.patch | 72 ++++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210824.ebuild            |  2 +
 3 files changed, 146 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch
new file mode 100644
index 00000000000..dfaa634bdb1
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch
@@ -0,0 +1,72 @@
+From 78b1bcff4d9b977313e9ea15068168e1b11f5ba1 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 4 Aug 2021 19:08:03 +0200
+Subject: [PATCH] chromium: abseil-cpp: fix build with glibc-2.34
+
+* backport a fix from upstream abseil-cpp:
+  https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9
+
+  to fix:
+
+[97/24505] CXX obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o
+FAILED: obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o
+/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DABSL_ALLOCATOR_NOTHROW=1 -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-prote
 ctor -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -o obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o
+../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc: In function 'bool absl::SetupAlternateStackOnce()':
+../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to 'max(long int, int)'
+  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61,
+                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
+  254 |     max(const _Tp& __a, const _Tp& __b)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
+  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61,
+                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
+  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
+  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
+                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
+ 3461 |     max(initializer_list<_Tp> __l)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
+  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
+                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
+ 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
+  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ .../abseil-cpp/absl/debugging/failure_signal_handler.cc         | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
+index 5d13bdbbbd1..150a43f2660 100644
+--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
+@@ -135,7 +135,7 @@ static bool SetupAlternateStackOnce() {
+ #else
+   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
+ #endif
+-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
++  size_t stack_size = (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+ #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
+     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
+   // Account for sanitizer instrumentation requiring additional stack space.

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch
new file mode 100644
index 00000000000..b91c239ac2b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch
@@ -0,0 +1,72 @@
+From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 4 Aug 2021 19:11:06 +0200
+Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34
+
+* fixes:
+[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o
+FAILED: obj/third_party/breakpad/client/exception_handler.o
+/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/
 src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad
 /src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o
+../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()':
+../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)'
+  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
+      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39,
+                 from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40,
+                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38,
+                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
+  254 |     max(const _Tp& __a, const _Tp& __b)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
+  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
+      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39,
+                 from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40,
+                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38,
+                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
+  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
+  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
+      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
+                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
+ 3461 |     max(initializer_list<_Tp> __l)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
+  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
+      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
+                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85:
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
+ 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
+      |     ^~~
+../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
+  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
+      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ .../breakpad/src/client/linux/handler/exception_handler.cc      | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+index ca353c40997..2e43ba6fc04 100644
+--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
+   // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
+   // the alternative stack. Ensure that the size of the alternative stack is
+   // large enough.
+-  static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
++  static const unsigned kSigStackSize = std::max<size_t>(16384, SIGSTKSZ);
+ 
+   // Only set an alternative stack if there isn't already one, or if the current
+   // one is too small.

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824.ebuild
index a8e5942a0be..8bb770ed5db 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824.ebuild
@@ -104,6 +104,8 @@ PATCHES=(
 	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
 	"${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989
 	"${FILESDIR}/${PN}-5.15.2_p20210521-gcc11.patch" # by Fedora, bug 768261
+	"${FILESDIR}/${PN}-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch" # bug 811312
+	"${FILESDIR}/${PN}-5.15.2_p20210824-breakpad-glibc-2.34.patch" # bug 811312
 )
 
 pkg_preinst() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-09-19 13:42 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-09-19 13:42 UTC (permalink / raw
  To: gentoo-commits

commit:     fd6fb46a681e8d3a3628fb13c92d459a022e1acd
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 19 13:35:18 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 19 13:41:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd6fb46a

dev-qt/qtwebengine: Drop vulnerable 5.15.2_p20210625

Bug: https://bugs.gentoo.org/810781
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 -
 ...qtwebengine-5.15.0-disable-fatal-warnings.patch |  10 -
 .../qtwebengine-5.15.2_p20210625.ebuild            | 224 ---------------------
 3 files changed, 235 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index c4c1b9d408f..b4883d999d5 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,3 +1,2 @@
 DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654
-DIST qtwebengine-5.15.2_p20210625.tar.xz 320144708 BLAKE2B cd11e69a34ff0fa07d26262906a12304c39a12575024d61db18bc696284e9c5700090e5bfed217c89d2c8eac49b0ccb7d7ee0ba716ec3a81878de1301566884d SHA512 517a8cdaff684894456db8cfb5cfca412b8764e7035623d8190d9a06f6995742097a53eb67329d12bf8dc0a56372f7d09a54532ba804a5bff245ca8ef042a4e1
 DIST qtwebengine-5.15.2_p20210824.tar.xz 320214264 BLAKE2B fe611805107822f495e0921de4fc9a8737bd3238a332e03d27421a3fd14dc1417c1d69e9ec5e9f6bf922f98045cbdf9ee2c76621db988c8b1e6e0e90b2c6dc7e SHA512 3a5f9ef45ba488aee601e092d1c4a5f707a854d5b9f0a5e62cb88dcdf280163182abc98b0a55b28591e81e18b5147142d404dcdc92feb61414ce2d4ce0d2dca6

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.0-disable-fatal-warnings.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.0-disable-fatal-warnings.patch
deleted file mode 100644
index af602855b12..00000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.0-disable-fatal-warnings.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/buildtools/config/common.pri	2020-02-28 22:21:09.341072620 +0200
-+++ b/src/buildtools/config/common.pri	2020-02-28 22:20:26.702399180 +0200
-@@ -25,6 +25,7 @@
-     strip_absolute_paths_from_debug_symbols=false \
-     toolkit_views=false \
-     treat_warnings_as_errors=false \
-+    fatal_linker_warnings=false \
-     use_allocator_shim=false \
-     use_allocator=\"none\" \
-     use_custom_libcxx=false \

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210625.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210625.ebuild
deleted file mode 100644
index 3b18dfa1b72..00000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210625.ebuild
+++ /dev/null
@@ -1,224 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-QTVER=$(ver_cut 1-3)
-inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
-	if [[ ${PV} == ${QTVER}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-# patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	~dev-qt/qtcore-${QTVER}
-	~dev-qt/qtdeclarative-${QTVER}
-	~dev-qt/qtgui-${QTVER}
-	~dev-qt/qtnetwork-${QTVER}
-	~dev-qt/qtprintsupport-${QTVER}
-	~dev-qt/qtwebchannel-${QTVER}[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/mesa[egl,X(+)]
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( ~dev-qt/designer-${QTVER} )
-	geolocation? ( ~dev-qt/qtpositioning-${QTVER} )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-sound/pulseaudio:= )
-	system-ffmpeg? ( media-video/ffmpeg:0= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		~dev-qt/qtdeclarative-${QTVER}[widgets]
-		~dev-qt/qtwidgets-${QTVER}
-	)
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-	ppc64? ( >=dev-util/gn-0.1807 )
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446
-	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
-	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
-	"${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989
-	"${FILESDIR}/${PN}-5.15.2_p20210521-gcc11.patch" # by Fedora, bug 768261
-)
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
-	elog "additional security fixes from newer versions. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}
-
-src_unpack() {
-	# bug 307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-		ewarn
-	fi
-	eshopts_pop
-
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	if [[ ${PV} == ${QTVER}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-
-		# We need to make sure this integrates well into Qt 5.15.2 installation.
-		# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-		sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die
-	fi
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-
-	# we need to generate ppc64 stuff because upstream does not ship it yet
-	if use ppc64; then
-		einfo "Patching for ppc64le and generating build files"
-		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
-		pushd src/3rdparty/chromium > /dev/null || die
-		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
-		popd > /dev/null || die
-		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
-		mkdir -vp source/config/linux/ppc64 || die
-		mkdir -p source/libvpx/test || die
-		touch source/libvpx/test/test.mk || die
-		./generate_gni.sh || die
-		popd >/dev/null || die
-	fi
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(usex alsa '-alsa' '-no-alsa')
-		$(usex bindist '-no-proprietary-codecs' '-proprietary-codecs')
-		$(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation')
-		$(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos')
-		$(usex pulseaudio '-pulseaudio' '-no-pulseaudio')
-		$(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg')
-		$(usex system-icu '-webengine-icu' '-no-webengine-icu')
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-10-09 22:24 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2021-10-09 22:24 UTC (permalink / raw
  To: gentoo-commits

commit:     bfaec25596caf88fd3229effc4fd61a2f2d28b7e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  9 22:23:54 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct  9 22:24:34 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfaec255

dev-qt/qtwebengine: add Fedora patch for >= harfbuzz 3

I'd like to add the patches Google used for Chromium
but we know this one works and I'd like the tree to be in a
working state. Can swap patches later.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...webengine-5.15.2_p20210824-harfbuzz-3.0.0.patch | 32 ++++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210824-r1.ebuild         |  7 +++++
 2 files changed, 39 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch
new file mode 100644
index 00000000000..61e56d5ae4f
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch
@@ -0,0 +1,32 @@
+https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/rawhide/f/qtwebengine-harfbuzz.patch
+--- a/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
++++ b/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
+@@ -71,9 +71,9 @@ sk_sp<SkData> SubsetFont(SkTypeface* typeface, const GlyphUsage& usage) {
+   hb_set_t* glyphs =
+       hb_subset_input_glyph_set(input.get());  // Owned by |input|.
+   usage.ForEach(base::BindRepeating(&AddGlyphs, base::Unretained(glyphs)));
+-  hb_subset_input_set_retain_gids(input.get(), true);
++  hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS);
+ 
+-  HbScoped<hb_face_t> subset_face(hb_subset(face.get(), input.get()));
++  HbScoped<hb_face_t> subset_face(hb_subset_or_fail(face.get(), input.get()));
+   HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get()));
+   if (!subset_blob)
+     return nullptr;
+--- a/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
+@@ -71,11 +71,10 @@ static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData,
+     hb_set_t* glyphs = hb_subset_input_glyph_set(input.get());
+     glyphUsage.getSetValues([&glyphs](unsigned gid) { hb_set_add(glyphs, gid);});
+ 
+-    hb_subset_input_set_retain_gids(input.get(), true);
+     // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY.
+     // If it isn't known if a font is 'tricky', retain the hints.
+-    hb_subset_input_set_drop_hints(input.get(), false);
+-    HBFace subset(hb_subset(face.get(), input.get()));
++    hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS | HB_SUBSET_FLAGS_NO_HINTING);
++    HBFace subset(hb_subset_or_fail(face.get(), input.get()));
+     HBBlob result(hb_face_reference_blob(subset.get()));
+     return to_data(std::move(result));
+ }
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
index e3f9df28c79..b06e54bda94 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
@@ -169,6 +169,13 @@ src_prepare() {
 		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
 	fi
 
+	if has_version ">=media-libs/harfbuzz-3.0.0-r1"; then
+		# We can get away with conditionally applying this with has_version
+		# because we have a := dep on harfbuzz and the subslot changed
+		# at 3.0.0.
+		eapply "${FILESDIR}/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch"
+	fi
+
 	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
 	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
 


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-10-31  3:06 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2021-10-31  3:06 UTC (permalink / raw
  To: gentoo-commits

commit:     0ac16a4b3ac91f93754f4a0d803761904a2b6dc4
Author:     James Beddek <telans <AT> posteo <DOT> de>
AuthorDate: Sat Jun 19 22:32:36 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 31 03:06:04 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ac16a4b

dev-qt/qtwebengine: fix build with sys-devel/clang[default-libcxx]

Signed-off-by: James Beddek <telans <AT> posteo.de>
Closes: https://github.com/gentoo/gentoo/pull/21337
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/qtwebengine-5.15.2_p20210521-clang-libc++.patch      | 10 ++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild      |  5 +++++
 2 files changed, 15 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch
new file mode 100644
index 00000000000..fdcc787971c
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch
@@ -0,0 +1,10 @@
+--- a/src/buildtools/gn.pro
++++ b/src/buildtools/gn.pro
+@@ -25,6 +25,7 @@
+             msvc:!clang_cl: gn_gen_args += --use-lto
+
+             gn_configure = $$system_quote($$gn_bootstrap) $$gn_gen_args
++            gn_configure += --no-static-libstdc++
+             macos {
+                 gn_configure += --isysroot \"$$QMAKE_MAC_SDK_PATH\"
+             }

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
index b06e54bda94..e920abe31ae 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
@@ -176,6 +176,11 @@ src_prepare() {
 		eapply "${FILESDIR}/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch"
 	fi
 
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang && has_version 'sys-devel/clang[default-libcxx]'; then
+		eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+	fi
+
 	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
 	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
 


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-11-14 19:53 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-11-14 19:53 UTC (permalink / raw
  To: gentoo-commits

commit:     476a64a83f7929a4d83fe02e0f10c39557440eea
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 14 19:40:43 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Nov 14 19:53:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=476a64a8

dev-qt/qtwebengine: Cleanup vulnerable 5.15.2_p20210824-r1

Bug: https://bugs.gentoo.org/815397
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   2 -
 .../qtwebengine-5.15.2_p20210406-glibc-2.33.patch  | 141 ------------
 ...qtwebengine-5.15.2_p20210521-clang-libc++.patch |  10 -
 .../files/qtwebengine-5.15.2_p20210521-gcc11.patch |  74 -------
 ...webengine-5.15.2_p20210824-harfbuzz-3.0.0.patch |  32 ---
 .../qtwebengine-5.15.2_p20210824-r1.ebuild         | 237 ---------------------
 6 files changed, 496 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 5118d883b8b9..6b5014232157 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,5 +1,3 @@
-DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
-DIST qtwebengine-5.15.2_p20210824.tar.xz 320214264 BLAKE2B fe611805107822f495e0921de4fc9a8737bd3238a332e03d27421a3fd14dc1417c1d69e9ec5e9f6bf922f98045cbdf9ee2c76621db988c8b1e6e0e90b2c6dc7e SHA512 3a5f9ef45ba488aee601e092d1c4a5f707a854d5b9f0a5e62cb88dcdf280163182abc98b0a55b28591e81e18b5147142d404dcdc92feb61414ce2d4ce0d2dca6
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
 DIST qtwebengine-5.15.2_p20211019.tar.xz 320325744 BLAKE2B fac2f2a44e0f443a2642c0a0b3888ff15d047ce5b2de6673213db308e60f3e26b12adf98ad1dcf305630f0bc55abff078942711fbd10d05dc5a4095faadead25 SHA512 4abd2ca416228bbafa31aad9deae1466748930c02bcc08b559bbbb21fda598f720137e2af0cfa176dd534c8da97934d76e59b72c124b73564378fda0deaddaee

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-glibc-2.33.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-glibc-2.33.patch
deleted file mode 100644
index cb90428e8d49..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210406-glibc-2.33.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-diff -up b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-@@ -257,6 +257,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
-     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 -up b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
-+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
-@@ -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 <string.h>
-@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct
-   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);
- }
-@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
-   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 -up b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
---- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
-+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
-@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail
- // sched_setparam(), sched_setscheduler()
- SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const 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 Crash
- 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 -up b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
---- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
-+++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
-@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
- 
- #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 -up b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
---- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
-+++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
-@@ -17,6 +17,7 @@ struct sock_fprog;
- struct rlimit64;
- struct cap_hdr;
- struct cap_data;
-+struct stat64;
- 
- namespace sandbox {
- 
-@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
-                                  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_

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch
deleted file mode 100644
index fdcc787971ca..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/buildtools/gn.pro
-+++ b/src/buildtools/gn.pro
-@@ -25,6 +25,7 @@
-             msvc:!clang_cl: gn_gen_args += --use-lto
-
-             gn_configure = $$system_quote($$gn_bootstrap) $$gn_gen_args
-+            gn_configure += --no-static-libstdc++
-             macos {
-                 gn_configure += --isysroot \"$$QMAKE_MAC_SDK_PATH\"
-             }

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-gcc11.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-gcc11.patch
deleted file mode 100644
index 0014ec135441..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-gcc11.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
-index 013f1dfb2..3ce63c192 100644
---- a/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
-+++ b/src/3rdparty/chromium/third_party/angle/src/libANGLE/HandleAllocator.cpp
-@@ -9,6 +9,7 @@
- 
- #include "libANGLE/HandleAllocator.h"
- 
-+#include <limits>
- #include <algorithm>
- #include <functional>
- 
-diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-index be91def6b..73f202356 100644
---- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-+++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
-@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) {
- }
- 
- GType ax_platform_atk_hyperlink_get_type() {
--  static volatile gsize type_volatile = 0;
-+  static gsize type_volatile = 0;
- 
-   AXPlatformNodeAuraLinux::EnsureGTypeInit();
- 
-diff --git a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
-index 04125c6fd..6c64e5d8e 100644
---- a/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
-+++ b/src/3rdparty/chromium/ui/accessibility/platform/ax_platform_node_auralinux.cc
-@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) {
- GType GetType() {
-   AXPlatformNodeAuraLinux::EnsureGTypeInit();
- 
--  static volatile gsize type_volatile = 0;
-+  static gsize type_volatile = 0;
-   if (g_once_init_enter(&type_volatile)) {
-     static const GTypeInfo type_info = {
-         sizeof(AXPlatformNodeAuraLinuxClass),  // class_size
-diff --git a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
-index c663a2074..38a342484 100644
---- a/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
-+++ b/src/3rdparty/chromium/ui/gtk/gtk_key_bindings_handler.cc
-@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) {
- }
- 
- GType GtkKeyBindingsHandler::HandlerGetType() {
--  static volatile gsize type_id_volatile = 0;
-+  static gsize type_id_volatile = 0;
-   if (g_once_init_enter(&type_id_volatile)) {
-     GType type_id = g_type_register_static_simple(
-         GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"),
---- a/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-+++ b/src/3rdparty/chromium/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
-@@ -2,6 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#include <cstddef>
- #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h"
- 
- #include <stdint.h>
-diff --git a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
-index 657a3c96b..ad641a082 100644
---- a/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
-+++ b/src/3rdparty/chromium/components/bookmarks/browser/base_bookmark_model_observer.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#include <cstddef>
-+
- #include "components/bookmarks/browser/base_bookmark_model_observer.h"
- 
- namespace bookmarks {

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch
deleted file mode 100644
index 61e56d5ae4f5..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/rawhide/f/qtwebengine-harfbuzz.patch
---- a/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
-+++ b/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
-@@ -71,9 +71,9 @@ sk_sp<SkData> SubsetFont(SkTypeface* typeface, const GlyphUsage& usage) {
-   hb_set_t* glyphs =
-       hb_subset_input_glyph_set(input.get());  // Owned by |input|.
-   usage.ForEach(base::BindRepeating(&AddGlyphs, base::Unretained(glyphs)));
--  hb_subset_input_set_retain_gids(input.get(), true);
-+  hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS);
- 
--  HbScoped<hb_face_t> subset_face(hb_subset(face.get(), input.get()));
-+  HbScoped<hb_face_t> subset_face(hb_subset_or_fail(face.get(), input.get()));
-   HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get()));
-   if (!subset_blob)
-     return nullptr;
---- a/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
-+++ b/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
-@@ -71,11 +71,10 @@ static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData,
-     hb_set_t* glyphs = hb_subset_input_glyph_set(input.get());
-     glyphUsage.getSetValues([&glyphs](unsigned gid) { hb_set_add(glyphs, gid);});
- 
--    hb_subset_input_set_retain_gids(input.get(), true);
-     // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY.
-     // If it isn't known if a font is 'tricky', retain the hints.
--    hb_subset_input_set_drop_hints(input.get(), false);
--    HBFace subset(hb_subset(face.get(), input.get()));
-+    hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS | HB_SUBSET_FLAGS_NO_HINTING);
-+    HBFace subset(hb_subset_or_fail(face.get(), input.get()));
-     HBBlob result(hb_face_reference_blob(subset.get()));
-     return to_data(std::move(result));
- }
-

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
deleted file mode 100644
index e920abe31ae8..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
+++ /dev/null
@@ -1,237 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python2_7 )
-inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-# patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtcore-${QT5_PV}*
-	=dev-qt/qtdeclarative-${QT5_PV}*
-	=dev-qt/qtgui-${QT5_PV}*
-	=dev-qt/qtnetwork-${QT5_PV}*
-	=dev-qt/qtprintsupport-${QT5_PV}*
-	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/mesa[egl,X(+)]
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( =dev-qt/designer-${QT5_PV}* )
-	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-sound/pulseaudio:= )
-	system-ffmpeg? ( media-video/ffmpeg:0= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
-		=dev-qt/qtwidgets-${QT5_PV}*
-	)
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-	ppc64? ( >=dev-util/gn-0.1807 )
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
-	"${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
-	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
-	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
-	"${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989
-	"${FILESDIR}/${PN}-5.15.2_p20210521-gcc11.patch" # by Fedora, bug 768261
-	"${FILESDIR}/${PN}-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch" # bug 811312
-	"${FILESDIR}/${PN}-5.15.2_p20210824-breakpad-glibc-2.34.patch" # bug 811312
-)
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
-	elog "additional security fixes from newer versions. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}
-
-src_unpack() {
-	# bug 307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-		ewarn
-	fi
-	eshopts_pop
-
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-	fi
-	# We need to make sure this integrates well into Qt 5.15.2 installation.
-	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-	sed -e "/^MODULE_VERSION/s/5\.15\.[3456789]/${QT5_PV}/" -i .qmake.conf || die
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	if has_version ">=media-libs/harfbuzz-3.0.0-r1"; then
-		# We can get away with conditionally applying this with has_version
-		# because we have a := dep on harfbuzz and the subslot changed
-		# at 3.0.0.
-		eapply "${FILESDIR}/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch"
-	fi
-
-	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
-	if tc-is-clang && has_version 'sys-devel/clang[default-libcxx]'; then
-		eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-
-	# we need to generate ppc64 stuff because upstream does not ship it yet
-	if use ppc64; then
-		einfo "Patching for ppc64le and generating build files"
-		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
-		pushd src/3rdparty/chromium > /dev/null || die
-		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
-		popd > /dev/null || die
-		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
-		mkdir -vp source/config/linux/ppc64 || die
-		mkdir -p source/libvpx/test || die
-		touch source/libvpx/test/test.mk || die
-		./generate_gni.sh || die
-		popd >/dev/null || die
-	fi
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(qt_use alsa)
-		$(qt_use !bindist proprietary-codecs)
-		$(qt_use geolocation webengine-geolocation)
-		$(qt_use kerberos webengine-kerberos)
-		$(qt_use pulseaudio)
-		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
-		$(qt_use system-icu webengine-icu)
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-12-14 18:13 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-12-14 18:13 UTC (permalink / raw
  To: gentoo-commits

commit:     3b363104490499e964301ec743e7e6d825255063
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 14 18:10:13 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 14 18:12:51 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b363104

dev-qt/qtwebengine: 5.15.2_p20211210 snapshot bump

Patched with security patches up to Chromium version: 96.0.4664.93

Snapshotted at:
Branch: 5.15.8
Commit: 6369c52cebd276f03856dd333af727fd8427ac63

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: 2918e073086af29bd3e4176cd2403dffa789fdc0

Bug: https://bugs.gentoo.org/828099
Bug: https://bugs.gentoo.org/829161
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...ngine-5.15.2_p20211210-sandbox-glibc-2.34.patch |  27 +++
 .../qtwebengine-5.15.2_p20211210.ebuild            | 228 +++++++++++++++++++++
 3 files changed, 256 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index f4ced6dc187c..442937aef415 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,3 +2,4 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
 DIST qtwebengine-5.15.2_p20211019.tar.xz 320325744 BLAKE2B fac2f2a44e0f443a2642c0a0b3888ff15d047ce5b2de6673213db308e60f3e26b12adf98ad1dcf305630f0bc55abff078942711fbd10d05dc5a4095faadead25 SHA512 4abd2ca416228bbafa31aad9deae1466748930c02bcc08b559bbbb21fda598f720137e2af0cfa176dd534c8da97934d76e59b72c124b73564378fda0deaddaee
 DIST qtwebengine-5.15.2_p20211207.tar.xz 318947940 BLAKE2B a60091af26f7012ce5d770f1ad8e5b4ee62b09a9ebdb96d497bca95c373c025eb1adfc00a7e11ed758b33948b757176b914a12b6b3f6a82574fbb0950130743d SHA512 af8af67458a4d99a20f49fb55dceaa2adb6b5c7ad6eaa2a15b30adb6643dc443ea5b9658b28925597d37e57c8a23d3903c0cf2532df94de30f7bef29f78c67ef
+DIST qtwebengine-5.15.2_p20211210.tar.xz 318959420 BLAKE2B 84296cb89af428018485860cff026b374ae876038ce7eb75edb8dca7416ef8c541ad50b942dec1c7fbf59010f22a2b70452b29e35b2237054e08332f92a2d016 SHA512 d7afeed45db0a4bc7bcbc74837b1b32953114fc0afb62aeb969ef7361792313179f428d7ff43a14140b222d02c18f5118022037b1a9f9cd8852a93a4f34f545e

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch
new file mode 100644
index 000000000000..aac512a368d7
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20211210-sandbox-glibc-2.34.patch
@@ -0,0 +1,27 @@
+Patch taken from www-client/chromium:
+https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-glibc-2.34.patch
+
+Dropped parts already upstream.
+
+diff --git a/src/3rdparty/chromium/sandbox/linux/services/credentials.cc b/src/3rdparty/chromium/sandbox/linux/services/credentials.cc
+index ca6b595..1c1ee42 100644
+--- a/src/3rdparty/chromium/sandbox/linux/services/credentials.cc
++++ b/src/3rdparty/chromium/sandbox/linux/services/credentials.cc
+@@ -11,6 +11,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() {
+   // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
+   clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
+ 
+-  char tls_buf[PTHREAD_STACK_MIN] = {0};
++  char tls_buf[PTHREAD_STACK_MIN];
++  memset(tls_buf, 0, PTHREAD_STACK_MIN);
+   tls = tls_buf;
+ #endif
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild
new file mode 100644
index 000000000000..0db381b9e6e0
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211210.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml(+)"
+inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
+	"${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
+	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
+	"${FILESDIR}/${PN}-5.15.2_p20211210-sandbox-glibc-2.34.patch" # bug 828099, systemwide-clang?
+	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+)
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
+	elog "additional security fixes from newer versions. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+	# bug 307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+		ewarn
+	fi
+	eshopts_pop
+
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.2 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -e "/^MODULE_VERSION/s/5\.15\.[3456789]/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
+		$(qt_use system-icu webengine-icu)
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-12-25  0:10 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-12-25  0:10 UTC (permalink / raw
  To: gentoo-commits

commit:     24cfbf9a44c750b6b1f47d56981c4df58c581911
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 25 00:07:21 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 25 00:10:29 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24cfbf9a

dev-qt/qtwebengine: 5.15.2_p20211216 snapshot bump

Patched with security patches up to Chromium version: 96.0.4664.110

Snapshotted at:
Branch: 5.15
Commit: 1c9785bf7eee038f6f0b8e2d73dcb9588f6d60c1

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: 0ad2814370799a2161057d92231fe3ee00e2fe98

Bug: https://bugs.gentoo.org/829161
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...qtwebengine-5.15.2_p20210521-clang-libc++.patch |  10 +
 .../qtwebengine-5.15.2_p20211216.ebuild            | 233 +++++++++++++++++++++
 3 files changed, 244 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 10ebdc5d5c7d..3288fa450f84 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,3 +2,4 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
 DIST qtwebengine-5.15.2_p20211019.tar.xz 320325744 BLAKE2B fac2f2a44e0f443a2642c0a0b3888ff15d047ce5b2de6673213db308e60f3e26b12adf98ad1dcf305630f0bc55abff078942711fbd10d05dc5a4095faadead25 SHA512 4abd2ca416228bbafa31aad9deae1466748930c02bcc08b559bbbb21fda598f720137e2af0cfa176dd534c8da97934d76e59b72c124b73564378fda0deaddaee
 DIST qtwebengine-5.15.2_p20211210.tar.xz 318959420 BLAKE2B 84296cb89af428018485860cff026b374ae876038ce7eb75edb8dca7416ef8c541ad50b942dec1c7fbf59010f22a2b70452b29e35b2237054e08332f92a2d016 SHA512 d7afeed45db0a4bc7bcbc74837b1b32953114fc0afb62aeb969ef7361792313179f428d7ff43a14140b222d02c18f5118022037b1a9f9cd8852a93a4f34f545e
+DIST qtwebengine-5.15.2_p20211216.tar.xz 318953468 BLAKE2B 65b1bc5be8d08d10b75fee20f78a9a783f878874907335818cddde500e80633e91a999e92fd3de69d004c3621a8337c9bef2c949e03e552cab1d89d901e0dae2 SHA512 f72db4b6dcbdaa171bf2997ab3a77325f9845ef1d72cd994e6152f0f92d350de348ff15b1cde1140ab98b7eb10d6e2d2a3ac6b7d773ab43de37144faad37c3f3

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch
new file mode 100644
index 000000000000..fdcc787971ca
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210521-clang-libc++.patch
@@ -0,0 +1,10 @@
+--- a/src/buildtools/gn.pro
++++ b/src/buildtools/gn.pro
+@@ -25,6 +25,7 @@
+             msvc:!clang_cl: gn_gen_args += --use-lto
+
+             gn_configure = $$system_quote($$gn_bootstrap) $$gn_gen_args
++            gn_configure += --no-static-libstdc++
+             macos {
+                 gn_configure += --isysroot \"$$QMAKE_MAC_SDK_PATH\"
+             }

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211216.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211216.ebuild
new file mode 100644
index 000000000000..381ae49128b7
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211216.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml(+)"
+inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2
+	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
+	"${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
+	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
+	"${FILESDIR}/${PN}-5.15.2_p20211210-sandbox-glibc-2.34.patch" # bug 828099, systemwide-clang?
+	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+)
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
+	elog "additional security fixes from newer versions. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+	# bug 307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+		ewarn
+	fi
+	eshopts_pop
+
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.2 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -e "/^MODULE_VERSION/s/5\.15\.[3456789]/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang && has_version 'sys-devel/clang[default-libcxx]'; then
+		eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
+		$(qt_use system-icu webengine-icu)
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2021-12-28 12:19 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2021-12-28 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     13b149204829892b18787e3d974d719d1a0669dd
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 28 12:19:14 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 28 12:19:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13b14920

dev-qt/qtwebengine: Cleanup vulnerable 5.15.2_p20211019

Bug: https://bugs.gentoo.org/829161
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 -
 ...ne-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch |  72 -------
 ...gine-5.15.2_p20210824-breakpad-glibc-2.34.patch |  72 -------
 .../qtwebengine-5.15.2_p20211019.ebuild            | 229 ---------------------
 4 files changed, 374 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 9ee52fe9cdbc..7a80969c4c8e 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,4 +1,3 @@
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
-DIST qtwebengine-5.15.2_p20211019.tar.xz 320325744 BLAKE2B fac2f2a44e0f443a2642c0a0b3888ff15d047ce5b2de6673213db308e60f3e26b12adf98ad1dcf305630f0bc55abff078942711fbd10d05dc5a4095faadead25 SHA512 4abd2ca416228bbafa31aad9deae1466748930c02bcc08b559bbbb21fda598f720137e2af0cfa176dd534c8da97934d76e59b72c124b73564378fda0deaddaee
 DIST qtwebengine-5.15.2_p20211216.tar.xz 318953468 BLAKE2B 65b1bc5be8d08d10b75fee20f78a9a783f878874907335818cddde500e80633e91a999e92fd3de69d004c3621a8337c9bef2c949e03e552cab1d89d901e0dae2 SHA512 f72db4b6dcbdaa171bf2997ab3a77325f9845ef1d72cd994e6152f0f92d350de348ff15b1cde1140ab98b7eb10d6e2d2a3ac6b7d773ab43de37144faad37c3f3

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch
deleted file mode 100644
index dfaa634bdb1f..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 78b1bcff4d9b977313e9ea15068168e1b11f5ba1 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 4 Aug 2021 19:08:03 +0200
-Subject: [PATCH] chromium: abseil-cpp: fix build with glibc-2.34
-
-* backport a fix from upstream abseil-cpp:
-  https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9
-
-  to fix:
-
-[97/24505] CXX obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o
-FAILED: obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o
-/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DABSL_ALLOCATOR_NOTHROW=1 -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-prote
 ctor -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -o obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o
-../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc: In function 'bool absl::SetupAlternateStackOnce()':
-../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to 'max(long int, int)'
-  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61,
-                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
-  254 |     max(const _Tp& __a, const _Tp& __b)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
-  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61,
-                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
-  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
-  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
-                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
- 3461 |     max(initializer_list<_Tp> __l)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
-  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
-                 from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
- 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
-  138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- .../abseil-cpp/absl/debugging/failure_signal_handler.cc         | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
-index 5d13bdbbbd1..150a43f2660 100644
---- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
-+++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
-@@ -135,7 +135,7 @@ static bool SetupAlternateStackOnce() {
- #else
-   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
- #endif
--  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
-+  size_t stack_size = (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
- #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
-     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
-   // Account for sanitizer instrumentation requiring additional stack space.

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch
deleted file mode 100644
index b91c239ac2b3..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-breakpad-glibc-2.34.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 4 Aug 2021 19:11:06 +0200
-Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34
-
-* fixes:
-[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o
-FAILED: obj/third_party/breakpad/client/exception_handler.o
-/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/
 src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad
 /src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o
-../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()':
-../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)'
-  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39,
-                 from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40,
-                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38,
-                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
-  254 |     max(const _Tp& __a, const _Tp& __b)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
-  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39,
-                 from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40,
-                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38,
-                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
-  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
-  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
-                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
- 3461 |     max(initializer_list<_Tp> __l)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
-  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
-In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62,
-                 from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85:
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
- 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
-      |     ^~~
-../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
-../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
-  141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-      |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- .../breakpad/src/client/linux/handler/exception_handler.cc      | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-index ca353c40997..2e43ba6fc04 100644
---- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-+++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
-   // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
-   // the alternative stack. Ensure that the size of the alternative stack is
-   // large enough.
--  static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-+  static const unsigned kSigStackSize = std::max<size_t>(16384, SIGSTKSZ);
- 
-   // Only set an alternative stack if there isn't already one, or if the current
-   // one is too small.

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211019.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211019.ebuild
deleted file mode 100644
index 1f1725cb3e32..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20211019.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml(+)"
-inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-# patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtcore-${QT5_PV}*
-	=dev-qt/qtdeclarative-${QT5_PV}*
-	=dev-qt/qtgui-${QT5_PV}*
-	=dev-qt/qtnetwork-${QT5_PV}*
-	=dev-qt/qtprintsupport-${QT5_PV}*
-	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( =dev-qt/designer-${QT5_PV}* )
-	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-sound/pulseaudio:= )
-	system-ffmpeg? ( media-video/ffmpeg:0= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
-		=dev-qt/qtwidgets-${QT5_PV}*
-	)
-"
-DEPEND="${RDEPEND}
-	media-libs/libglvnd
-"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-	ppc64? ( >=dev-util/gn-0.1807 )
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
-	"${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
-	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
-	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
-	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
-	"${FILESDIR}/${PN}-5.15.2_p20210824-abseil-cpp-glibc-2.34.patch" # bug 811312
-	"${FILESDIR}/${PN}-5.15.2_p20210824-breakpad-glibc-2.34.patch" # bug 811312
-	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
-)
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
-	elog "additional security fixes from newer versions. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}
-
-src_unpack() {
-	# bug 307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-		ewarn
-	fi
-	eshopts_pop
-
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-	fi
-	# We need to make sure this integrates well into Qt 5.15.2 installation.
-	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
-	sed -e "/^MODULE_VERSION/s/5\.15\.[3456789]/${QT5_PV}/" -i .qmake.conf || die
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-
-	# we need to generate ppc64 stuff because upstream does not ship it yet
-	if use ppc64; then
-		einfo "Patching for ppc64le and generating build files"
-		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
-		pushd src/3rdparty/chromium > /dev/null || die
-		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
-		popd > /dev/null || die
-		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
-		mkdir -vp source/config/linux/ppc64 || die
-		mkdir -p source/libvpx/test || die
-		touch source/libvpx/test/test.mk || die
-		./generate_gni.sh || die
-		popd >/dev/null || die
-	fi
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(qt_use alsa)
-		$(qt_use !bindist proprietary-codecs)
-		$(qt_use geolocation webengine-geolocation)
-		$(qt_use kerberos webengine-kerberos)
-		$(qt_use pulseaudio)
-		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
-		$(qt_use system-icu webengine-icu)
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2022-04-05 16:35 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2022-04-05 16:35 UTC (permalink / raw
  To: gentoo-commits

commit:     040d7675bae6b7af62f251b8fbab4dde4df81a19
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  5 15:36:00 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr  5 16:33:48 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=040d7675

dev-qt/qtwebengine: 5.15.3_p20220330 version bump, py3

Patched with security patches up to Chromium version:
98.0.4758.102 plus fixes for CVE-2022-0971, CVE-2022-1096

Patches sourced from ArchLinux:
- Enable build with >=python-3
- Fix build with >=ffmpeg-5
- Enable screencast support using pipewire-3

Snapshotted at:
Branch: 5.15
Commit: dcdf9656f794e1903163a5533d0a325eb3dce423

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: d13d0924c4e18ecc4b79adf0fec142ee9a9eaa14

Bug: https://bugs.gentoo.org/835761
Closes: https://bugs.gentoo.org/831487
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 .../qtwebengine-5.15.3_p20220329-clang14.patch     |  26 ++
 .../qtwebengine-5.15.3_p20220330-ffmpeg5.patch     | 169 +++++++++++++
 dev-qt/qtwebengine/metadata.xml                    |  13 +-
 .../qtwebengine-5.15.3_p20220330.ebuild            | 272 +++++++++++++++++++++
 5 files changed, 473 insertions(+), 8 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index eedc182c4dad..8dfa38137abb 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,3 +2,4 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
 DIST qtwebengine-5.15.2_p20211216.tar.xz 318953468 BLAKE2B 65b1bc5be8d08d10b75fee20f78a9a783f878874907335818cddde500e80633e91a999e92fd3de69d004c3621a8337c9bef2c949e03e552cab1d89d901e0dae2 SHA512 f72db4b6dcbdaa171bf2997ab3a77325f9845ef1d72cd994e6152f0f92d350de348ff15b1cde1140ab98b7eb10d6e2d2a3ac6b7d773ab43de37144faad37c3f3
 DIST qtwebengine-5.15.3_p20220329.tar.xz 318910384 BLAKE2B df4e88628eed5fa2304eec986dd397cd5f51e42f9fdf2dca1bc6d84ad40be406d112701124c745d003b4c22a33d5a69b39b66747e7b9a970a7c91b46ef3943f7 SHA512 650d9056477479fc4630102d7270185c99cdf1ec855f3f407725dd74a737756b7180565a924594c1b75dcbb061d3642af2447610bf22acd9c4cb2c90c7cf842b
+DIST qtwebengine-5.15.3_p20220330.tar.xz 401852524 BLAKE2B 7ac18135a9c0f99085db332c1b324308cc5c5a350b978bb6944e93a203174390f31ce6addcc9b89ba40a305b6af68cc9b0516fd6d90f8ee12d0d24e60b11d0d1 SHA512 53e95548c1fb2fe37f2e63dff56306e6e34f2f1a5e8d811145600111d586528060d26c6ae9833f0a7ad4fee029d44a8275f8c5ac5d511b72fbd24fb0812f592b

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch
index ed48544fc36d..c1a98d0934fb 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch
@@ -1,3 +1,29 @@
+From 0825e7bc64e47d87e1f1026cc80c933550f114f5 Mon Sep 17 00:00:00 2001
+From: Dimitry Andric <dim@FreeBSD.org>
+Date: Mon, 14 Feb 2022 13:55:25 +0100
+Subject: www/qt5-webengine: fix build with clang 14
+
+Fixes compile error:
+
+In file included from gen/third_party/blink/renderer/platform/platform_jumbo_63.cc:8:
+src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc:122:15: error: anonymous non-C-compatible type given name for linkage purposes by typedef declaration after its linkage was computed; add a tag name here to establish linkage prior to definition
+typedef struct {
+              ^
+               UTextWithBuffer
+src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc:123:3: note: type is not C-compatible due to this member declaration
+  DISALLOW_NEW();
+  ^~~~~~~~~~~~~~
+src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/allocator/allocator.h:40:2: note: expanded from macro 'DISALLOW_NEW'
+ public:                                                                      \
+ ^~~~~~~
+src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc:126:3: note: type is given name 'UTextWithBuffer' for linkage purposes by this typedef declaration
+} UTextWithBuffer;
+  ^
+
+PR:		261949
+Approved by:	adridg (maintainer)
+MFH:		2022Q1
+
 --- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
 +++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
 @@ -119,11 +119,11 @@ enum TextContext { kNoContext, kPriorContext, kPrimary

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220330-ffmpeg5.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220330-ffmpeg5.patch
new file mode 100644
index 000000000000..d85c1985883c
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220330-ffmpeg5.patch
@@ -0,0 +1,169 @@
+From 05f6ffbbce0a2aad01dc05d682cbe4a1ec44fad5 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Tue, 25 Jan 2022 10:51:58 +0000
+Subject: [PATCH] Fix build with ffmpeg 5
+
+---
+ chromium/media/ffmpeg/ffmpeg_common.h                |  1 +
+ chromium/media/filters/audio_file_reader.cc          |  2 +-
+ chromium/media/filters/ffmpeg_audio_decoder.cc       |  2 +-
+ chromium/media/filters/ffmpeg_demuxer.cc             | 12 ++++++------
+ chromium/media/filters/ffmpeg_glue.cc                |  4 ----
+ chromium/media/filters/ffmpeg_video_decoder.cc       |  2 +-
+ chromium/media/filters/media_file_checker.cc         |  2 +-
+ .../video_coding/codecs/h264/h264_decoder_impl.cc    |  2 +-
+ 8 files changed, 12 insertions(+), 15 deletions(-)
+
+diff --git a/chromium/media/ffmpeg/ffmpeg_common.h b/chromium/media/ffmpeg/ffmpeg_common.h
+index 2734a485cbd..70b1877a43c 100644
+--- a/chromium/media/ffmpeg/ffmpeg_common.h
++++ b/chromium/media/ffmpeg/ffmpeg_common.h
+@@ -29,6 +29,7 @@ extern "C" {
+ #include <libavformat/avformat.h>
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
++#include <libavutil/channel_layout.h>
+ #include <libavutil/imgutils.h>
+ #include <libavutil/log.h>
+ #include <libavutil/mastering_display_metadata.h>
+diff --git a/chromium/media/filters/audio_file_reader.cc b/chromium/media/filters/audio_file_reader.cc
+index cb81d920def..bd73908d0ca 100644
+--- a/chromium/media/filters/audio_file_reader.cc
++++ b/chromium/media/filters/audio_file_reader.cc
+@@ -85,7 +85,7 @@ bool AudioFileReader::OpenDemuxer() {
+ }
+ 
+ bool AudioFileReader::OpenDecoder() {
+-  AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
++  const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+   if (codec) {
+     // MP3 decodes to S16P which we don't support, tell it to use S16 instead.
+     if (codec_context_->sample_fmt == AV_SAMPLE_FMT_S16P)
+diff --git a/chromium/media/filters/ffmpeg_audio_decoder.cc b/chromium/media/filters/ffmpeg_audio_decoder.cc
+index 0d825ed791b..72fac6167ef 100644
+--- a/chromium/media/filters/ffmpeg_audio_decoder.cc
++++ b/chromium/media/filters/ffmpeg_audio_decoder.cc
+@@ -329,7 +329,7 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) {
+     }
+   }
+ 
+-  AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
++  const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+   if (!codec ||
+       avcodec_open2(codec_context_.get(), codec, &codec_options) < 0) {
+     DLOG(ERROR) << "Could not initialize audio decoder: "
+diff --git a/chromium/media/filters/ffmpeg_demuxer.cc b/chromium/media/filters/ffmpeg_demuxer.cc
+index d34db63f3ef..427565b00c1 100644
+--- a/chromium/media/filters/ffmpeg_demuxer.cc
++++ b/chromium/media/filters/ffmpeg_demuxer.cc
+@@ -98,12 +98,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) {
+ 
+   // Next try to use the first DTS value, for codecs where we know PTS == DTS
+   // (excludes all H26x codecs). The start time must be returned in PTS.
+-  if (stream->first_dts != kNoFFmpegTimestamp &&
++  if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
+       stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
+       stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
+       stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
+     const base::TimeDelta first_pts =
+-        ConvertFromTimeBase(stream->time_base, stream->first_dts);
++        ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
+     if (first_pts < start_time)
+       start_time = first_pts;
+   }
+@@ -408,11 +408,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
+   scoped_refptr<DecoderBuffer> buffer;
+ 
+   if (type() == DemuxerStream::TEXT) {
+-    int id_size = 0;
++    size_t id_size = 0;
+     uint8_t* id_data = av_packet_get_side_data(
+         packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
+ 
+-    int settings_size = 0;
++    size_t settings_size = 0;
+     uint8_t* settings_data = av_packet_get_side_data(
+         packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
+ 
+@@ -424,7 +424,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
+     buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
+                                      side_data.data(), side_data.size());
+   } else {
+-    int side_data_size = 0;
++    size_t side_data_size = 0;
+     uint8_t* side_data = av_packet_get_side_data(
+         packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
+ 
+@@ -485,7 +485,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
+                                        packet->size - data_offset);
+     }
+ 
+-    int skip_samples_size = 0;
++    size_t skip_samples_size = 0;
+     const uint32_t* skip_samples_ptr =
+         reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
+             packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
+diff --git a/chromium/media/filters/ffmpeg_glue.cc b/chromium/media/filters/ffmpeg_glue.cc
+index 0ef3521473d..8483ecc348f 100644
+--- a/chromium/media/filters/ffmpeg_glue.cc
++++ b/chromium/media/filters/ffmpeg_glue.cc
+@@ -59,7 +59,6 @@ static int64_t AVIOSeekOperation(void* opaque, int64_t offset, int whence) {
+ }
+ 
+ void FFmpegGlue::InitializeFFmpeg() {
+-  av_register_all();
+ }
+ 
+ static void LogContainer(bool is_local_file,
+@@ -95,9 +94,6 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol* protocol) {
+   // Enable fast, but inaccurate seeks for MP3.
+   format_context_->flags |= AVFMT_FLAG_FAST_SEEK;
+ 
+-  // Ensures we can read out various metadata bits like vp8 alpha.
+-  format_context_->flags |= AVFMT_FLAG_KEEP_SIDE_DATA;
+-
+   // Ensures format parsing errors will bail out. From an audit on 11/2017, all
+   // instances were real failures. Solves bugs like http://crbug.com/710791.
+   format_context_->error_recognition |= AV_EF_EXPLODE;
+diff --git a/chromium/media/filters/ffmpeg_video_decoder.cc b/chromium/media/filters/ffmpeg_video_decoder.cc
+index ef12477ee89..7996606f5f9 100644
+--- a/chromium/media/filters/ffmpeg_video_decoder.cc
++++ b/chromium/media/filters/ffmpeg_video_decoder.cc
+@@ -391,7 +391,7 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
+   if (decode_nalus_)
+     codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
+ 
+-  AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
++  const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
+   if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
+     ReleaseFFmpegResources();
+     return false;
+diff --git a/chromium/media/filters/media_file_checker.cc b/chromium/media/filters/media_file_checker.cc
+index 59c2a2fc618..1a9872c7acb 100644
+--- a/chromium/media/filters/media_file_checker.cc
++++ b/chromium/media/filters/media_file_checker.cc
+@@ -68,7 +68,7 @@ bool MediaFileChecker::Start(base::TimeDelta check_time) {
+       auto context = AVStreamToAVCodecContext(format_context->streams[i]);
+       if (!context)
+         continue;
+-      AVCodec* codec = avcodec_find_decoder(cp->codec_id);
++      const AVCodec* codec = avcodec_find_decoder(cp->codec_id);
+       if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) {
+         auto loop = std::make_unique<FFmpegDecodingLoop>(context.get());
+         stream_contexts[i] = {std::move(context), std::move(loop)};
+diff --git a/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
+index 9002b874611..d12fade8b63 100644
+--- a/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
++++ b/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
+@@ -203,7 +203,7 @@ int32_t H264DecoderImpl::InitDecode(const VideoCodec* codec_settings,
+   // a pointer |this|.
+   av_context_->opaque = this;
+ 
+-  AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
++  const AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
+   if (!codec) {
+     // This is an indication that FFmpeg has not been initialized or it has not
+     // been compiled/initialized with the correct set of codecs.
+-- 
+2.35.1
+

diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
index fe0b26ec2aa3..cbcf0f7a01d7 100644
--- a/dev-qt/qtwebengine/metadata.xml
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -11,15 +11,12 @@
 		<name>Georgy Yakovlev</name>
 	</maintainer>
 	<use>
-		<flag name="designer">Install the QWebEngineView plugin used to add widgets in
-			<pkg>dev-qt/designer</pkg> forms that display web pages.</flag>
-		<flag name="geolocation">Enable physical position determination
-			via <pkg>dev-qt/qtpositioning</pkg></flag>
+		<flag name="designer">Install the QWebEngineView plugin used to add widgets in <pkg>dev-qt/designer</pkg> forms that display web pages.</flag>
+		<flag name="geolocation">Enable physical position determination via <pkg>dev-qt/qtpositioning</pkg></flag>
 		<flag name="jumbo-build">Combine source files to speed up build process.</flag>
-		<flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg>
-			instead of bundled.</flag>
-		<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
-			instead of bundled.</flag>
+		<flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
+		<flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg> instead of bundled.</flag>
+		<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled.</flag>
 		<flag name="widgets">Enable QtWidgets support</flag>
 	</use>
 	<upstream>

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220330.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220330.ebuild
new file mode 100644
index 000000000000..cf465387eacb
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220330.ebuild
@@ -0,0 +1,272 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10} )
+PYTHON_REQ_USE="xml(+)"
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2
+	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-sound/pulseaudio:= )
+	screencast? ( media-video/pipewire:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
+	"${FILESDIR}/${PN}-5.15.2-extra_gn.patch" # downstream, bug 774186
+	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
+	"${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # by FreeBSD, bug 836604
+	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+)
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.2 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -e "/^MODULE_VERSION/s/5\.15\.[3456789]/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang && has_version 'sys-devel/clang[default-libcxx]'; then
+		eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+	fi
+
+	if use system-ffmpeg && has_version '>=media-video/ffmpeg-5'; then
+		eapply "${FILESDIR}/${PN}-5.15.3_p20220330-ffmpeg5.patch" # by Archlinux, bug 831437
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
+		$(qt_use system-icu webengine-icu)
+		$(usex screencast -webengine-webrtc-pipewire '')
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280, with"
+	elog "additional security fixes from newer versions. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2022-04-05 16:35 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2022-04-05 16:35 UTC (permalink / raw
  To: gentoo-commits

commit:     52f9db05e23cd17e53bbe25369520e820bf2a3b5
Author:     Miezhiko <Miezhiko <AT> gmail <DOT> com>
AuthorDate: Mon Apr  4 11:40:05 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Apr  5 16:33:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52f9db05

dev-qt/qtwebengine: fix building with clang 14

Signed-off-by: Miezhiko <Miezhiko <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/24897
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qtwebengine-5.15.3_p20220329-clang14.patch     | 16 ++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.3_p20220329.ebuild   |  1 +
 2 files changed, 17 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch
new file mode 100644
index 000000000000..ed48544fc36d
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220329-clang14.patch
@@ -0,0 +1,16 @@
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
+@@ -119,11 +119,11 @@ enum TextContext { kNoContext, kPriorContext, kPrimary
+ 
+ const int kTextBufferCapacity = 16;
+ 
+-typedef struct {
++struct UTextWithBuffer {
+   DISALLOW_NEW();
+   UText text;
+   UChar buffer[kTextBufferCapacity];
+-} UTextWithBuffer;
++};
+ 
+ static inline int64_t TextPinIndex(int64_t& index, int64_t limit) {
+   if (index < 0)

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220329.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220329.ebuild
index 8c44a49805d8..5331549093bf 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220329.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220329.ebuild
@@ -107,6 +107,7 @@ PATCHES=(
 	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
 	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
 	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+	"${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # fixes build with clang 14
 )
 
 qtwebengine_check-reqs() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2022-08-02 21:51 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2022-08-02 21:51 UTC (permalink / raw
  To: gentoo-commits

commit:     0ac0cccecd72547debeba29eeacbbace6f4f0b67
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 20 18:33:31 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug  2 21:49:51 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ac0ccce

dev-qt/qtwebengine: add version 6.3.1

Bug: https://bugs.gentoo.org/838970
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 .../files/qtwebengine-6.3.1-widevine.patch         |  18 ++
 dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild        | 246 +++++++++++++++++++++
 3 files changed, 265 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 282326e1c880..6db838137ef4 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,3 +2,4 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
 DIST qtwebengine-5.15.3_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840
 DIST qtwebengine-5.15.5_p20220618.tar.xz 320131236 BLAKE2B 842322c94737cdf647277ccf226c0d015ac0b362af54c4298cbad6b4494aa4ef0e73830577fb391be31c91b4331b85f407ec58641897a7cc7237e7623043577d SHA512 b1bab7aa5edc7f7b9d4f8338a05dbbd55ae6e0312e1a7e6061895bd7a98c67780127c20db1dbbc81664bf483a5b8f7ed887cedd1baaa1a0259e28fd4b13d6944
+DIST qtwebengine-everywhere-src-6.3.1.tar.xz 398269544 BLAKE2B 3b56a87fd93de0da9ccbfdeda0c5a3e07892dcb1c8dce848cc21c73cb45e7c94746bad299feaa68910ba036abf0c1c16fa423307fdc08c8af4e5e920e2e8a329 SHA512 e00601a7ec6400551f7707d15cf326340ae8d6a5bb8cda55df4619148414f4b3ca3daabfd7263dd5a2ff2ca8ba64f9e91c9db3f1a50bea4903148c57b6dc81dd

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch b/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch
new file mode 100644
index 000000000000..74da3f35f793
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.3.1-widevine.patch
@@ -0,0 +1,18 @@
+Backport from 6.3.2
+https://bugreports.qt.io/browse/QTBUG-104238
+https://github.com/qutebrowser/qutebrowser/issues/7231
+--- a/src/core/content_client_qt.cpp
++++ b/src/core/content_client_qt.cpp
+@@ -54,4 +54,5 @@
+ #include "media/base/media_switches.h"
+ #include "media/base/video_codecs.h"
++#include "media/cdm/supported_audio_codecs.h"
+ #include "media/media_buildflags.h"
+ #include "ui/base/layout.h"
+@@ -276,4 +277,6 @@
+ #endif  // BUILDFLAG(USE_PROPRIETARY_CODECS)
+ 
++            capability->audio_codecs = media::GetCdmSupportedAudioCodecs();
++
+             // Add the supported encryption schemes as if they came from the
+             // component manifest. This list must match the CDM that is being

diff --git a/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild
new file mode 100644
index 000000000000..468f7bbc29d7
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-6.3.1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10} )
+PYTHON_REQ_USE="xml(+)"
+CHROMIUM_VER="94.0.4606.126"
+CHROMIUM_PATCHES_VER="101.0.4951.64"
+
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64"
+fi
+
+IUSE="
+	alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
+	+system-ffmpeg +system-icu widgets
+"
+REQUIRED_USE="designer? ( widgets )"
+
+BDEPEND="
+	$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+"
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtdeclarative-${PV}*
+	=dev-qt/qtwebchannel-${PV}*
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libxcb:=
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbcommon
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	geolocation? ( =dev-qt/qtpositioning-${PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse:= )
+	screencast? ( media-video/pipewire:= )
+	system-ffmpeg? ( media-video/ffmpeg:= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtbase-${PV}*[widgets]
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-widevine.patch
+)
+
+python_check_deps() {
+	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
+}
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
+	elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+	# bug 307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+		ewarn
+	fi
+	eshopts_pop
+
+	case ${QT6_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	# bug 620444 - ensure local headers are used
+	find . -type f -name "*.pr[fio]" -exec \
+		sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	qt6-build_src_prepare
+}
+
+src_configure() {
+	export NINJA_PATH="${BROOT}"/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local mycmakeargs=(
+		#-DQT_FEATURE_accessibility=off
+		#-DQT_FEATURE_force_asserts=off
+		#-DQT_FEATURE_opengl=off
+		#-DQT_FEATURE_printer=off
+		-DQT_FEATURE_qtpdf_build=off
+		-DQT_FEATURE_qtpdf_quick_build=off
+		-DQT_FEATURE_qtpdf_widgets_build=off
+		-DQT_FEATURE_qtwebengine_build=on
+		-DQT_FEATURE_qtwebengine_quick_build=on
+		-DQT_FEATURE_qtwebengine_widgets_build=on
+		#-DQT_FEATURE_ssl=off
+		#-DQT_FEATURE_static=off
+		#-DQT_FEATURE_system_zlib=off
+		#-DQT_FEATURE_system_png=off
+		#-DQT_FEATURE_system_jpeg=off
+		#-DQT_FEATURE_system_freetype=off
+		#-DQT_FEATURE_system_harfbuzz=off
+		#-DQT_FEATURE_use_gold_linker=off
+		#-DQT_FEATURE_use_lld_linker=off
+		-DQT_FEATURE_webengine_embedded_build=off
+		-DQT_FEATURE_webengine_extensions=on
+		#-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
+		-DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
+		-DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
+		#-DQT_FEATURE_webengine_jumbo_file_merge_limit
+		-DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
+		-DQT_FEATURE_webengine_native_spellchecker=off
+		-DQT_FEATURE_webengine_ozone_x11=on
+		-DQT_FEATURE_webengine_pepper_plugins=on
+		-DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
+		-DQT_FEATURE_webengine_printing_and_pdf=on
+		-DQT_FEATURE_webengine_sanitizer=on
+		-DQT_FEATURE_webengine_spellchecker=on
+		-DQT_FEATURE_webengine_system_opus=on
+		-DQT_FEATURE_webengine_system_libwebp=on
+		-DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
+		-DQT_FEATURE_webengine_system_ffmpeg=$(usex system-ffmpeg)
+		-DQT_FEATURE_webengine_system_icu=$(usex system-icu)
+		-DQT_FEATURE_webengine_system_libevent=on
+		-DQT_FEATURE_webengine_system_libpci=on
+		-DQT_FEATURE_webengine_system_libpng=on
+		-DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
+		-DQT_FEATURE_webengine_system_zlib=on
+		-DQT_FEATURE_webengine_webchannel=on
+		-DQT_FEATURE_webengine_webrtc=on
+		-DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
+		#-DQT_FEATURE_xcb=off
+	)
+
+	qt6-build_src_configure
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-01-08 21:45 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2023-01-08 21:45 UTC (permalink / raw
  To: gentoo-commits

commit:     b0246bf815604f1c99d0a57896a9ed6bd3e18ca9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  8 21:05:42 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan  8 21:44:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0246bf8

dev-qt/qtwebengine: add 5.15.8_p20230106

Snapshotted at:
Branch: 5.15
Commit: 38e0df6c6e5a1186b68df9b3d6f4cafbb211f2da

Submodule qtwebengine-chromium.git:
Branch: 87-based
Commit: ce9155cc73d8a94f1536b96e841c0aee2ff7d921

Patched with security patches up to Chromium version: 98.0.4758.102

Bug: https://bugs.gentoo.org/888181
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...gine-5.15.8_p20230106-v8-opcode-constexpr.patch |  43 ++++
 .../qtwebengine-5.15.8_p20230106-widevine.patch    |  82 ++++++
 .../qtwebengine-5.15.8_p20230106.ebuild            | 284 +++++++++++++++++++++
 4 files changed, 410 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 4fb15138c566..6f9f75c68502 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,5 +2,6 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89
 DIST qtwebengine-5.15.3_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840
 DIST qtwebengine-5.15.7_p20221122.tar.xz 319323408 BLAKE2B f0f7d566e84a78bae964bf34ccb305d51ae3c0b73bea2b382edca373a5240ab63ce6d90a1f81c8e70fd1f1eb05f9985fccbdae36958afe9dd8fa9c95a72775e0 SHA512 42665d2d7d227aeb04b9f7af0728ea5b07978e221b858fd2855595ad588d709bacbea18ab9e0c3a023579e5e3b80cdf6d3ff721573631ee43626bd37fb424225
+DIST qtwebengine-5.15.8_p20230106.tar.xz 319368288 BLAKE2B cbf6abc941cc20d7568c458726ccd371d5c6838b93e034e79767a2f98a00576a89a81eeb2964fb549df5f347cb8927863c15bf082c6abb749ed90cbe69c9677c SHA512 9b65cb69945516ee57945ccf59b2f60182673e7a77e29418269a285c708a5dcd4ddfdd6c23e187280e68d7abee4e1dc2d00da6678393a44e88b88702db337615
 DIST qtwebengine-everywhere-src-6.4.0.tar.xz 440346968 BLAKE2B ffe9ad9f71034d14f016a71bf3e6034853d5c2b17a3ab3e8aefc1c3a79896363eb2ce41446f16e126ec313608619900ee7ac41750978c28f135df5bbc2e0be5c SHA512 a024781c675c60ca746abb6cd977872b51e3f4a7ff9f934450b82e9b19883c68c0c6c630c28997624f0caceed3c43e8b0658419ecb18cf08fa9081275bedd2a7
 DIST qtwebengine-everywhere-src-6.4.2.tar.xz 440538956 BLAKE2B df94e0e8e22d11614d0d35002c0e404e6735d75e7b43bef1bfd3d5e1230a997625fe8471d8a9154798cc1f9b9c296c2b697ec70fba0428d509d1352d6d3fafee SHA512 47b184a690d4fa5ccccaa3533903068df7b28825aeb16b7c75e3c7cc29fe0cfdf07501c5f0311926c22852f626b0cd59c836d44527261dc7d5c1efbf7e15439b

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch
new file mode 100644
index 000000000000..b1fe0f69801c
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch
@@ -0,0 +1,43 @@
+From a5cea1bfc38ceafc74f4baddd6ab94ea13757ef8 Mon Sep 17 00:00:00 2001
+From: Lei Zhang <thestig@chromium.org>
+Date: Fri, 21 May 2021 10:55:53 -0700
+Subject: [PATCH] Mark Node::opcode() and Operator::opcode() as constexpr.
+
+Without the explicit constexpr keyword, Clang seems to be able to treat
+these methods as constexpr, whereas MSVC will not.
+
+Bug: v8:11760
+Change-Id: I9f6492f38fb50dcaf7a4f09da0bd79c0da6a50eb
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912916
+Reviewed-by: Clemens Backes <clemensb@chromium.org>
+Reviewed-by: Maya Lekova <mslekova@chromium.org>
+Commit-Queue: Lei Zhang <thestig@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#74791}
+---
+
+diff --git a/src/3rdparty/chromium/v8/src/compiler/node.h b/src/3rdparty/chromium/v8/src/compiler/node.h
+index 37b45c4..57d49fe 100644
+--- a/src/3rdparty/chromium/v8/src/compiler/node.h
++++ b/src/3rdparty/chromium/v8/src/compiler/node.h
+@@ -50,7 +50,7 @@
+ 
+   const Operator* op() const { return op_; }
+ 
+-  IrOpcode::Value opcode() const {
++  constexpr IrOpcode::Value opcode() const {
+     DCHECK_GE(IrOpcode::kLast, op_->opcode());
+     return static_cast<IrOpcode::Value>(op_->opcode());
+   }
+diff --git a/src/3rdparty/chromium/v8/src/compiler/operator.h b/src/3rdparty/chromium/v8/src/compiler/operator.h
+index 4206e75..f641394 100644
+--- a/src/3rdparty/chromium/v8/src/compiler/operator.h
++++ b/src/3rdparty/chromium/v8/src/compiler/operator.h
+@@ -73,7 +73,7 @@
+   // A small integer unique to all instances of a particular kind of operator,
+   // useful for quick matching for specific kinds of operators. For fast access
+   // the opcode is stored directly in the operator object.
+-  Opcode opcode() const { return opcode_; }
++  constexpr Opcode opcode() const { return opcode_; }
+ 
+   // Returns a constant string representing the mnemonic of the operator,
+   // without the static parameters. Useful for debugging.

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch
new file mode 100644
index 000000000000..dcfdeae3c6f3
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch
@@ -0,0 +1,82 @@
+From b99042fb839021a0a3d2fe0cac7ac3899c4acbba Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Tue, 14 Jun 2022 14:19:24 +0200
+Subject: [PATCH] Find modern Chrome, Chromium and Firefox CDM modules
+
+The default download location has moved again, but we can now
+also use firefox CDMs.
+
+Pick-to: 6.4 6.3
+Task-number: QTBUG-104238
+Change-Id: I7ee581fa63e50df970acb31ea6d3f67d332aef59
+Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
+---
+ src/core/content_client_qt.cpp | 54 ++++++++++++++++++++++++++++++----
+ 1 file changed, 49 insertions(+), 5 deletions(-)
+
+diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp
+index 6c914b7729..7167332d9b 100644
+--- a/src/core/content_client_qt.cpp
++++ b/src/core/content_client_qt.cpp
+@@ -250,15 +251,56 @@ static bool IsWidevineAvailable(base::FilePath *cdm_path,
+         }
+     }
+ #elif defined(Q_OS_LINUX)
+-        pluginPaths << QStringLiteral("/opt/google/chrome/libwidevinecdm.so") // Old Google Chrome
++        QList<QDir> potentialWidevineVersionDirs;
++
++        // Google Chrome widevine modules
++        QDir chromeWidevineDir(QDir::homePath() + "/.config/google-chrome/WidevineCdm");
++        if (chromeWidevineDir.exists())
++            potentialWidevineVersionDirs << chromeWidevineDir;
++
++        // Firefox widevine modules
++        QDir firefoxPotentialProfilesDir(QDir::homePath() + "/.mozilla/firefox");
++        if (firefoxPotentialProfilesDir.exists()) {
++            QFileInfoList firefoxProfileDirs = firefoxPotentialProfilesDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
++            for (const QFileInfo &info : firefoxProfileDirs) {
++                QDir widevinePluginsDir(info.absoluteFilePath() + "/gmp-widevinecdm");
++                if (widevinePluginsDir.exists())
++                    potentialWidevineVersionDirs << widevinePluginsDir;
++            }
++        }
++
++        // Chromium widevine modules (might not work with proprietary codecs)
++        QDir chromiumWidevineDir(QDir::homePath() + "/.config/chromium/WidevineCdm");
++        if (chromiumWidevineDir.exists())
++            potentialWidevineVersionDirs << chromiumWidevineDir;
++
++        // Search for widewine versions
++        for (const QDir &dir : potentialWidevineVersionDirs) {
++            QFileInfoList widevineVersionDirs = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
++            // ### alternatively look up in the manifest.json and take the path from there.
+ #if Q_PROCESSOR_WORDSIZE == 8
+-                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")
++            const QString library = QLatin1String("/_platform_specific/linux_x64/libwidevinecdm.so");
+ #else
+-                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so")
++            const QString library = QLatin1String("/_platform_specific/linux_x86/libwidevinecdm.so");
+ #endif
+-                    << QStringLiteral("/usr/lib/chromium/libwidevinecdm.so") // Arch
++            for (const QFileInfo &info : widevineVersionDirs) {
++                pluginPaths << info.absoluteFilePath() + "/libwidevinecdm.so";
++                pluginPaths << info.absoluteFilePath() + library;
++            }
++        }
++
++        // Fixed paths:
++        pluginPaths << QStringLiteral("/usr/lib/chromium/libwidevinecdm.so") // Arch
+                     << QStringLiteral("/usr/lib/chromium-browser/libwidevinecdm.so") // Ubuntu/neon
+-                    << QStringLiteral("/usr/lib64/chromium/libwidevinecdm.so"); // OpenSUSE style
++                    << QStringLiteral("/usr/lib64/chromium/libwidevinecdm.so") // OpenSUSE style
++#if Q_PROCESSOR_WORDSIZE == 8
++                    << QStringLiteral("/usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") // Gentoo
++                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") // Old Google Chrome
++#else
++                    << QStringLiteral("/usr/lib/chromium-browser/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") // Gentoo
++                    << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") // Old Google Chrome
++#endif
++                    << QStringLiteral("/opt/google/chrome/libwidevinecdm.so"); // Older Google Chrome
+ #endif
+     }
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230106.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230106.ebuild
new file mode 100644
index 000000000000..90cfa552b3be
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230106.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10} )
+PYTHON_REQ_USE="xml(+)"
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2
+	https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz
+	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-ffmpeg +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse )
+	screencast? ( media-video/pipewire:= )
+	system-ffmpeg? ( media-video/ffmpeg:0= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.15.2-disable-fatal-warnings.patch" # downstream, bug 695446
+	"${FILESDIR}/${PN}-5.15.3_p20220505-extra-gn.patch" # downstream, bug 774186
+	"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606
+	"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix
+	"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746
+	"${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # by FreeBSD, bug 836604
+	"${FILESDIR}/${PN}-5.15.3_p20220406-gcc12-includes.patch" # by openSUSE, bug 840326
+	"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957
+	"${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), pipewire-3
+	"${FILESDIR}/${P}-v8-opcode-constexpr.patch" # bug 889042
+	"${FILESDIR}/${P}-widevine.patch" # bug 888783
+)
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.3 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang ; then
+		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
+			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+		fi
+	fi
+
+	if use system-ffmpeg && has_version '>=media-video/ffmpeg-5'; then
+		eapply "${FILESDIR}/${PN}-5.15.3_p20220406-ffmpeg5.patch" # by Archlinux, bug 831437
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		# clang-format is used to re-format sources
+		# but we'd rather make it a no-op than introduce a clang dependency
+		# https://bugs.gentoo.org/849458
+		clang-format() { : ; }
+		export -f clang-format || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex screencast -webengine-webrtc-pipewire '')
+		$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg)
+		$(qt_use system-icu webengine-icu)
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
+	elog "with additional security fixes from newer versions. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-03-27 12:51 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2023-03-27 12:51 UTC (permalink / raw
  To: gentoo-commits

commit:     61e5cb157d2f015ab9a730e3eaf11d4ee14b4ab4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 27 11:30:22 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 27 12:47:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61e5cb15

dev-qt/qtwebengine: fix build w/ gcc-13

Bug: https://bugs.gentoo.org/898634
Closes: https://bugs.gentoo.org/889724
Closes: https://bugs.gentoo.org/895196
Closes: https://bugs.gentoo.org/898902
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/qtwebengine-5.15.8_p20230112-gcc13.patch | 431 +++++++++++++++++++++
 .../qtwebengine-5.15.8_p20230112.ebuild            |   1 +
 2 files changed, 432 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230112-gcc13.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230112-gcc13.patch
new file mode 100644
index 000000000000..b9df5b0fe445
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230112-gcc13.patch
@@ -0,0 +1,431 @@
+Upstream:
+- https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/468198
+
+Gentoo bugs:
+- https://bugs.gentoo.org/889724
+- https://bugs.gentoo.org/895196
+- https://bugs.gentoo.org/898902
+- https://bugs.gentoo.org/898634 (bundled abseil)
+
+Based on the following from Fedora:
+- https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/14bbdcc0567223a4c96421ab2dfe2a668831ec98?branch=rawhide
+- https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/9a37c86a90d1d3c0684aa1428657fc7ed22390ac?branch=rawhide
+- https://src.fedoraproject.org/rpms/qt5-qtwebengine/c/5dc49e01024ab2adae3705d14a9be76d706b7e52?branch=rawhide
+- Whole thing: https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/rawhide/f/qtwebengine-fix-build.patch
+--- a/src/3rdparty/chromium/base/debug/profiler.h
++++ b/src/3rdparty/chromium/base/debug/profiler.h
+@@ -5,6 +5,7 @@
+ #ifndef BASE_DEBUG_PROFILER_H_
+ #define BASE_DEBUG_PROFILER_H_
+ 
++#include <cstdint>
+ #include <stddef.h>
+ 
+ #include <string>
+--- a/src/3rdparty/chromium/base/debug/stack_trace.h
++++ b/src/3rdparty/chromium/base/debug/stack_trace.h
+@@ -7,6 +7,7 @@
+ 
+ #include <stddef.h>
+ 
++#include <cstdint>
+ #include <iosfwd>
+ #include <string>
+ 
+--- a/src/3rdparty/chromium/cc/trees/target_property.cc
++++ b/src/3rdparty/chromium/cc/trees/target_property.cc
+@@ -4,6 +4,8 @@
+ 
+ #include "cc/trees/target_property.h"
+ 
++#include <cstdint>
++
+ namespace cc {
+ 
+ static_assert(TargetProperty::LAST_TARGET_PROPERTY < kMaxTargetPropertyIndex,
+--- a/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
++++ b/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
+@@ -5,6 +5,7 @@
+ #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
+ #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "base/callback_forward.h"
+--- a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
++++ b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
+@@ -4,6 +4,8 @@
+ 
+ #include "device/base/synchronization/one_writer_seqlock.h"
+ 
++#include <cstdint>
++
+ namespace device {
+ 
+ OneWriterSeqLock::OneWriterSeqLock() : sequence_(0) {}
+--- a/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
++++ b/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
+@@ -5,6 +5,7 @@
+ #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
+ #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
++++ b/src/3rdparty/chromium/extensions/browser/api/audio/audio_device_id_calculator.h
+@@ -5,6 +5,7 @@
+ #ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
+ #define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_
+ 
++#include <cstdint>
+ #include <map>
+ #include <string>
+ 
+--- a/src/3rdparty/chromium/extensions/common/constants.h
++++ b/src/3rdparty/chromium/extensions/common/constants.h
+@@ -11,6 +11,8 @@
+ #include "components/version_info/channel.h"
+ #include "ui/base/layout.h"
+ 
++#include <cstdint>
++
+ namespace extensions {
+ 
+ // Scheme we serve extension content from.
+--- a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
++++ b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h
+@@ -5,6 +5,8 @@
+ #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_
+ #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_
+ 
++#include <cstdint>
++
+ namespace gpu {
+ namespace webgpu {
+ 
+--- a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h
++++ b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_H_
+ #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_H_
+ 
++#include <cstdint>
+ #include <string.h>
+ 
+ #include "gpu/command_buffer/common/gl2_types.h"
+--- a/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h
++++ b/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_COMMAND_BUFFER_SERVICE_SHARED_CONTEXT_STATE_H_
+ #define GPU_COMMAND_BUFFER_SERVICE_SHARED_CONTEXT_STATE_H_
+ 
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/gpu/config/device_perf_info.h
++++ b/src/3rdparty/chromium/gpu/config/device_perf_info.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_
+ #define GPU_CONFIG_DEVICE_PERF_INFO_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
++++ b/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
+ #define GPU_CONFIG_GPU_FEATURE_INFO_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/gpu/config/gpu_preferences.h
++++ b/src/3rdparty/chromium/gpu/config/gpu_preferences.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_CONFIG_GPU_PREFERENCES_H_
+ #define GPU_CONFIG_GPU_PREFERENCES_H_
+ 
++#include <cstdint>
+ #include <stddef.h>
+ #include <string>
+ #include <vector>
+--- a/src/3rdparty/chromium/gpu/config/gpu_util.h
++++ b/src/3rdparty/chromium/gpu/config/gpu_util.h
+@@ -5,6 +5,8 @@
+ #ifndef GPU_CONFIG_GPU_UTIL_H_
+ #define GPU_CONFIG_GPU_UTIL_H_
+ 
++#include <cstdint>
++
+ #include "build/build_config.h"
+ #include "gpu/config/gpu_feature_info.h"
+ #include "gpu/gpu_export.h"
+--- a/src/3rdparty/chromium/net/base/parse_number.h
++++ b/src/3rdparty/chromium/net/base/parse_number.h
+@@ -9,6 +9,8 @@
+ #include "base/strings/string_piece.h"
+ #include "net/base/net_export.h"
+ 
++#include <cstdint>
++
+ // This file contains utility functions for parsing numbers, in the context of
+ // network protocols.
+ //
+--- a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
++++ b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
+@@ -5,6 +5,7 @@
+ #ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
+ #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/pdf/document_attachment_info.h
++++ b/src/3rdparty/chromium/pdf/document_attachment_info.h
+@@ -7,6 +7,8 @@
+ 
+ #include "base/strings/string16.h"
+ 
++#include <cstdint>
++
+ namespace chrome_pdf {
+ 
+ struct DocumentAttachmentInfo {
+--- a/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
++++ b/src/3rdparty/chromium/ppapi/utility/completion_callback_factory_thread_traits.h
+@@ -38,6 +38,10 @@ namespace pp {
+ /// As a further optimization, we can add support for this later.
+ class ThreadSafeThreadTraits {
+  public:
++
++  typedef pp::Lock Lock;
++  typedef pp::AutoLock AutoLock;
++
+   class RefCount {
+    public:
+     /// Default constructor. In debug mode, this checks that the object is being
+@@ -67,8 +71,6 @@ class ThreadSafeThreadTraits {
+     int32_t ref_;
+   };
+ 
+-  typedef pp::Lock Lock;
+-  typedef pp::AutoLock AutoLock;
+ };
+ 
+ /// The non-thread-safe version of thread traits. Using this class as the
+--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h
+@@ -19,6 +19,7 @@
+ #include <limits.h>
+ 
+ #include <cstddef>
++#include <cstdint>
+ #include <cstring>
+ #include <ostream>
+ 
+--- a/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
++++ b/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
+@@ -12,6 +12,7 @@
+ 
+ #include <algorithm>
+ #include <array>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
++++ b/src/3rdparty/chromium/third_party/angle/src/common/angleutils.h
+@@ -15,6 +15,7 @@
+ #    include "absl/container/flat_hash_map.h"
+ #endif  // defined(ANGLE_USE_ABSEIL)
+ 
++#include <cstdint>
+ #include <climits>
+ #include <cstdarg>
+ #include <cstddef>
+--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h
+@@ -33,6 +33,7 @@
+ #include <assert.h>
+ #include <sys/types.h>
+ 
++#include <cstdint>
+ #include <string>
+ 
+ #include "client/linux/handler/microdump_extra_info.h"
+--- a/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
++++ b/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
+@@ -30,6 +30,7 @@
+ #include <cstddef>
+ #include <cstdint>
+ #include <cstring>
++#include <cstdio>
+ #include <new>
+ #include <utility>
+ 
+--- a/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
++++ b/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
+@@ -5,6 +5,8 @@
+ #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
+ #define CONSTANTS_ANNOTATION_FLAGS_H_
+ 
++#include <cstdint>
++
+ namespace pdfium {
+ namespace annotation_flags {
+ 
+--- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
++++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
+@@ -18,6 +18,7 @@
+ #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
+ 
+ #include <array>
++#include <cstdint>
+ #include <string>
+ 
+ #include "perfetto/ext/base/optional.h"
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
+@@ -21,6 +21,8 @@
+ #include "perfetto/trace_processor/status.h"
+ #include "src/trace_processor/trace_blob_view.h"
+ 
++#include <cstdint>
++
+ namespace perfetto {
+ 
+ namespace protos {
+--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+@@ -9,6 +9,9 @@
+ #include "include/utils/SkParse.h"
+ 
+ #include <algorithm> // std::lower_bound
++#include <algorithm>
++#include <cstring>
++#include <iterator>
+ 
+ static constexpr const char* gColorNames[] = {
+     "aliceblue",
+--- a/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
++++ b/src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h
+@@ -11,6 +11,7 @@
+ #ifndef CALL_RTP_DEMUXER_H_
+ #define CALL_RTP_DEMUXER_H_
+ 
++#include <cstdint>
+ #include <map>
+ #include <set>
+ #include <string>
+--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
++++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
+@@ -12,6 +12,7 @@
+ #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
+ #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ 
+--- a/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml
++++ b/src/3rdparty/chromium/third_party/xcbproto/src/src/present.xml
+@@ -89,7 +89,7 @@ OF THIS SOFTWARE.
+     </reply>
+   </request>
+ 
+-  <request name="Pixmap" opcode="1">
++  <request name="PresentPixmap" opcode="1">
+     <required_start_align align="8" />
+     <field type="WINDOW" name="window" />
+     <field type="PIXMAP" name="pixmap" />
+--- a/src/3rdparty/chromium/ui/events/gesture_event_details.h
++++ b/src/3rdparty/chromium/ui/events/gesture_event_details.h
+@@ -5,6 +5,7 @@
+ #ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
+ #define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DETAILS_H_
+ 
++#include <cstdint>
+ #include <string.h>
+ 
+ #include "base/check_op.h"
+--- a/src/3rdparty/chromium/ui/events/types/scroll_types.h
++++ b/src/3rdparty/chromium/ui/events/types/scroll_types.h
+@@ -5,6 +5,8 @@
+ #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
+ #define UI_EVENTS_TYPES_SCROLL_TYPES_H_
+ 
++#include <cstdint>
++
+ namespace ui {
+ 
+ enum class ScrollGranularity : uint8_t {
+--- a/src/3rdparty/chromium/ui/gl/gl_surface_glx.cc
++++ b/src/3rdparty/chromium/ui/gl/gl_surface_glx.cc
+@@ -4,6 +4,7 @@
+ 
+ #include "ui/gl/gl_surface_glx.h"
+ 
++#include <cstdint>
+ #include <utility>
+ 
+ #include "base/bind.h"
+--- a/src/3rdparty/chromium/ui/gl/gl_surface_glx.h
++++ b/src/3rdparty/chromium/ui/gl/gl_surface_glx.h
+@@ -5,6 +5,7 @@
+ #ifndef UI_GL_GL_SURFACE_GLX_H_
+ #define UI_GL_GL_SURFACE_GLX_H_
+ 
++#include <cstdint>
+ #include <stdint.h>
+ 
+ #include <memory>
+--- a/src/3rdparty/chromium/v8/src/base/logging.h
++++ b/src/3rdparty/chromium/v8/src/base/logging.h
+@@ -5,6 +5,7 @@
+ #ifndef V8_BASE_LOGGING_H_
+ #define V8_BASE_LOGGING_H_
+ 
++#include <cstdint>
+ #include <cstring>
+ #include <sstream>
+ #include <string>
+--- a/src/3rdparty/chromium/v8/src/base/macros.h
++++ b/src/3rdparty/chromium/v8/src/base/macros.h
+@@ -5,6 +5,7 @@
+ #ifndef V8_BASE_MACROS_H_
+ #define V8_BASE_MACROS_H_
+ 
++#include <cstdint>
+ #include <limits>
+ #include <type_traits>
+ 
+--- a/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
++++ b/src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h
+@@ -5,6 +5,7 @@
+ #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
+ #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
+ 
++#include <cstdint>
+ #include <string>
+ 
+ // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
+--- a/src/core/browsing_data_remover_delegate_qt.h
++++ b/src/core/browsing_data_remover_delegate_qt.h
+@@ -42,6 +42,8 @@
+ 
+ #include "content/public/browser/browsing_data_remover_delegate.h"
+ 
++#include <cstdint>
++
+ namespace QtWebEngineCore {
+ 
+ class BrowsingDataRemoverDelegateQt : public content::BrowsingDataRemoverDelegate {
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild
index eacf340d227b..a9eb384e9067 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.8_p20230112.ebuild
@@ -114,6 +114,7 @@ PATCHES=(
 	"${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), pipewire-3
 	"${FILESDIR}/${PN}-5.15.8_p20230106-v8-opcode-constexpr.patch" # bug 889042
 	"${FILESDIR}/${PN}-5.15.8_p20230106-widevine.patch" # bug 888783
+	"${FILESDIR}/${PN}-5.15.8_p20230112-gcc13.patch" # bug 889724, bug 895196, bug 898902, bug 898634
 )
 
 qtwebengine_check-reqs() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-04-22 18:09 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2023-04-22 18:09 UTC (permalink / raw
  To: gentoo-commits

commit:     a8f07a7c7c14f7dd71fce70c31fa6603eeb43f63
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 22 16:49:21 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 22 18:09:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8f07a7c

dev-qt/qtwebengine: add 5.15.9_p20230421

Bug: https://bugs.gentoo.org/904373
Bug: https://bugs.gentoo.org/904290
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 .../qtwebengine-5.15.9_p20230421-gcc-13.patch      | 134 ++++++++++
 .../qtwebengine-5.15.9_p20230421.ebuild            | 272 +++++++++++++++++++++
 3 files changed, 407 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index fe4d8f25d96f..1aada11e4a56 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,5 +2,6 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.8_p20230313-patchset.tar.xz 45904 BLAKE2B 9f58b9808fd445a06e6a2cd6d5f7bc9782bd6de13138fdebc9e81bd9f69e7ae673a71bd3ed6b011a47e84cc64b5b703a7cfc8d5f740eaaa663da1db8ef9ef05b SHA512 21b0b853358260fa1bdc96c97c5b2af7007c744d10abeebf9f0e708a0cd7dece583d86c0554a4e327a0d615bb403b0d328acaa6622b50d7a8059bc0802edbcec
 DIST qtwebengine-5.15.8_p20230313.tar.xz 298163692 BLAKE2B 653e2577ea7e670fdffec2cf2db5392621109571b430b9b66c7bc23739a14eb36ffa5f989ec2b98d77e718b0a69bd2b3948f0340fd9e86aaf10372c8b13286ee SHA512 34062e54f95f441420b41ede88d0f0f98445677d301eedbe0be2e57cc5c280d4e564abb99ccf754eb2c0efaccc21ff4e34bc20163c970b4d5309ca85c5f37577
 DIST qtwebengine-5.15.9_p20230404.tar.xz 298175824 BLAKE2B 8a260c6d39d99698871154f59e86dece89ac7cb5bd08797e7f42aced638ef528c4272beb46346d39b3df14aac08f7ab4d286cc12688cb4ff62ff327258c3b841 SHA512 d97eecd3b2d0b4ad198f7c8484ed70ca6b2751ee9167a3c51c3406acbd18d06265249902c4c7b7ccd8285d7dd8dd2c8fbe4022612f5ca4b1a7972e1577059996
+DIST qtwebengine-5.15.9_p20230421.tar.xz 298205148 BLAKE2B 2969f37af6c53dab5847dc46a9b64f5756b4ea45f9ef3c48db980a1032e89ebd48e9ba4fdc8c56cb72044ab4f48477ac1f9c1171f333390155a7304288b77a0c SHA512 a78dd781056c63d98438186ba256ad03b35fe3870b877e56bce41ec135defc29ee9230a3482a69f8680cedc9328a683ffc62dab45a202b709d2a4017a1188cf3
 DIST qtwebengine-everywhere-src-6.4.3.tar.xz 440562844 BLAKE2B 86155ffbb12bef9dad461c2bb0dc4fce53b269c6f9f61cd1ec49cc25bb0516dcfc903ce8b48751c9c47614d448c2cd290f3f313d5fdfe0a3643534fa7e2e9f3f SHA512 e9e8bdeac942350bf779a9fabfb59ffdfec366ec23cb1c58fa416a777c9399bfa9828107f6a1c079414a8aa52a35d0547e3bd673053d994e19308e11733e0d39
 DIST qtwebengine-everywhere-src-6.5.0.tar.xz 411792556 BLAKE2B 42aa5023462ee2db6ef24da1858873897ac5d6bd170adc389617525745708529578dcbcf694d1cadf3b591770f4e925ad24f61500cd13ef90236bda412797cb7 SHA512 02413eaf5e4e4d5d8401bf28ea2362cc9f147cc002c014b1a50daf3dfa092b1c923652eefb0b727e94e36d3d53ddf93b5b4c5e8830986902b34b53a848d7a8e0

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.9_p20230421-gcc-13.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.9_p20230421-gcc-13.patch
new file mode 100644
index 000000000000..f8d180e97037
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.9_p20230421-gcc-13.patch
@@ -0,0 +1,134 @@
+Pending upstream:
+https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/473909
+https://codereview.qt-project.org/c/qt/qtwebengine/+/473911
+
+diff --git a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
+index 213b630..98266a1 100644
+--- a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
++++ b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include <cstdint>
++
+ #include "device/base/synchronization/one_writer_seqlock.h"
+ 
+ namespace device {
+diff --git a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h
+index 286a41c..25d2413 100644
+--- a/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h
++++ b/src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_H_
+ #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_FORMAT_H_
+ 
++#include <cstdint>
+ #include <string.h>
+ 
+ #include "gpu/command_buffer/common/gl2_types.h"
+diff --git a/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h b/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h
+index bcba574..f4916be 100644
+--- a/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h
++++ b/src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_COMMAND_BUFFER_SERVICE_SHARED_CONTEXT_STATE_H_
+ #define GPU_COMMAND_BUFFER_SERVICE_SHARED_CONTEXT_STATE_H_
+ 
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+ 
+diff --git a/src/3rdparty/chromium/gpu/config/gpu_util.h b/src/3rdparty/chromium/gpu/config/gpu_util.h
+index b4d6dfb..0dc300a 100644
+--- a/src/3rdparty/chromium/gpu/config/gpu_util.h
++++ b/src/3rdparty/chromium/gpu/config/gpu_util.h
+@@ -5,6 +5,8 @@
+ #ifndef GPU_CONFIG_GPU_UTIL_H_
+ #define GPU_CONFIG_GPU_UTIL_H_
+ 
++#include <cstdint>
++
+ #include "build/build_config.h"
+ #include "gpu/config/gpu_feature_info.h"
+ #include "gpu/gpu_export.h"
+diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
+index fa755dd..040656b 100644
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
+@@ -4,6 +4,7 @@
+ 
+ #include "third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.h"
+ 
++#include <cstdint>
+ #include <set>
+ 
+ #include "base/memory/singleton.h"
+diff --git a/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc b/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
+index 8c8f4fe..4e8788b 100644
+--- a/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
++++ b/src/3rdparty/chromium/third_party/libgav1/src/src/utils/threadpool.cc
+@@ -28,6 +28,7 @@
+ #include <cassert>
+ #include <cinttypes>
+ #include <cstddef>
++#include <cstdio>
+ #include <cstdint>
+ #include <cstring>
+ #include <new>
+diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
+index 74cc958..098433c 100644
+--- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
++++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/proto_importer_module.h
+@@ -17,6 +17,8 @@
+ #ifndef SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_PROTO_IMPORTER_MODULE_H_
+ #define SRC_TRACE_PROCESSOR_IMPORTERS_PROTO_PROTO_IMPORTER_MODULE_H_
+ 
++#include <cstdint>
++
+ #include "perfetto/ext/base/optional.h"
+ #include "perfetto/trace_processor/status.h"
+ #include "src/trace_processor/trace_blob_view.h"
+diff --git a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+index 0a19810..fcfe94c 100644
+--- a/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp
+@@ -9,10 +9,9 @@
+ #include "include/utils/SkParse.h"
+ 
+ #include <algorithm> // std::lower_bound
++#include <cstring>
+ #include <iterator>
+ 
+-#include <algorithm> // std::lower_bound
+-
+ static constexpr const char* gColorNames[] = {
+     "aliceblue",
+     "antiquewhite",
+diff --git a/src/3rdparty/chromium/v8/src/base/macros.h b/src/3rdparty/chromium/v8/src/base/macros.h
+index 37cab78..4220eac 100644
+--- a/src/3rdparty/chromium/v8/src/base/macros.h
++++ b/src/3rdparty/chromium/v8/src/base/macros.h
+@@ -5,6 +5,7 @@
+ #ifndef V8_BASE_MACROS_H_
+ #define V8_BASE_MACROS_H_
+ 
++#include <cstdint>
+ #include <limits>
+ #include <type_traits>
+ 
+diff --git a/src/core/browsing_data_remover_delegate_qt.h b/src/core/browsing_data_remover_delegate_qt.h
+index a10409f..5adfbbe 100644
+--- a/src/core/browsing_data_remover_delegate_qt.h
++++ b/src/core/browsing_data_remover_delegate_qt.h
+@@ -40,6 +40,8 @@
+ #ifndef BROWSING_DATA_REMOVER_DELEGATE_QT_H
+ #define BROWSING_DATA_REMOVER_DELEGATE_QT_H
+ 
++#include <cstdint>
++
+ #include "content/public/browser/browsing_data_remover_delegate.h"
+ 
+ namespace QtWebEngineCore {
+
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.9_p20230421.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.9_p20230421.ebuild
new file mode 100644
index 000000000000..d78c39e5f62a
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.9_p20230421.ebuild
@@ -0,0 +1,272 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="xml(+)"
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.8_p20230313-patchset.tar.xz
+	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse )
+	screencast? ( media-video/pipewire:= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${WORKDIR}/${PN}-5.15.8_p20230313-patchset"
+	"${FILESDIR}/${P}-gcc-13.patch"
+)
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	# replaced by new patch in FILESDIR but not spinning new patchset just yet
+	rm "${WORKDIR}"/qtwebengine-5.15.8_p20230313-patchset/015-gcc13.patch || die
+
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.3 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang ; then
+		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
+			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+		fi
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		popd > /dev/null || die
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		# clang-format is used to re-format sources
+		# but we'd rather make it a no-op than introduce a clang dependency
+		# https://bugs.gentoo.org/849458
+		clang-format() { : ; }
+		export -f clang-format || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex screencast -webengine-webrtc-pipewire '')
+		-qt-ffmpeg # bug 831487
+		$(qt_use system-icu webengine-icu)
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
+	elog "with additional security fixes from newer versions. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-04-26  3:54 Ionen Wolkens
  0 siblings, 0 replies; 50+ messages in thread
From: Ionen Wolkens @ 2023-04-26  3:54 UTC (permalink / raw
  To: gentoo-commits

commit:     9b8f2313546c9a4c1c9dd7a3fc59f77b7147d43d
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 25 23:38:00 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 26 03:54:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b8f2313

dev-qt/qtwebengine: fix qutebrowser's hinting issue (6.5 regression)

Without this, scripts that qutebrowser (or others) inject may
semi-randomly fail leading to e.g. keyword hints not working, or
users' greasemonkey scripts not being loaded.

qutebrowser has opted to not do messy mitigations (at least for now)
and a fix here makes more sense. Albeit fix was not merged upstream
yet, "hopefully" will make it in 6.5.1 if doesn't miss the window.

Given qtwebengine is not used for much in Gentoo beside qutebrowser
so far, should be worth the revbump/rebuild.

Acked-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qtwebengine-6.5.0-userscripts-loading.patch    | 112 +++++++++++++++++++++
 ...6.5.0-r1.ebuild => qtwebengine-6.5.0-r2.ebuild} |   5 +-
 2 files changed, 116 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch
new file mode 100644
index 000000000000..6a5802829bb4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch
@@ -0,0 +1,112 @@
+https://github.com/qutebrowser/qutebrowser/issues/7662
+https://bugreports.qt.io/browse/QTBUG-113109
+
+https://codereview.qt-project.org/c/qt/qtwebengine/+/474114
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Mon, 24 Apr 2023 17:33:17 +0200
+Subject: [PATCH] Fix user script management when subframes are present
+
+Only the main frames should administer scripts associated with it.
+
+Pick-to: 6.5
+Fixes: QTBUG-113109
+Change-Id: Ibda66f55ef99da632134a9de1425797262faba9b
+--- a/src/core/renderer/user_resource_controller.cpp
++++ b/src/core/renderer/user_resource_controller.cpp
+@@ -289,10 +289,11 @@
+     FrameUserScriptMap::iterator it = m_frameUserScriptMap.find(renderFrame);
+     if (it == m_frameUserScriptMap.end()) // ASSERT maybe?
+         return;
+-    for (uint64_t id : std::as_const(it.value())) {
+-        m_scripts.remove(id);
++    if (renderFrame->IsMainFrame()) {
++        for (uint64_t id : std::as_const(it.value()))
++            m_scripts.remove(id);
+     }
+-    m_frameUserScriptMap.remove(renderFrame);
++    m_frameUserScriptMap.erase(it);
+ }
+ 
+ void UserResourceController::addScriptForFrame(const QtWebEngineCore::UserScriptData &script,
+@@ -304,7 +305,8 @@
+ 
+     if (!(*it).contains(script.scriptId))
+         (*it).append(script.scriptId);
+-    m_scripts.insert(script.scriptId, script);
++    if (!frame || frame->IsMainFrame())
++        m_scripts.insert(script.scriptId, script);
+ }
+ 
+ void UserResourceController::removeScriptForFrame(const QtWebEngineCore::UserScriptData &script,
+@@ -315,7 +317,8 @@
+         return;
+ 
+     (*it).removeOne(script.scriptId);
+-    m_scripts.remove(script.scriptId);
++    if (!frame || frame->IsMainFrame())
++        m_scripts.remove(script.scriptId);
+ }
+ 
+ void UserResourceController::clearScriptsForFrame(content::RenderFrame *frame)
+@@ -323,8 +326,10 @@
+     FrameUserScriptMap::iterator it = m_frameUserScriptMap.find(frame);
+     if (it == m_frameUserScriptMap.end())
+         return;
+-    for (uint64_t id : std::as_const(it.value()))
+-        m_scripts.remove(id);
++    if (!frame || frame->IsMainFrame()) {
++        for (uint64_t id : std::as_const(it.value()))
++            m_scripts.remove(id);
++    }
+ 
+     m_frameUserScriptMap.remove(frame);
+ }
+--- a/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
++++ b/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
+@@ -76,6 +76,7 @@
+     void scriptsInNestedIframes();
+     void matchQrcUrl();
+     void injectionOrder();
++    void reloadWithSubframes();
+ };
+ 
+ void tst_QWebEngineScript::domEditing()
+@@ -694,6 +695,38 @@
+     QTRY_COMPARE(page.log, expected);
+ }
+ 
++void tst_QWebEngineScript::reloadWithSubframes()
++{
++    class Page : public QWebEnginePage
++    {
++    public:
++        Page() : QWebEnginePage() {}
++        QVector<QString> log;
++
++    protected:
++        void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel, const QString &message, int,
++                                      const QString &) override
++        {
++            log.append(message);
++        }
++    } page;
++
++    QWebEngineScript s;
++    s.setInjectionPoint(QWebEngineScript::DocumentCreation);
++    s.setSourceCode(QStringLiteral("console.log('Hello');"));
++    page.scripts().insert(s);
++
++    page.setHtml(QStringLiteral("<body>"
++                                "  <h1>Test scripts working on reload </h1>"
++                                "  <iframe src='about://blank'>"
++                                "  </iframe>"
++                                "</body>"));
++    QTRY_COMPARE(page.log.size(), 1);
++
++    page.triggerAction(QWebEnginePage::Reload);
++    QTRY_COMPARE(page.log.size(), 2);
++}
++
+ QTEST_MAIN(tst_QWebEngineScript)
+ 
+ #include "tst_qwebenginescript.moc"

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.0-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild
similarity index 98%
rename from dev-qt/qtwebengine/qtwebengine-6.5.0-r1.ebuild
rename to dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild
index f8bac25f51b1..912effe24979 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.5.0-r1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild
@@ -87,7 +87,10 @@ DEPEND="${RDEPEND}
 	media-libs/libglvnd
 "
 
-PATCHES=( "${FILESDIR}/${PN}-6.5.0-gcc-13-build.patch" )
+PATCHES=(
+	"${FILESDIR}/${PN}-6.5.0-gcc-13-build.patch"
+	"${FILESDIR}/${PN}-6.5.0-userscripts-loading.patch"
+)
 
 python_check_deps() {
 	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-06-10 13:33 Jimi Huotari
  0 siblings, 0 replies; 50+ messages in thread
From: Jimi Huotari @ 2023-06-10 13:33 UTC (permalink / raw
  To: gentoo-commits

commit:     7a57f531764a85be38fdc0577a8df620150fb358
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  6 19:16:25 2023 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 13:33:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a57f531

dev-qt/qtwebengine: add 6.5.1

Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...ine-6.5.1-normalise-clipboard-permissions.patch |  99 +++++++++
 dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild        | 246 +++++++++++++++++++++
 3 files changed, 346 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 1641a6908ec3..78e692b2ce43 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,3 +2,4 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.8_p20230313-patchset.tar.xz 45904 BLAKE2B 9f58b9808fd445a06e6a2cd6d5f7bc9782bd6de13138fdebc9e81bd9f69e7ae673a71bd3ed6b011a47e84cc64b5b703a7cfc8d5f740eaaa663da1db8ef9ef05b SHA512 21b0b853358260fa1bdc96c97c5b2af7007c744d10abeebf9f0e708a0cd7dece583d86c0554a4e327a0d615bb403b0d328acaa6622b50d7a8059bc0802edbcec
 DIST qtwebengine-5.15.9_p20230505.tar.xz 298713240 BLAKE2B 835e93a0b33e7294d72571c9031524a0e3002100e36433501cc83bac91646b788c1030ee9ce90edce39c6ee2ee61a1d697e021b6346804d3be0f0b930e6084d0 SHA512 61d16399a7d8f5c135c5c097c2dcb7ebeccfe7e31769e950443ffa8178f55ad22d90307b7bd2b2ebdcb3ee0dd2064266159c27da4fc5b35ddac346ca9f336cc1
 DIST qtwebengine-everywhere-src-6.5.0.tar.xz 411792556 BLAKE2B 42aa5023462ee2db6ef24da1858873897ac5d6bd170adc389617525745708529578dcbcf694d1cadf3b591770f4e925ad24f61500cd13ef90236bda412797cb7 SHA512 02413eaf5e4e4d5d8401bf28ea2362cc9f147cc002c014b1a50daf3dfa092b1c923652eefb0b727e94e36d3d53ddf93b5b4c5e8830986902b34b53a848d7a8e0
+DIST qtwebengine-everywhere-src-6.5.1.tar.xz 412377436 BLAKE2B 1ff179daf1433246b931558f52f1cf193eff4a1d646e6f6037a40fe85fa28cf944b7f361fd68cb01b1247680d376762c2c5317be125f5b24cc08e4bbfa6f0def SHA512 68aae60184af6189b70207a458458a3dab23d49891f12ac57ede01a0eb43c403378e7d85baa074d3b12120624eff78d674cbd9112f7d1be84c33ce9bf95ca428

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch
new file mode 100644
index 000000000000..7caf202072c7
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch
@@ -0,0 +1,99 @@
+Qt Upstream: https://code.qt.io/cgit/qt/qtwebengine.git/commit/?h=6.5&id=281174f5e010d819a49562b48b2c2067255a41c6
+
+From 281174f5e010d819a49562b48b2c2067255a41c6 Mon Sep 17 00:00:00 2001
+From: Szabolcs David <davidsz@inf.u-szeged.hu>
+Date: Fri, 19 May 2023 01:00:41 +0200
+Subject: Normalize clipboard permissions
+
+Handle clipboard read and write permissions the same way everywhere.
+
+Fixes: QTBUG-113579
+Change-Id: If1f271e8591c54f4ee2f935486502df19d5f6b3e
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+(cherry picked from commit 79e4a37668a9176373e81fe4fc8dfe29f6c8c37b)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+---
+ src/core/permission_manager_qt.cpp | 46 +++++++++++++++++++-------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
+index 9d98c0592..28e1c981d 100644
+--- a/src/core/permission_manager_qt.cpp
++++ b/src/core/permission_manager_qt.cpp
+@@ -84,6 +84,22 @@ static blink::mojom::PermissionStatus toBlink(ProfileAdapter::PermissionState re
+     }
+ }
+ 
++static blink::mojom::PermissionStatus getStatusFromSettings(blink::PermissionType type, WebEngineSettings *settings)
++{
++    switch (type) {
++    case blink::PermissionType::CLIPBOARD_READ_WRITE:
++        if (!settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
++            return blink::mojom::PermissionStatus::DENIED;
++         Q_FALLTHROUGH();
++    case blink::PermissionType::CLIPBOARD_SANITIZED_WRITE:
++        if (!settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard))
++            return blink::mojom::PermissionStatus::DENIED;
++        return blink::mojom::PermissionStatus::GRANTED;
++    default:
++        return blink::mojom::PermissionStatus::ASK;
++    }
++}
++
+ PermissionManagerQt::PermissionManagerQt()
+     : m_requestIdCount(0)
+ {
+@@ -179,13 +195,8 @@ void PermissionManagerQt::RequestPermission(blink::PermissionType permission,
+     Q_ASSERT(contentsDelegate);
+ 
+     ProfileAdapter::PermissionType permissionType = toQt(permission);
+-    if (permissionType == ProfileAdapter::ClipboardRead) {
+-        WebEngineSettings *settings = contentsDelegate->webEngineSettings();
+-        if (settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)
+-            && settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
+-            std::move(callback).Run(blink::mojom::PermissionStatus::GRANTED);
+-        else
+-            std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
++    if (permissionType == ProfileAdapter::ClipboardRead || permissionType == ProfileAdapter::ClipboardWrite) {
++        std::move(callback).Run(getStatusFromSettings(permission, contentsDelegate->webEngineSettings()));
+         return;
+     } else if (!canRequestPermissionFor(permissionType)) {
+         std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
+@@ -220,14 +231,9 @@ void PermissionManagerQt::RequestPermissions(const std::vector<blink::Permission
+         const ProfileAdapter::PermissionType permissionType = toQt(permission);
+         if (permissionType == ProfileAdapter::UnsupportedPermission)
+             result.push_back(blink::mojom::PermissionStatus::DENIED);
+-        else if (permissionType == ProfileAdapter::ClipboardRead) {
+-            WebEngineSettings *settings = contentsDelegate->webEngineSettings();
+-            if (settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)
+-                && settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
+-                result.push_back(blink::mojom::PermissionStatus::GRANTED);
+-            else
+-                result.push_back(blink::mojom::PermissionStatus::DENIED);
+-        } else {
++        else if (permissionType == ProfileAdapter::ClipboardRead || permissionType == ProfileAdapter::ClipboardWrite)
++            result.push_back(getStatusFromSettings(permission, contentsDelegate->webEngineSettings()));
++        else {
+             answerable = false;
+             break;
+         }
+@@ -280,14 +286,8 @@ blink::mojom::PermissionStatus PermissionManagerQt::GetPermissionStatusForCurren
+             permission == blink::PermissionType::CLIPBOARD_SANITIZED_WRITE) {
+         WebContentsDelegateQt *delegate = static_cast<WebContentsDelegateQt *>(
+                 content::WebContents::FromRenderFrameHost(render_frame_host)->GetDelegate());
+-        if (!delegate->webEngineSettings()->testAttribute(
+-                    QWebEngineSettings::JavascriptCanAccessClipboard))
+-            return blink::mojom::PermissionStatus::DENIED;
+-        if (permission == blink::PermissionType::CLIPBOARD_READ_WRITE
+-            && !delegate->webEngineSettings()->testAttribute(
+-                    QWebEngineSettings::JavascriptCanPaste))
+-            return blink::mojom::PermissionStatus::DENIED;
+-        return blink::mojom::PermissionStatus::GRANTED;
++        Q_ASSERT(delegate);
++        return getStatusFromSettings(permission, delegate->webEngineSettings());
+     }
+ 
+     return GetPermissionStatus(
+-- 
+cgit v1.2.3
+

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild
new file mode 100644
index 000000000000..93f241ac06e2
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="xml(+)"
+CHROMIUM_VER="108.0.5359.181"
+CHROMIUM_PATCHES_VER="112.0.5615.138"
+
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64"
+fi
+
+IUSE="
+	alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
+	+system-icu widgets
+"
+REQUIRED_USE="designer? ( widgets )"
+
+BDEPEND="
+	$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+"
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtdeclarative-${PV}*
+	=dev-qt/qtwebchannel-${PV}*
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/openjpeg:2=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libxcb:=
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbcommon
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libxshmfence:=
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	geolocation? ( =dev-qt/qtpositioning-${PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse:= )
+	screencast? ( media-video/pipewire:= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtbase-${PV}*[widgets]
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+
+PATCHES=( "${FILESDIR}/${PN}-6.5.1-normalise-clipboard-permissions.patch" )
+
+python_check_deps() {
+	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
+}
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
+	elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+	# bug 307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+		ewarn
+	fi
+	eshopts_pop
+
+	case ${QT6_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	# bug 620444 - ensure local headers are used
+	find . -type f -name "*.pr[fio]" -exec \
+		sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	qt6-build_src_prepare
+}
+
+src_configure() {
+	export NINJA_PATH="${BROOT}"/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local mycmakeargs=(
+		#-DQT_FEATURE_accessibility=off
+		#-DQT_FEATURE_force_asserts=off
+		#-DQT_FEATURE_opengl=off
+		#-DQT_FEATURE_printer=off
+		-DQT_FEATURE_qtpdf_build=off
+		-DQT_FEATURE_qtpdf_quick_build=off
+		-DQT_FEATURE_qtpdf_widgets_build=off
+		-DQT_FEATURE_qtwebengine_build=on
+		-DQT_FEATURE_qtwebengine_quick_build=on
+		-DQT_FEATURE_qtwebengine_widgets_build=on
+		#-DQT_FEATURE_ssl=off
+		#-DQT_FEATURE_static=off
+		#-DQT_FEATURE_system_zlib=off
+		#-DQT_FEATURE_system_png=off
+		#-DQT_FEATURE_system_jpeg=off
+		#-DQT_FEATURE_system_freetype=off
+		#-DQT_FEATURE_system_harfbuzz=off
+		#-DQT_FEATURE_use_gold_linker=off
+		#-DQT_FEATURE_use_lld_linker=off
+		-DQT_FEATURE_webengine_embedded_build=off
+		-DQT_FEATURE_webengine_extensions=on
+		#-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
+		-DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
+		-DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
+		#-DQT_FEATURE_webengine_jumbo_file_merge_limit
+		-DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
+		-DQT_FEATURE_webengine_native_spellchecker=off
+		-DQT_FEATURE_webengine_ozone_x11=on
+		-DQT_FEATURE_webengine_pepper_plugins=on
+		-DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
+		-DQT_FEATURE_webengine_printing_and_pdf=on
+		-DQT_FEATURE_webengine_sanitizer=on
+		-DQT_FEATURE_webengine_spellchecker=on
+		-DQT_FEATURE_webengine_system_opus=on
+		-DQT_FEATURE_webengine_system_libwebp=on
+		-DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
+		-DQT_FEATURE_webengine_system_ffmpeg=off # https://bugs.gentoo.org/831487
+		-DQT_FEATURE_webengine_system_icu=$(usex system-icu)
+		-DQT_FEATURE_webengine_system_libevent=on
+		-DQT_FEATURE_webengine_system_libopenjpeg2=on
+		-DQT_FEATURE_webengine_system_libpci=on
+		-DQT_FEATURE_webengine_system_libpng=on
+		-DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
+		-DQT_FEATURE_webengine_system_zlib=on
+		-DQT_FEATURE_webengine_webchannel=on
+		-DQT_FEATURE_webengine_webrtc=on
+		-DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
+		#-DQT_FEATURE_xcb=off
+	)
+
+	qt6-build_src_configure
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-06-10 13:33 Jimi Huotari
  0 siblings, 0 replies; 50+ messages in thread
From: Jimi Huotari @ 2023-06-10 13:33 UTC (permalink / raw
  To: gentoo-commits

commit:     7dfb16f417e4e2a5e654cadb0c205172d675da07
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  7 14:33:01 2023 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 13:33:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7dfb16f4

dev-qt/qtwebengine: drop 6.5.0-r2

Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 -
 .../files/qtwebengine-6.5.0-gcc-13-build.patch     | 394 ---------------------
 .../qtwebengine-6.5.0-userscripts-loading.patch    | 112 ------
 dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild     | 249 -------------
 4 files changed, 756 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 78e692b2ce43..6cbfc321ebb4 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,5 +1,4 @@
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
 DIST qtwebengine-5.15.8_p20230313-patchset.tar.xz 45904 BLAKE2B 9f58b9808fd445a06e6a2cd6d5f7bc9782bd6de13138fdebc9e81bd9f69e7ae673a71bd3ed6b011a47e84cc64b5b703a7cfc8d5f740eaaa663da1db8ef9ef05b SHA512 21b0b853358260fa1bdc96c97c5b2af7007c744d10abeebf9f0e708a0cd7dece583d86c0554a4e327a0d615bb403b0d328acaa6622b50d7a8059bc0802edbcec
 DIST qtwebengine-5.15.9_p20230505.tar.xz 298713240 BLAKE2B 835e93a0b33e7294d72571c9031524a0e3002100e36433501cc83bac91646b788c1030ee9ce90edce39c6ee2ee61a1d697e021b6346804d3be0f0b930e6084d0 SHA512 61d16399a7d8f5c135c5c097c2dcb7ebeccfe7e31769e950443ffa8178f55ad22d90307b7bd2b2ebdcb3ee0dd2064266159c27da4fc5b35ddac346ca9f336cc1
-DIST qtwebengine-everywhere-src-6.5.0.tar.xz 411792556 BLAKE2B 42aa5023462ee2db6ef24da1858873897ac5d6bd170adc389617525745708529578dcbcf694d1cadf3b591770f4e925ad24f61500cd13ef90236bda412797cb7 SHA512 02413eaf5e4e4d5d8401bf28ea2362cc9f147cc002c014b1a50daf3dfa092b1c923652eefb0b727e94e36d3d53ddf93b5b4c5e8830986902b34b53a848d7a8e0
 DIST qtwebengine-everywhere-src-6.5.1.tar.xz 412377436 BLAKE2B 1ff179daf1433246b931558f52f1cf193eff4a1d646e6f6037a40fe85fa28cf944b7f361fd68cb01b1247680d376762c2c5317be125f5b24cc08e4bbfa6f0def SHA512 68aae60184af6189b70207a458458a3dab23d49891f12ac57ede01a0eb43c403378e7d85baa074d3b12120624eff78d674cbd9112f7d1be84c33ce9bf95ca428

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.0-gcc-13-build.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.0-gcc-13-build.patch
deleted file mode 100644
index 0993771177b4..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.0-gcc-13-build.patch
+++ /dev/null
@@ -1,394 +0,0 @@
-Upstream: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=108-based&id=9de0d8a90d9
-
-From 9de0d8a90d9b0176542db8b54d678a9fcbb69337 Mon Sep 17 00:00:00 2001
-From: Martin Negyokru <negyokru@inf.u-szeged.hu>
-Date: Fri, 3 Mar 2023 16:56:50 +0100
-Subject: Fixes for building with GCC-13
-
-Pick-to: 102-based
-Pick-to: 87-based
-Fixes: QTBUG-111697
-Change-Id: I51fca3b3eb627b2617ff5c6c051fa1182671244d
-Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/464490
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
----
- chromium/base/debug/profiler.h                                        | 1 +
- chromium/cc/trees/target_property.cc                                  | 2 ++
- chromium/components/metrics/psi_memory_parser.h                       | 2 ++
- chromium/components/viz/common/shared_element_resource_id.h           | 1 +
- chromium/content/public/browser/browsing_data_remover_delegate.h      | 1 +
- chromium/device/base/synchronization/one_writer_seqlock.h             | 1 +
- chromium/device/bluetooth/public/cpp/bluetooth_uuid.h                 | 1 +
- chromium/extensions/common/constants.h                                | 2 ++
- chromium/extensions/renderer/bindings/api_invocation_errors.h         | 1 +
- chromium/gpu/config/gpu_feature_info.h                                | 1 +
- chromium/net/base/parse_number.h                                      | 2 ++
- chromium/net/cookies/cookie_inclusion_status.h                        | 1 +
- .../net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h    | 1 +
- .../net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h  | 1 +
- chromium/pdf/document_attachment_info.h                               | 1 +
- chromium/sandbox/linux/syscall_broker/broker_file_permission.h        | 1 +
- chromium/third_party/angle/include/GLSLANG/ShaderVars.h               | 1 +
- .../blink/public/common/bluetooth/web_bluetooth_device_id.h           | 1 +
- .../third_party/blink/public/common/interest_group/auction_config.h   | 1 +
- .../blink/public/common/origin_trials/origin_trial_public_key.h       | 1 +
- .../renderer/platform/graphics/paint/effect_paint_property_node.h     | 2 +-
- chromium/third_party/pdfium/constants/annotation_flags.h              | 2 ++
- chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h        | 1 +
- chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h   | 4 ++++
- chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h      | 1 +
- chromium/ui/base/prediction/kalman_filter.h                           | 2 ++
- chromium/ui/events/types/scroll_types.h                               | 2 ++
- chromium/ui/gfx/geometry/linear_gradient.h                            | 1 +
- 28 files changed, 38 insertions(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/chromium/base/debug/profiler.h b/src/3rdparty/chromium/base/debug/profiler.h
-index 5f0deadd5d3..80c73feb922 100644
---- a/src/3rdparty/chromium/base/debug/profiler.h
-+++ b/src/3rdparty/chromium/base/debug/profiler.h
-@@ -6,6 +6,7 @@
- #define BASE_DEBUG_PROFILER_H_
- 
- #include <stddef.h>
-+#include <cstdint>
- 
- #include <string>
- 
-diff --git a/src/3rdparty/chromium/cc/trees/target_property.cc b/src/3rdparty/chromium/cc/trees/target_property.cc
-index f6e873a01a1..714bd5efed1 100644
---- a/src/3rdparty/chromium/cc/trees/target_property.cc
-+++ b/src/3rdparty/chromium/cc/trees/target_property.cc
-@@ -2,6 +2,8 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#include <cstdint>
-+
- #include "cc/trees/target_property.h"
- 
- #include "ui/gfx/animation/keyframe/target_property.h"
-diff --git a/src/3rdparty/chromium/components/metrics/psi_memory_parser.h b/src/3rdparty/chromium/components/metrics/psi_memory_parser.h
-index b8b22f4ab74..3d7ec9ca63a 100644
---- a/src/3rdparty/chromium/components/metrics/psi_memory_parser.h
-+++ b/src/3rdparty/chromium/components/metrics/psi_memory_parser.h
-@@ -5,6 +5,8 @@
- #ifndef COMPONENTS_METRICS_PSI_MEMORY_PARSER_H_
- #define COMPONENTS_METRICS_PSI_MEMORY_PARSER_H_
- 
-+#include <cstdint>
-+
- #include <string>
- 
- #include "base/gtest_prod_util.h"
-diff --git a/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h b/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
-index b39a2d3dc18..ca3d8aedaef 100644
---- a/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
-+++ b/src/3rdparty/chromium/components/viz/common/shared_element_resource_id.h
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
- #define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-diff --git a/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h b/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
-index ee75332f05f..c0168281e81 100644
---- a/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
-+++ b/src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h
-@@ -5,6 +5,7 @@
- #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
- #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- #include "base/callback_forward.h"
-diff --git a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
-index 528b6683ca2..e37a16b81be 100644
---- a/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
-+++ b/src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.h
-@@ -6,6 +6,7 @@
- #define DEVICE_BASE_SYNCHRONIZATION_ONE_WRITER_SEQLOCK_H_
- 
- #include <atomic>
-+#include <cstdint>
- #include <type_traits>
- 
- #include "base/atomicops.h"
-diff --git a/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
-index 816d3405eb0..15c4004c013 100644
---- a/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
-+++ b/src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h
-@@ -5,6 +5,7 @@
- #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
- #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_
- 
-+#include <cstdint>
- #include <ostream>
- #include <string>
- #include <vector>
-diff --git a/src/3rdparty/chromium/extensions/common/constants.h b/src/3rdparty/chromium/extensions/common/constants.h
-index bf6bac2b47c..b1a0d56ea64 100644
---- a/src/3rdparty/chromium/extensions/common/constants.h
-+++ b/src/3rdparty/chromium/extensions/common/constants.h
-@@ -5,6 +5,8 @@
- #ifndef EXTENSIONS_COMMON_CONSTANTS_H_
- #define EXTENSIONS_COMMON_CONSTANTS_H_
- 
-+#include <cstdint>
-+
- #include "base/files/file_path.h"
- #include "base/strings/string_piece_forward.h"
- #include "build/chromeos_buildflags.h"
-diff --git a/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h b/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
-index e21700ecfc4..3b704e83b06 100644
---- a/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
-+++ b/src/3rdparty/chromium/extensions/renderer/bindings/api_invocation_errors.h
-@@ -5,6 +5,7 @@
- #ifndef EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
- #define EXTENSIONS_RENDERER_BINDINGS_API_INVOCATION_ERRORS_H_
- 
-+#include <cstdint>
- #include <set>
- #include <string>
- 
-diff --git a/src/3rdparty/chromium/gpu/config/gpu_feature_info.h b/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
-index 1a7028e4717..b9e951c0a4f 100644
---- a/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
-+++ b/src/3rdparty/chromium/gpu/config/gpu_feature_info.h
-@@ -5,6 +5,7 @@
- #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
- #define GPU_CONFIG_GPU_FEATURE_INFO_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-diff --git a/src/3rdparty/chromium/net/base/parse_number.h b/src/3rdparty/chromium/net/base/parse_number.h
-index d6adf388e6f..ea360d1c927 100644
---- a/src/3rdparty/chromium/net/base/parse_number.h
-+++ b/src/3rdparty/chromium/net/base/parse_number.h
-@@ -5,6 +5,8 @@
- #ifndef NET_BASE_PARSE_NUMBER_H_
- #define NET_BASE_PARSE_NUMBER_H_
- 
-+#include <cstdint>
-+
- #include "base/strings/string_piece.h"
- #include "net/base/net_export.h"
- 
-diff --git a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
-index 5f289ddcd94..44f2f9eb1ff 100644
---- a/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
-+++ b/src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h
-@@ -6,6 +6,7 @@
- #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_
- 
- #include <bitset>
-+#include <cstdint>
- #include <ostream>
- #include <string>
- #include <vector>
-diff --git a/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h b/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
-index 6a300ed0c0b..3e30f1cb02f 100644
---- a/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
-+++ b/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_hkdf.h
-@@ -5,6 +5,7 @@
- #ifndef QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
- #define QUICHE_QUIC_CORE_CRYPTO_QUIC_HKDF_H_
- 
-+#include <cstdint>
- #include <vector>
- 
- #include "absl/strings/string_view.h"
-diff --git a/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h b/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
-index 52f15017283..db4d3108497 100644
---- a/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
-+++ b/src/3rdparty/chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.h
-@@ -5,6 +5,7 @@
- #ifndef QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
- #define QUICHE_QUIC_CORE_QUIC_CONNECTION_ID_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-diff --git a/src/3rdparty/chromium/pdf/document_attachment_info.h b/src/3rdparty/chromium/pdf/document_attachment_info.h
-index e0fffc2ca4e..095463fcb5b 100644
---- a/src/3rdparty/chromium/pdf/document_attachment_info.h
-+++ b/src/3rdparty/chromium/pdf/document_attachment_info.h
-@@ -5,6 +5,7 @@
- #ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
- #define PDF_DOCUMENT_ATTACHMENT_INFO_H_
- 
-+#include <cstdint>
- #include <string>
- 
- 
-diff --git a/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h b/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
-index b167ffb099a..2347d546167 100644
---- a/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
-+++ b/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_file_permission.h
-@@ -6,6 +6,7 @@
- #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_FILE_PERMISSION_H_
- 
- #include <bitset>
-+#include <cstdint>
- #include <string>
- 
- #include "sandbox/sandbox_export.h"
-diff --git a/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
-index 4b76d33af2f..4db1902d1b7 100644
---- a/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
-+++ b/src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h
-@@ -12,6 +12,7 @@
- 
- #include <algorithm>
- #include <array>
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-diff --git a/src/3rdparty/chromium/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h b/src/3rdparty/chromium/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
-index 7a74887af96..058870eef35 100644
---- a/src/3rdparty/chromium/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
-+++ b/src/3rdparty/chromium/third_party/blink/public/common/bluetooth/web_bluetooth_device_id.h
-@@ -6,6 +6,7 @@
- #define THIRD_PARTY_BLINK_PUBLIC_COMMON_BLUETOOTH_WEB_BLUETOOTH_DEVICE_ID_H_
- 
- #include <array>
-+#include <cstdint>
- #include <string>
- 
- #include "third_party/blink/public/common/common_export.h"
-diff --git a/src/3rdparty/chromium/third_party/blink/public/common/interest_group/auction_config.h b/src/3rdparty/chromium/third_party/blink/public/common/interest_group/auction_config.h
-index 5151ab7483f..51e7e1a58f0 100644
---- a/src/3rdparty/chromium/third_party/blink/public/common/interest_group/auction_config.h
-+++ b/src/3rdparty/chromium/third_party/blink/public/common/interest_group/auction_config.h
-@@ -7,6 +7,7 @@
- 
- #include <stdint.h>
- 
-+#include <cstdint>
- #include <limits>
- #include <string>
- #include <vector>
-diff --git a/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h b/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
-index c1b5f59f57e..246200991a5 100644
---- a/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
-+++ b/src/3rdparty/chromium/third_party/blink/public/common/origin_trials/origin_trial_public_key.h
-@@ -6,6 +6,7 @@
- #define THIRD_PARTY_BLINK_PUBLIC_COMMON_ORIGIN_TRIALS_ORIGIN_TRIAL_PUBLIC_KEY_H_
- 
- #include <array>
-+#include <cstdint>
- 
- namespace blink {
- 
-diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h b/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
-index e40a7620795..745b7b0891f 100644
---- a/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/paint/effect_paint_property_node.h
-@@ -122,7 +122,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
- 
-     // An identifier for a document transition shared element. `id.valid()`
-     // returns true if this has been set, and false otherwise.
--    DocumentTransitionSharedElementId document_transition_shared_element_id;
-+    blink::DocumentTransitionSharedElementId document_transition_shared_element_id;
- 
-     // An identifier to tag shared element resources generated and cached in the
-     // Viz process. This generated resource can be used as content for other
-diff --git a/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h b/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
-index d2731dac7a3..46bc87ef92a 100644
---- a/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
-+++ b/src/3rdparty/chromium/third_party/pdfium/constants/annotation_flags.h
-@@ -5,6 +5,8 @@
- #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
- #define CONSTANTS_ANNOTATION_FLAGS_H_
- 
-+#include <cstdint>
-+
- namespace pdfium {
- namespace annotation_flags {
- 
-diff --git a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
-index 1b4c53815bc..472042fabc4 100644
---- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
-+++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h
-@@ -18,6 +18,7 @@
- #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
- 
- #include <array>
-+#include <cstdint>
- #include <string>
- 
- #include "perfetto/ext/base/optional.h"
-diff --git a/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h b/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
-index b7c586b80eb..9e073d4e1b8 100644
---- a/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
-+++ b/src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
-@@ -2393,6 +2393,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeVirtualBlockStatsString(VmaVirtualBlock V
- #include <cstring>
- #include <utility>
- 
-+#if VMA_STATS_STRING_ENABLED
-+#include <cstdio>
-+#endif  // VMA_STATS_STRING_ENABLED
-+
- #if VMA_RECORDING_ENABLED
-     #include <chrono>
-     #if defined(_WIN32)
-diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
-index 4190a79dc09..5a9285f0071 100644
---- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
-+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h
-@@ -12,6 +12,7 @@
- #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
- #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_
- 
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
-diff --git a/src/3rdparty/chromium/ui/base/prediction/kalman_filter.h b/src/3rdparty/chromium/ui/base/prediction/kalman_filter.h
-index bee3f946e9c..f7c8716ca33 100644
---- a/src/3rdparty/chromium/ui/base/prediction/kalman_filter.h
-+++ b/src/3rdparty/chromium/ui/base/prediction/kalman_filter.h
-@@ -5,6 +5,8 @@
- #ifndef UI_BASE_PREDICTION_KALMAN_FILTER_H_
- #define UI_BASE_PREDICTION_KALMAN_FILTER_H_
- 
-+#include <cstdint>
-+
- #include "base/component_export.h"
- #include "ui/gfx/geometry/matrix3_f.h"
- 
-diff --git a/src/3rdparty/chromium/ui/events/types/scroll_types.h b/src/3rdparty/chromium/ui/events/types/scroll_types.h
-index be6b2779f41..dbe2e5cf746 100644
---- a/src/3rdparty/chromium/ui/events/types/scroll_types.h
-+++ b/src/3rdparty/chromium/ui/events/types/scroll_types.h
-@@ -5,6 +5,8 @@
- #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
- #define UI_EVENTS_TYPES_SCROLL_TYPES_H_
- 
-+#include <cstdint>
-+
- namespace ui {
- 
- enum class ScrollGranularity : uint8_t {
-diff --git a/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h b/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
-index 65cd4cb07c7..ab0ce5808c3 100644
---- a/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
-+++ b/src/3rdparty/chromium/ui/gfx/geometry/linear_gradient.h
-@@ -6,6 +6,7 @@
- #define UI_GFX_LINEAR_GRADIENT_H_
- 
- #include <array>
-+#include <cstdint>
- #include <string>
- 
- #include "ui/gfx/geometry/geometry_skia_export.h"
--- 
-cgit v1.2.3
-

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch
deleted file mode 100644
index 6a5802829bb4..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-https://github.com/qutebrowser/qutebrowser/issues/7662
-https://bugreports.qt.io/browse/QTBUG-113109
-
-https://codereview.qt-project.org/c/qt/qtwebengine/+/474114
-From: Allan Sandfeld Jensen <allan.jensen@qt.io>
-Date: Mon, 24 Apr 2023 17:33:17 +0200
-Subject: [PATCH] Fix user script management when subframes are present
-
-Only the main frames should administer scripts associated with it.
-
-Pick-to: 6.5
-Fixes: QTBUG-113109
-Change-Id: Ibda66f55ef99da632134a9de1425797262faba9b
---- a/src/core/renderer/user_resource_controller.cpp
-+++ b/src/core/renderer/user_resource_controller.cpp
-@@ -289,10 +289,11 @@
-     FrameUserScriptMap::iterator it = m_frameUserScriptMap.find(renderFrame);
-     if (it == m_frameUserScriptMap.end()) // ASSERT maybe?
-         return;
--    for (uint64_t id : std::as_const(it.value())) {
--        m_scripts.remove(id);
-+    if (renderFrame->IsMainFrame()) {
-+        for (uint64_t id : std::as_const(it.value()))
-+            m_scripts.remove(id);
-     }
--    m_frameUserScriptMap.remove(renderFrame);
-+    m_frameUserScriptMap.erase(it);
- }
- 
- void UserResourceController::addScriptForFrame(const QtWebEngineCore::UserScriptData &script,
-@@ -304,7 +305,8 @@
- 
-     if (!(*it).contains(script.scriptId))
-         (*it).append(script.scriptId);
--    m_scripts.insert(script.scriptId, script);
-+    if (!frame || frame->IsMainFrame())
-+        m_scripts.insert(script.scriptId, script);
- }
- 
- void UserResourceController::removeScriptForFrame(const QtWebEngineCore::UserScriptData &script,
-@@ -315,7 +317,8 @@
-         return;
- 
-     (*it).removeOne(script.scriptId);
--    m_scripts.remove(script.scriptId);
-+    if (!frame || frame->IsMainFrame())
-+        m_scripts.remove(script.scriptId);
- }
- 
- void UserResourceController::clearScriptsForFrame(content::RenderFrame *frame)
-@@ -323,8 +326,10 @@
-     FrameUserScriptMap::iterator it = m_frameUserScriptMap.find(frame);
-     if (it == m_frameUserScriptMap.end())
-         return;
--    for (uint64_t id : std::as_const(it.value()))
--        m_scripts.remove(id);
-+    if (!frame || frame->IsMainFrame()) {
-+        for (uint64_t id : std::as_const(it.value()))
-+            m_scripts.remove(id);
-+    }
- 
-     m_frameUserScriptMap.remove(frame);
- }
---- a/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
-+++ b/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp
-@@ -76,6 +76,7 @@
-     void scriptsInNestedIframes();
-     void matchQrcUrl();
-     void injectionOrder();
-+    void reloadWithSubframes();
- };
- 
- void tst_QWebEngineScript::domEditing()
-@@ -694,6 +695,38 @@
-     QTRY_COMPARE(page.log, expected);
- }
- 
-+void tst_QWebEngineScript::reloadWithSubframes()
-+{
-+    class Page : public QWebEnginePage
-+    {
-+    public:
-+        Page() : QWebEnginePage() {}
-+        QVector<QString> log;
-+
-+    protected:
-+        void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel, const QString &message, int,
-+                                      const QString &) override
-+        {
-+            log.append(message);
-+        }
-+    } page;
-+
-+    QWebEngineScript s;
-+    s.setInjectionPoint(QWebEngineScript::DocumentCreation);
-+    s.setSourceCode(QStringLiteral("console.log('Hello');"));
-+    page.scripts().insert(s);
-+
-+    page.setHtml(QStringLiteral("<body>"
-+                                "  <h1>Test scripts working on reload </h1>"
-+                                "  <iframe src='about://blank'>"
-+                                "  </iframe>"
-+                                "</body>"));
-+    QTRY_COMPARE(page.log.size(), 1);
-+
-+    page.triggerAction(QWebEnginePage::Reload);
-+    QTRY_COMPARE(page.log.size(), 2);
-+}
-+
- QTEST_MAIN(tst_QWebEngineScript)
- 
- #include "tst_qwebenginescript.moc"

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild
deleted file mode 100644
index 912effe24979..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-CHROMIUM_VER="108.0.5359.181"
-CHROMIUM_PATCHES_VER="110.0.5481.104"
-
-inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
-
-DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="~amd64"
-fi
-
-IUSE="
-	alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
-	+system-icu widgets
-"
-REQUIRED_USE="designer? ( widgets )"
-
-BDEPEND="
-	$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-"
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtdeclarative-${PV}*
-	=dev-qt/qtwebchannel-${PV}*
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/openjpeg:2=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libxcb:=
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbcommon
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libxshmfence:=
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	geolocation? ( =dev-qt/qtpositioning-${PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-libs/libpulse:= )
-	screencast? ( media-video/pipewire:= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtbase-${PV}*[widgets]
-	)
-"
-DEPEND="${RDEPEND}
-	media-libs/libglvnd
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-6.5.0-gcc-13-build.patch"
-	"${FILESDIR}/${PN}-6.5.0-userscripts-loading.patch"
-)
-
-python_check_deps() {
-	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
-	# bug #307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-	fi
-	eshopts_pop
-
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	# (check-reqs added for bug #570534)
-	#
-	# Estimate the amount of RAM required
-	# Multiplier is *10 because Bash doesn't do floating point maths.
-	# Let's crudely assume ~2GB per compiler job for GCC.
-	local multiplier=20
-
-	# And call it ~1.5GB for Clang.
-	if tc-is-clang ; then
-		multiplier=15
-	fi
-
-	local CHECKREQS_DISK_BUILD="7G"
-	local CHECKREQS_DISK_USR="150M"
-	if ! has "distcc" ${FEATURES} ; then
-		# bug #830661
-		# Not super realistic to come up with good estimates for distcc right now
-		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
-	fi
-
-	check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
-	qtwebengine_check-reqs
-}
-
-pkg_setup() {
-	qtwebengine_check-reqs
-	python-any-r1_pkg_setup
-}
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
-	elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}
-
-src_unpack() {
-	# bug 307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-		ewarn
-	fi
-	eshopts_pop
-
-	case ${QT6_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	# bug 620444 - ensure local headers are used
-	find . -type f -name "*.pr[fio]" -exec \
-		sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	qt6-build_src_prepare
-}
-
-src_configure() {
-	export NINJA_PATH="${BROOT}"/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local mycmakeargs=(
-		#-DQT_FEATURE_accessibility=off
-		#-DQT_FEATURE_force_asserts=off
-		#-DQT_FEATURE_opengl=off
-		#-DQT_FEATURE_printer=off
-		-DQT_FEATURE_qtpdf_build=off
-		-DQT_FEATURE_qtpdf_quick_build=off
-		-DQT_FEATURE_qtpdf_widgets_build=off
-		-DQT_FEATURE_qtwebengine_build=on
-		-DQT_FEATURE_qtwebengine_quick_build=on
-		-DQT_FEATURE_qtwebengine_widgets_build=on
-		#-DQT_FEATURE_ssl=off
-		#-DQT_FEATURE_static=off
-		#-DQT_FEATURE_system_zlib=off
-		#-DQT_FEATURE_system_png=off
-		#-DQT_FEATURE_system_jpeg=off
-		#-DQT_FEATURE_system_freetype=off
-		#-DQT_FEATURE_system_harfbuzz=off
-		#-DQT_FEATURE_use_gold_linker=off
-		#-DQT_FEATURE_use_lld_linker=off
-		-DQT_FEATURE_webengine_embedded_build=off
-		-DQT_FEATURE_webengine_extensions=on
-		#-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
-		-DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
-		-DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
-		#-DQT_FEATURE_webengine_jumbo_file_merge_limit
-		-DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
-		-DQT_FEATURE_webengine_native_spellchecker=off
-		-DQT_FEATURE_webengine_ozone_x11=on
-		-DQT_FEATURE_webengine_pepper_plugins=on
-		-DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
-		-DQT_FEATURE_webengine_printing_and_pdf=on
-		-DQT_FEATURE_webengine_sanitizer=on
-		-DQT_FEATURE_webengine_spellchecker=on
-		-DQT_FEATURE_webengine_system_opus=on
-		-DQT_FEATURE_webengine_system_libwebp=on
-		-DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
-		-DQT_FEATURE_webengine_system_ffmpeg=off # https://bugs.gentoo.org/831487
-		-DQT_FEATURE_webengine_system_icu=$(usex system-icu)
-		-DQT_FEATURE_webengine_system_libevent=on
-		-DQT_FEATURE_webengine-system-libopenjpeg2=on
-		-DQT_FEATURE_webengine_system_libpci=on
-		-DQT_FEATURE_webengine_system_libpng=on
-		-DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
-		-DQT_FEATURE_webengine_system_zlib=on
-		-DQT_FEATURE_webengine_webchannel=on
-		-DQT_FEATURE_webengine_webrtc=on
-		-DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
-		#-DQT_FEATURE_xcb=off
-	)
-
-	qt6-build_src_configure
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-07-26 13:31 Jimi Huotari
  0 siblings, 0 replies; 50+ messages in thread
From: Jimi Huotari @ 2023-07-26 13:31 UTC (permalink / raw
  To: gentoo-commits

commit:     d349743ecc98fa6fb4be46636c4bb5c64982f880
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 26 13:20:37 2023 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Wed Jul 26 13:30:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d349743e

dev-qt/qtwebengine: drop 6.5.1

Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 -
 ...ine-6.5.1-normalise-clipboard-permissions.patch |  99 ---------
 dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild        | 246 ---------------------
 3 files changed, 346 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index e9a3fda5b3d3..ccfd59ce9f34 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,5 +1,4 @@
 DIST qtwebengine-5.15.10_p20230623.tar.xz 299264220 BLAKE2B 93afb88f79a6675dc58123831d0555a60d28428b93d32e185c21eb25401dfeeeee727ca20fc0ba3bda4ff2a298950e081a2eadcaeea095261941fe0d56b0d668 SHA512 9027899474d9d9dec5a5ca1e80e49404a0df2e23fe1666a437c07e99cbbbf787afd619eccf3d901545ed0a865c5fb439dce64f8339cbeb09213a0d4404456543
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
 DIST qtwebengine-5.15.8_p20230313-patchset.tar.xz 45904 BLAKE2B 9f58b9808fd445a06e6a2cd6d5f7bc9782bd6de13138fdebc9e81bd9f69e7ae673a71bd3ed6b011a47e84cc64b5b703a7cfc8d5f740eaaa663da1db8ef9ef05b SHA512 21b0b853358260fa1bdc96c97c5b2af7007c744d10abeebf9f0e708a0cd7dece583d86c0554a4e327a0d615bb403b0d328acaa6622b50d7a8059bc0802edbcec
-DIST qtwebengine-everywhere-src-6.5.1.tar.xz 412377436 BLAKE2B 1ff179daf1433246b931558f52f1cf193eff4a1d646e6f6037a40fe85fa28cf944b7f361fd68cb01b1247680d376762c2c5317be125f5b24cc08e4bbfa6f0def SHA512 68aae60184af6189b70207a458458a3dab23d49891f12ac57ede01a0eb43c403378e7d85baa074d3b12120624eff78d674cbd9112f7d1be84c33ce9bf95ca428
 DIST qtwebengine-everywhere-src-6.5.2.tar.xz 412356700 BLAKE2B a48a513cffbf140aab08d748bc7826e841b7e1a87d113abbd0d8e7df5b9eb1ff2a44b89ae341c161eae26fd004699a1392f811252eb25aa13e0ce8e08f6be0a1 SHA512 f5791002495ebfa9912477f39a96d28bd4f4329f636f6b2055f1b811503b3c394c3ddd7baed5643f78f1905b1e8f860b4202b5d8e4afe5791e5450b9f46eac12

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch
deleted file mode 100644
index 7caf202072c7..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Qt Upstream: https://code.qt.io/cgit/qt/qtwebengine.git/commit/?h=6.5&id=281174f5e010d819a49562b48b2c2067255a41c6
-
-From 281174f5e010d819a49562b48b2c2067255a41c6 Mon Sep 17 00:00:00 2001
-From: Szabolcs David <davidsz@inf.u-szeged.hu>
-Date: Fri, 19 May 2023 01:00:41 +0200
-Subject: Normalize clipboard permissions
-
-Handle clipboard read and write permissions the same way everywhere.
-
-Fixes: QTBUG-113579
-Change-Id: If1f271e8591c54f4ee2f935486502df19d5f6b3e
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-(cherry picked from commit 79e4a37668a9176373e81fe4fc8dfe29f6c8c37b)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
----
- src/core/permission_manager_qt.cpp | 46 +++++++++++++++++++-------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
-index 9d98c0592..28e1c981d 100644
---- a/src/core/permission_manager_qt.cpp
-+++ b/src/core/permission_manager_qt.cpp
-@@ -84,6 +84,22 @@ static blink::mojom::PermissionStatus toBlink(ProfileAdapter::PermissionState re
-     }
- }
- 
-+static blink::mojom::PermissionStatus getStatusFromSettings(blink::PermissionType type, WebEngineSettings *settings)
-+{
-+    switch (type) {
-+    case blink::PermissionType::CLIPBOARD_READ_WRITE:
-+        if (!settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
-+            return blink::mojom::PermissionStatus::DENIED;
-+         Q_FALLTHROUGH();
-+    case blink::PermissionType::CLIPBOARD_SANITIZED_WRITE:
-+        if (!settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard))
-+            return blink::mojom::PermissionStatus::DENIED;
-+        return blink::mojom::PermissionStatus::GRANTED;
-+    default:
-+        return blink::mojom::PermissionStatus::ASK;
-+    }
-+}
-+
- PermissionManagerQt::PermissionManagerQt()
-     : m_requestIdCount(0)
- {
-@@ -179,13 +195,8 @@ void PermissionManagerQt::RequestPermission(blink::PermissionType permission,
-     Q_ASSERT(contentsDelegate);
- 
-     ProfileAdapter::PermissionType permissionType = toQt(permission);
--    if (permissionType == ProfileAdapter::ClipboardRead) {
--        WebEngineSettings *settings = contentsDelegate->webEngineSettings();
--        if (settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)
--            && settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
--            std::move(callback).Run(blink::mojom::PermissionStatus::GRANTED);
--        else
--            std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
-+    if (permissionType == ProfileAdapter::ClipboardRead || permissionType == ProfileAdapter::ClipboardWrite) {
-+        std::move(callback).Run(getStatusFromSettings(permission, contentsDelegate->webEngineSettings()));
-         return;
-     } else if (!canRequestPermissionFor(permissionType)) {
-         std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
-@@ -220,14 +231,9 @@ void PermissionManagerQt::RequestPermissions(const std::vector<blink::Permission
-         const ProfileAdapter::PermissionType permissionType = toQt(permission);
-         if (permissionType == ProfileAdapter::UnsupportedPermission)
-             result.push_back(blink::mojom::PermissionStatus::DENIED);
--        else if (permissionType == ProfileAdapter::ClipboardRead) {
--            WebEngineSettings *settings = contentsDelegate->webEngineSettings();
--            if (settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)
--                && settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
--                result.push_back(blink::mojom::PermissionStatus::GRANTED);
--            else
--                result.push_back(blink::mojom::PermissionStatus::DENIED);
--        } else {
-+        else if (permissionType == ProfileAdapter::ClipboardRead || permissionType == ProfileAdapter::ClipboardWrite)
-+            result.push_back(getStatusFromSettings(permission, contentsDelegate->webEngineSettings()));
-+        else {
-             answerable = false;
-             break;
-         }
-@@ -280,14 +286,8 @@ blink::mojom::PermissionStatus PermissionManagerQt::GetPermissionStatusForCurren
-             permission == blink::PermissionType::CLIPBOARD_SANITIZED_WRITE) {
-         WebContentsDelegateQt *delegate = static_cast<WebContentsDelegateQt *>(
-                 content::WebContents::FromRenderFrameHost(render_frame_host)->GetDelegate());
--        if (!delegate->webEngineSettings()->testAttribute(
--                    QWebEngineSettings::JavascriptCanAccessClipboard))
--            return blink::mojom::PermissionStatus::DENIED;
--        if (permission == blink::PermissionType::CLIPBOARD_READ_WRITE
--            && !delegate->webEngineSettings()->testAttribute(
--                    QWebEngineSettings::JavascriptCanPaste))
--            return blink::mojom::PermissionStatus::DENIED;
--        return blink::mojom::PermissionStatus::GRANTED;
-+        Q_ASSERT(delegate);
-+        return getStatusFromSettings(permission, delegate->webEngineSettings());
-     }
- 
-     return GetPermissionStatus(
--- 
-cgit v1.2.3
-

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild
deleted file mode 100644
index 93f241ac06e2..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-CHROMIUM_VER="108.0.5359.181"
-CHROMIUM_PATCHES_VER="112.0.5615.138"
-
-inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
-
-DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="~amd64"
-fi
-
-IUSE="
-	alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
-	+system-icu widgets
-"
-REQUIRED_USE="designer? ( widgets )"
-
-BDEPEND="
-	$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-"
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtdeclarative-${PV}*
-	=dev-qt/qtwebchannel-${PV}*
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/openjpeg:2=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libxcb:=
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbcommon
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libxshmfence:=
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	geolocation? ( =dev-qt/qtpositioning-${PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-libs/libpulse:= )
-	screencast? ( media-video/pipewire:= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtbase-${PV}*[widgets]
-	)
-"
-DEPEND="${RDEPEND}
-	media-libs/libglvnd
-"
-
-PATCHES=( "${FILESDIR}/${PN}-6.5.1-normalise-clipboard-permissions.patch" )
-
-python_check_deps() {
-	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
-	# bug #307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-	fi
-	eshopts_pop
-
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	# (check-reqs added for bug #570534)
-	#
-	# Estimate the amount of RAM required
-	# Multiplier is *10 because Bash doesn't do floating point maths.
-	# Let's crudely assume ~2GB per compiler job for GCC.
-	local multiplier=20
-
-	# And call it ~1.5GB for Clang.
-	if tc-is-clang ; then
-		multiplier=15
-	fi
-
-	local CHECKREQS_DISK_BUILD="7G"
-	local CHECKREQS_DISK_USR="150M"
-	if ! has "distcc" ${FEATURES} ; then
-		# bug #830661
-		# Not super realistic to come up with good estimates for distcc right now
-		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
-	fi
-
-	check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
-	qtwebengine_check-reqs
-}
-
-pkg_setup() {
-	qtwebengine_check-reqs
-	python-any-r1_pkg_setup
-}
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
-	elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}
-
-src_unpack() {
-	# bug 307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-		ewarn
-	fi
-	eshopts_pop
-
-	case ${QT6_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	# bug 620444 - ensure local headers are used
-	find . -type f -name "*.pr[fio]" -exec \
-		sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	qt6-build_src_prepare
-}
-
-src_configure() {
-	export NINJA_PATH="${BROOT}"/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local mycmakeargs=(
-		#-DQT_FEATURE_accessibility=off
-		#-DQT_FEATURE_force_asserts=off
-		#-DQT_FEATURE_opengl=off
-		#-DQT_FEATURE_printer=off
-		-DQT_FEATURE_qtpdf_build=off
-		-DQT_FEATURE_qtpdf_quick_build=off
-		-DQT_FEATURE_qtpdf_widgets_build=off
-		-DQT_FEATURE_qtwebengine_build=on
-		-DQT_FEATURE_qtwebengine_quick_build=on
-		-DQT_FEATURE_qtwebengine_widgets_build=on
-		#-DQT_FEATURE_ssl=off
-		#-DQT_FEATURE_static=off
-		#-DQT_FEATURE_system_zlib=off
-		#-DQT_FEATURE_system_png=off
-		#-DQT_FEATURE_system_jpeg=off
-		#-DQT_FEATURE_system_freetype=off
-		#-DQT_FEATURE_system_harfbuzz=off
-		#-DQT_FEATURE_use_gold_linker=off
-		#-DQT_FEATURE_use_lld_linker=off
-		-DQT_FEATURE_webengine_embedded_build=off
-		-DQT_FEATURE_webengine_extensions=on
-		#-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
-		-DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
-		-DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
-		#-DQT_FEATURE_webengine_jumbo_file_merge_limit
-		-DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
-		-DQT_FEATURE_webengine_native_spellchecker=off
-		-DQT_FEATURE_webengine_ozone_x11=on
-		-DQT_FEATURE_webengine_pepper_plugins=on
-		-DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
-		-DQT_FEATURE_webengine_printing_and_pdf=on
-		-DQT_FEATURE_webengine_sanitizer=on
-		-DQT_FEATURE_webengine_spellchecker=on
-		-DQT_FEATURE_webengine_system_opus=on
-		-DQT_FEATURE_webengine_system_libwebp=on
-		-DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
-		-DQT_FEATURE_webengine_system_ffmpeg=off # https://bugs.gentoo.org/831487
-		-DQT_FEATURE_webengine_system_icu=$(usex system-icu)
-		-DQT_FEATURE_webengine_system_libevent=on
-		-DQT_FEATURE_webengine_system_libopenjpeg2=on
-		-DQT_FEATURE_webengine_system_libpci=on
-		-DQT_FEATURE_webengine_system_libpng=on
-		-DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
-		-DQT_FEATURE_webengine_system_zlib=on
-		-DQT_FEATURE_webengine_webchannel=on
-		-DQT_FEATURE_webengine_webrtc=on
-		-DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
-		#-DQT_FEATURE_xcb=off
-	)
-
-	qt6-build_src_configure
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-08-04 12:35 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2023-08-04 12:35 UTC (permalink / raw
  To: gentoo-commits

commit:     6fb7d0a7131b5a5938b12673f4b260d66cc1a527
Author:     Denis Pronin <dannftk <AT> yandex <DOT> ru>
AuthorDate: Thu Jul 13 14:55:14 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug  4 12:35:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6fb7d0a7

dev-qt/qtwebengine: fix compiling with clang-16

clang-16 complains about casting an integer value that exceeds an
enumeration capacity in the class base::BitField
to not modify chromium code we just cancel warning about this
circumstance to prevent it from being converted to an error that fails
compilation

[sam: Note that this is a bandaid and won't work with Clang 17.]

Bug: https://bugs.gentoo.org/903573
Signed-off-by: Denis Pronin <dannftk <AT> yandex.ru>
Closes: https://github.com/gentoo/gentoo/pull/31869
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/qtwebengine-5.15.10_p20230623-clang16.patch     | 15 +++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild   |  5 ++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-clang16.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-clang16.patch
new file mode 100644
index 000000000000..2d8f8482e1b4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-clang16.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/903573
+--- a/src/3rdparty/chromium/v8/src/base/bit-field.h
++++ b/src/3rdparty/chromium/v8/src/base/bit-field.h
+@@ -39,8 +39,11 @@
+   static constexpr int kLastUsedBit = kShift + kSize - 1;
+   static constexpr U kNumValues = U{1} << kSize;
+ 
++  #pragma clang diagnostic push
++  #pragma clang diagnostic ignored "-Wenum-constexpr-conversion"
+   // Value for the field with all bits set.
+   static constexpr T kMax = static_cast<T>(kNumValues - 1);
++  #pragma clang diagnostic pop
+ 
+   template <class T2, int size2>
+   using Next = BitField<T2, kShift + kSize, size2, U>;

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
index ce07a4c85372..937b8d59b20d 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
@@ -100,7 +100,10 @@ BDEPEND="${PYTHON_DEPS}
 	ppc64? ( >=dev-util/gn-0.1807 )
 "
 
-PATCHES=( "${WORKDIR}/${PN}-5.15.8_p20230313-patchset" )
+PATCHES=(
+	"${WORKDIR}/${PN}-5.15.8_p20230313-patchset"
+	"${FILESDIR}/${PN}-5.15.10_p20230623-clang16.patch"
+)
 
 qtwebengine_check-reqs() {
 	# bug #307861


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-08-10  3:53 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2023-08-10  3:53 UTC (permalink / raw
  To: gentoo-commits

commit:     1deddd92c7791033da96aff0c8f9098c0ae95e15
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 03:38:31 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 03:52:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1deddd92

dev-qt/qtwebengine: fix build w/ binutils-2.41

Closes: https://bugs.gentoo.org/911688
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...ne-5.15.10_p20230623-ffmpeg-binutils-2.41.patch | 75 ++++++++++++++++++++++
 .../qtwebengine-5.15.10_p20230623.ebuild           |  1 +
 dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild        |  4 ++
 3 files changed, 80 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-ffmpeg-binutils-2.41.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-ffmpeg-binutils-2.41.patch
new file mode 100644
index 000000000000..6b98df9bf5ae
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-ffmpeg-binutils-2.41.patch
@@ -0,0 +1,75 @@
+https://bugs.gentoo.org/911582
+https://bugs.gentoo.org/911688
+https://trac.ffmpeg.org/ticket/10405
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e
+https://sourceware.org/PR30578
+https://gcc.gnu.org/PR108941
+
+From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e Mon Sep 17 00:00:00 2001
+From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 16 Jul 2023 18:18:02 +0300
+Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
+ instructions within inline assembly
+
+Fixes assembling with binutil as >= 2.41
+
+Signed-off-by: James Almer <jamrial@gmail.com>
+(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
+--- a/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
++++ b/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
+@@ -35,12 +35,20 @@
+ static av_always_inline av_const int MULL(int a, int b, unsigned shift)
+ {
+     int rt, dummy;
++    if (__builtin_constant_p(shift))
+     __asm__ (
+         "imull %3               \n\t"
+         "shrdl %4, %%edx, %%eax \n\t"
+         :"=a"(rt), "=d"(dummy)
+-        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
++        :"a"(a), "rm"(b), "i"(shift & 0x1F)
+     );
++    else
++        __asm__ (
++            "imull %3               \n\t"
++            "shrdl %4, %%edx, %%eax \n\t"
++            :"=a"(rt), "=d"(dummy)
++            :"a"(a), "rm"(b), "c"((uint8_t)shift)
++        );
+     return rt;
+ }
+ 
+@@ -113,19 +121,31 @@ __asm__ volatile(\
+ // avoid +32 for shift optimization (gcc should do that ...)
+ #define NEG_SSR32 NEG_SSR32
+ static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
++    if (__builtin_constant_p(s))
+     __asm__ ("sarl %1, %0\n\t"
+          : "+r" (a)
+-         : "ic" ((uint8_t)(-s))
++         : "i" (-s & 0x1F)
+     );
++    else
++        __asm__ ("sarl %1, %0\n\t"
++               : "+r" (a)
++               : "c" ((uint8_t)(-s))
++        );
+     return a;
+ }
+ 
+ #define NEG_USR32 NEG_USR32
+ static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
++    if (__builtin_constant_p(s))
+     __asm__ ("shrl %1, %0\n\t"
+          : "+r" (a)
+-         : "ic" ((uint8_t)(-s))
++         : "i" (-s & 0x1F)
+     );
++    else
++        __asm__ ("shrl %1, %0\n\t"
++               : "+r" (a)
++               : "c" ((uint8_t)(-s))
++        );
+     return a;
+ }
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
index 937b8d59b20d..12f7af2c3a26 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
@@ -103,6 +103,7 @@ BDEPEND="${PYTHON_DEPS}
 PATCHES=(
 	"${WORKDIR}/${PN}-5.15.8_p20230313-patchset"
 	"${FILESDIR}/${PN}-5.15.10_p20230623-clang16.patch"
+	"${FILESDIR}/${PN}-5.15.10_p20230623-ffmpeg-binutils-2.41.patch"
 )
 
 qtwebengine_check-reqs() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild
index bad90757778b..36bdb9c96769 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.5.2.ebuild
@@ -87,6 +87,10 @@ DEPEND="${RDEPEND}
 	media-libs/libglvnd
 "
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-5.15.10_p20230623-ffmpeg-binutils-2.41.patch
+)
+
 python_check_deps() {
 	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
 }


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-11-06 18:11 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2023-11-06 18:11 UTC (permalink / raw
  To: gentoo-commits

commit:     e08b418838581c66ea1fe3d052b3e6f7380035ce
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Nov  6 09:40:30 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Nov  6 18:10:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e08b4188

dev-qt/qtwebengine: drop 5.15.10_p20230623, 5.15.10_p20230815

Bug: https://bugs.gentoo.org/913050
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   3 -
 .../qtwebengine-5.15.10_p20230623-clang16.patch    |  15 --
 ...ne-5.15.10_p20230623-ffmpeg-binutils-2.41.patch |  75 ------
 .../qtwebengine-5.15.10_p20230623.ebuild           | 273 ---------------------
 .../qtwebengine-5.15.10_p20230815.ebuild           | 267 --------------------
 5 files changed, 633 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 79592fe55c96..ac049196a4f4 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,10 +1,7 @@
-DIST qtwebengine-5.15.10_p20230623.tar.xz 299264220 BLAKE2B 93afb88f79a6675dc58123831d0555a60d28428b93d32e185c21eb25401dfeeeee727ca20fc0ba3bda4ff2a298950e081a2eadcaeea095261941fe0d56b0d668 SHA512 9027899474d9d9dec5a5ca1e80e49404a0df2e23fe1666a437c07e99cbbbf787afd619eccf3d901545ed0a865c5fb439dce64f8339cbeb09213a0d4404456543
 DIST qtwebengine-5.15.10_p20230815-patchset.tar.xz 44880 BLAKE2B 6179ca4ad69f922cfa8ab8528bd571a326b3340f810f05782d808d67b6310de079d84ca6f769bd532f0fe375a702f0d348e02cfbf6b3f2d5c30ac668e1005bef SHA512 a323bdd8afeb41a97febf587bb0994a937c78ed470e077a2b482dca7e04bc4eb9cf75b2d2707236574d6586189ff3d27e42f437930dedd85b47a77e18ffc8fa3
-DIST qtwebengine-5.15.10_p20230815.tar.xz 299275336 BLAKE2B 9c64f09d982086d51af7d4134f174db9c23162bc3317ea4f19e44d91a52ad63aff56bacc7ae64a2bf693d900ef3ef5231c7333eb56237123799066055fc49450 SHA512 4e6abd825d124fddc63bc8ff92e94940b829289277aa17423403c6ce168c12fff1d52b604ae127c1a0fdbca852e3795482acefbe6e506a3059c0d32bec45a709
 DIST qtwebengine-5.15.11_p20231019.tar.xz 299255660 BLAKE2B 0d584e69e0fcc4f348f62a5a7f4ba5b323df06ebeb95f9c9c8254b77d80e4797dd4dd0a56eef72aac39a279f62d0b1aba90629276def01807f589a7c0ef858b6 SHA512 b23dff30bf1f14a5dfb592e870450485b262942eabe1d22448618da6d3e9e3650491a8f53891a20901da24cf8dda8243f757ff82a70bec2942437bb8ecdccbe4
 DIST qtwebengine-5.15.11_p20231102.tar.xz 299223768 BLAKE2B f0c3e00e2b266d54bf4239ca15c1dff1142f5d49c70780e7774ad3503dedd257430f17966d61ca78e9f9b7c53f0775a3f4ce3a5cb58b0b2d1bd839e84d097d8c SHA512 124e3291a444416a1e92edd35b90d769428ab027d2c5b1e0a38ddc3f3d95c1d1817173eef9fe2dfc415775185d66dc1a9248b89b4a3d47843a5e40f2e70579eb
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
-DIST qtwebengine-5.15.8_p20230313-patchset.tar.xz 45904 BLAKE2B 9f58b9808fd445a06e6a2cd6d5f7bc9782bd6de13138fdebc9e81bd9f69e7ae673a71bd3ed6b011a47e84cc64b5b703a7cfc8d5f740eaaa663da1db8ef9ef05b SHA512 21b0b853358260fa1bdc96c97c5b2af7007c744d10abeebf9f0e708a0cd7dece583d86c0554a4e327a0d615bb403b0d328acaa6622b50d7a8059bc0802edbcec
 DIST qtwebengine-6.5-patchset-1.tar.xz 12936 BLAKE2B f44af36689596da0177f0607cf242d9cce3c376f4a5c28d7902a6b44651ce9272d745a824580268e999c2d58b72424d72eb6027d7461184bf7f04e0223e5195f SHA512 f639eb09d18c19c7b0d422d6acdce62404be0fcce905374c5d47266340191f7ca66875680bb09d80e72db718e34b7dc6e7db5f2f16407a0edb892930513ea407
 DIST qtwebengine-6.6-patchset-1.tar.xz 9648 BLAKE2B c1bb02662ed5952e22ac3c3ee68f5787503bcc6d12d05c22090cf9ba22511c76308aa1bb751df0a822585de63694f8ce0f254558416e392abe437995e30b7e99 SHA512 a634a2976bc19ada61671bc017a4456111214cc47a40c88812465f0ba25d025b3aa4da32467c59f7053d21650f3ac72010118b3b6962d34bb347d42b9109f95f
 DIST qtwebengine-6.6-patchset-3.tar.xz 9920 BLAKE2B 12b287392dabf1f1e3e99381ab1abf7e8fe44d85fb1b7148bc2d3427ff82d91e0d545955ee7c326f4d5e5af739759df2246173151673dabce3aa8aec28c4ecd8 SHA512 371549b2a2577872700842cc7f93cca900499b99de62f297a012fb16ccbb9d7c1f87a0123996ab14a49adf5604018000615736a8cc728122d37012ec6838211f

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-clang16.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-clang16.patch
deleted file mode 100644
index 2d8f8482e1b4..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-clang16.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://bugs.gentoo.org/903573
---- a/src/3rdparty/chromium/v8/src/base/bit-field.h
-+++ b/src/3rdparty/chromium/v8/src/base/bit-field.h
-@@ -39,8 +39,11 @@
-   static constexpr int kLastUsedBit = kShift + kSize - 1;
-   static constexpr U kNumValues = U{1} << kSize;
- 
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wenum-constexpr-conversion"
-   // Value for the field with all bits set.
-   static constexpr T kMax = static_cast<T>(kNumValues - 1);
-+  #pragma clang diagnostic pop
- 
-   template <class T2, int size2>
-   using Next = BitField<T2, kShift + kSize, size2, U>;

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-ffmpeg-binutils-2.41.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-ffmpeg-binutils-2.41.patch
deleted file mode 100644
index 6b98df9bf5ae..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.10_p20230623-ffmpeg-binutils-2.41.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-https://bugs.gentoo.org/911582
-https://bugs.gentoo.org/911688
-https://trac.ffmpeg.org/ticket/10405
-https://git.videolan.org/?p=ffmpeg.git;a=commit;h=25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e
-https://sourceware.org/PR30578
-https://gcc.gnu.org/PR108941
-
-From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e Mon Sep 17 00:00:00 2001
-From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Sun, 16 Jul 2023 18:18:02 +0300
-Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
- instructions within inline assembly
-
-Fixes assembling with binutil as >= 2.41
-
-Signed-off-by: James Almer <jamrial@gmail.com>
-(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
---- a/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
-+++ b/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
-@@ -35,12 +35,20 @@
- static av_always_inline av_const int MULL(int a, int b, unsigned shift)
- {
-     int rt, dummy;
-+    if (__builtin_constant_p(shift))
-     __asm__ (
-         "imull %3               \n\t"
-         "shrdl %4, %%edx, %%eax \n\t"
-         :"=a"(rt), "=d"(dummy)
--        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
-+        :"a"(a), "rm"(b), "i"(shift & 0x1F)
-     );
-+    else
-+        __asm__ (
-+            "imull %3               \n\t"
-+            "shrdl %4, %%edx, %%eax \n\t"
-+            :"=a"(rt), "=d"(dummy)
-+            :"a"(a), "rm"(b), "c"((uint8_t)shift)
-+        );
-     return rt;
- }
- 
-@@ -113,19 +121,31 @@ __asm__ volatile(\
- // avoid +32 for shift optimization (gcc should do that ...)
- #define NEG_SSR32 NEG_SSR32
- static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("sarl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("sarl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 
- #define NEG_USR32 NEG_USR32
- static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("shrl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("shrl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
deleted file mode 100644
index 12f7af2c3a26..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230623.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-# ppc64 patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.8_p20230313-patchset.tar.xz
-	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtcore-${QT5_PV}*
-	=dev-qt/qtdeclarative-${QT5_PV}*
-	=dev-qt/qtgui-${QT5_PV}*
-	=dev-qt/qtnetwork-${QT5_PV}*
-	=dev-qt/qtprintsupport-${QT5_PV}*
-	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( =dev-qt/designer-${QT5_PV}* )
-	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-libs/libpulse )
-	screencast? ( media-video/pipewire:= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
-		=dev-qt/qtwidgets-${QT5_PV}*
-	)
-"
-DEPEND="${RDEPEND}
-	media-libs/libglvnd
-"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-	ppc64? ( >=dev-util/gn-0.1807 )
-"
-
-PATCHES=(
-	"${WORKDIR}/${PN}-5.15.8_p20230313-patchset"
-	"${FILESDIR}/${PN}-5.15.10_p20230623-clang16.patch"
-	"${FILESDIR}/${PN}-5.15.10_p20230623-ffmpeg-binutils-2.41.patch"
-)
-
-qtwebengine_check-reqs() {
-	# bug #307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-	fi
-	eshopts_pop
-
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	# (check-reqs added for bug #570534)
-	#
-	# Estimate the amount of RAM required
-	# Multiplier is *10 because Bash doesn't do floating point maths.
-	# Let's crudely assume ~2GB per compiler job for GCC.
-	local multiplier=20
-
-	# And call it ~1.5GB for Clang.
-	if tc-is-clang ; then
-		multiplier=15
-	fi
-
-	local CHECKREQS_DISK_BUILD="7G"
-	local CHECKREQS_DISK_USR="150M"
-	if ! has "distcc" ${FEATURES} ; then
-		# bug #830661
-		# Not super realistic to come up with good estimates for distcc right now
-		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
-	fi
-
-	check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
-	qtwebengine_check-reqs
-}
-
-pkg_setup() {
-	qtwebengine_check-reqs
-	python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	# upstreamed, but not spinning new patchset just yet
-	rm "${WORKDIR}"/qtwebengine-5.15.8_p20230313-patchset/015-gcc13.patch || die
-
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-	fi
-	# We need to make sure this integrates well into Qt 5.15.3 installation.
-	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
-	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
-	if tc-is-clang ; then
-		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
-			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
-		fi
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-
-	# we need to generate ppc64 stuff because upstream does not ship it yet
-	if use ppc64; then
-		einfo "Patching for ppc64le and generating build files"
-		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
-		pushd src/3rdparty/chromium > /dev/null || die
-		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
-		popd > /dev/null || die
-		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
-		mkdir -vp source/config/linux/ppc64 || die
-		mkdir -p source/libvpx/test || die
-		touch source/libvpx/test/test.mk || die
-		# clang-format is used to re-format sources
-		# but we'd rather make it a no-op than introduce a clang dependency
-		# https://bugs.gentoo.org/849458
-		clang-format() { : ; }
-		export -f clang-format || die
-		./generate_gni.sh || die
-		popd >/dev/null || die
-	fi
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(qt_use alsa)
-		$(qt_use !bindist proprietary-codecs)
-		$(qt_use geolocation webengine-geolocation)
-		$(qt_use kerberos webengine-kerberos)
-		$(qt_use pulseaudio)
-		$(usex screencast -webengine-webrtc-pipewire '')
-		-qt-ffmpeg # bug 831487
-		$(qt_use system-icu webengine-icu)
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
-	elog "with additional security fixes from newer versions. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230815.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230815.ebuild
deleted file mode 100644
index 9c6d4bac3072..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.10_p20230815.ebuild
+++ /dev/null
@@ -1,267 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PATCHSET="${P}-patchset"
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-# ppc64 patchset based on https://github.com/chromium-ppc64le releases
-SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz
-	ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtcore-${QT5_PV}*
-	=dev-qt/qtdeclarative-${QT5_PV}*
-	=dev-qt/qtgui-${QT5_PV}*
-	=dev-qt/qtnetwork-${QT5_PV}*
-	=dev-qt/qtprintsupport-${QT5_PV}*
-	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( =dev-qt/designer-${QT5_PV}* )
-	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-libs/libpulse )
-	screencast? ( media-video/pipewire:= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
-		=dev-qt/qtwidgets-${QT5_PV}*
-	)
-"
-DEPEND="${RDEPEND}
-	media-libs/libglvnd
-"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/gperf
-	dev-util/ninja
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-	ppc64? ( >=dev-util/gn-0.1807 )
-"
-
-PATCHES=( "${WORKDIR}/${PATCHSET}" )
-
-qtwebengine_check-reqs() {
-	# bug #307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-	fi
-	eshopts_pop
-
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	# (check-reqs added for bug #570534)
-	#
-	# Estimate the amount of RAM required
-	# Multiplier is *10 because Bash doesn't do floating point maths.
-	# Let's crudely assume ~2GB per compiler job for GCC.
-	local multiplier=20
-
-	# And call it ~1.5GB for Clang.
-	if tc-is-clang ; then
-		multiplier=15
-	fi
-
-	local CHECKREQS_DISK_BUILD="7G"
-	local CHECKREQS_DISK_USR="150M"
-	if ! has "distcc" ${FEATURES} ; then
-		# bug #830661
-		# Not super realistic to come up with good estimates for distcc right now
-		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
-	fi
-
-	check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
-	qtwebengine_check-reqs
-}
-
-pkg_setup() {
-	qtwebengine_check-reqs
-	python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-	fi
-	# We need to make sure this integrates well into Qt 5.15.3 installation.
-	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
-	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
-	if tc-is-clang ; then
-		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
-			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
-		fi
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-
-	# we need to generate ppc64 stuff because upstream does not ship it yet
-	if use ppc64; then
-		einfo "Patching for ppc64le and generating build files"
-		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
-		pushd src/3rdparty/chromium > /dev/null || die
-		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
-		popd > /dev/null || die
-		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
-		mkdir -vp source/config/linux/ppc64 || die
-		mkdir -p source/libvpx/test || die
-		touch source/libvpx/test/test.mk || die
-		# clang-format is used to re-format sources
-		# but we'd rather make it a no-op than introduce a clang dependency
-		# https://bugs.gentoo.org/849458
-		clang-format() { : ; }
-		export -f clang-format || die
-		./generate_gni.sh || die
-		popd >/dev/null || die
-	fi
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(qt_use alsa)
-		$(qt_use !bindist proprietary-codecs)
-		$(qt_use geolocation webengine-geolocation)
-		$(qt_use kerberos webengine-kerberos)
-		$(qt_use pulseaudio)
-		$(usex screencast -webengine-webrtc-pipewire '')
-		-qt-ffmpeg # bug 831487
-		$(qt_use system-icu webengine-icu)
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
-	elog "with additional security fixes from newer versions. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-11-21 22:36 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2023-11-21 22:36 UTC (permalink / raw
  To: gentoo-commits

commit:     5aa51046dca2c2b91565933eb81a2ba11d2012fb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 21 19:02:54 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Nov 21 22:19:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5aa51046

dev-qt/qtwebengine: add 5.15.11_p20231120, fix build w/ libxml2-2.12

Bug: https://bugs.gentoo.org/917645
Closes: https://bugs.gentoo.org/917601
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...twebengine-5.15.11_p20231120-libxml2-2.12.patch |  43 +++
 .../qtwebengine-5.15.11_p20231120.ebuild           | 287 +++++++++++++++++++++
 3 files changed, 331 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 72510429d777..ed57417f7e02 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,6 +1,7 @@
 DIST qtwebengine-5.15-ffmpeg-ppc64le.tar.xz 12080 BLAKE2B cfab4f02b8fac8ae7585eda0539f8adf988413aa52503caca3a347a62f75584efb42bcfa4832aadfc51fb98073f4ed3ddfc9701caf570e7186e0e1357af9569f SHA512 e0275ac4eb8d113581fc4fdf42be831903496b6ed95dca5b3d88113107e5453ee8c40df0e2956dd4e343b08e09c57607b1b82a78bf77a780225ff0030a249cef
 DIST qtwebengine-5.15.10_p20230815-patchset.tar.xz 44880 BLAKE2B 6179ca4ad69f922cfa8ab8528bd571a326b3340f810f05782d808d67b6310de079d84ca6f769bd532f0fe375a702f0d348e02cfbf6b3f2d5c30ac668e1005bef SHA512 a323bdd8afeb41a97febf587bb0994a937c78ed470e077a2b482dca7e04bc4eb9cf75b2d2707236574d6586189ff3d27e42f437930dedd85b47a77e18ffc8fa3
 DIST qtwebengine-5.15.11_p20231102.tar.xz 299223768 BLAKE2B f0c3e00e2b266d54bf4239ca15c1dff1142f5d49c70780e7774ad3503dedd257430f17966d61ca78e9f9b7c53f0775a3f4ce3a5cb58b0b2d1bd839e84d097d8c SHA512 124e3291a444416a1e92edd35b90d769428ab027d2c5b1e0a38ddc3f3d95c1d1817173eef9fe2dfc415775185d66dc1a9248b89b4a3d47843a5e40f2e70579eb
+DIST qtwebengine-5.15.11_p20231120.tar.xz 299212012 BLAKE2B 4f9fc9e3f380377f1eeaa8b04c6622c9e25d8b11151cccf7a04ef7dea88e4870db704dda3b303196e40bc8c1c6e76f495f911de5a74769b633952e35718a85de SHA512 2d64edf0ec5322e25a6decfd92a1b1170135c852a8d154d30a336b894bfc4c24f08cb5c88028c68a4f74e6bd6767aaf827a5fa08a82a70fd49e1fa064ee56f27
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
 DIST qtwebengine-6.5-patchset-1.tar.xz 12936 BLAKE2B f44af36689596da0177f0607cf242d9cce3c376f4a5c28d7902a6b44651ce9272d745a824580268e999c2d58b72424d72eb6027d7461184bf7f04e0223e5195f SHA512 f639eb09d18c19c7b0d422d6acdce62404be0fcce905374c5d47266340191f7ca66875680bb09d80e72db718e34b7dc6e7db5f2f16407a0edb892930513ea407
 DIST qtwebengine-6.6-patchset-3.tar.xz 9920 BLAKE2B 12b287392dabf1f1e3e99381ab1abf7e8fe44d85fb1b7148bc2d3427ff82d91e0d545955ee7c326f4d5e5af739759df2246173151673dabce3aa8aec28c4ecd8 SHA512 371549b2a2577872700842cc7f93cca900499b99de62f297a012fb16ccbb9d7c1f87a0123996ab14a49adf5604018000615736a8cc728122d37012ec6838211f

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.11_p20231120-libxml2-2.12.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.11_p20231120-libxml2-2.12.patch
new file mode 100644
index 000000000000..3a0a3df43469
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.11_p20231120-libxml2-2.12.patch
@@ -0,0 +1,43 @@
+From 871f8ae9b65ce2679b0bc0be36902d65edf0c1e4 Mon Sep 17 00:00:00 2001
+From: Joey Arhar <jarhar@chromium.org>
+Date: Thu, 2 Nov 2023 20:45:11 +0000
+Subject: [PATCH] Roll libxml from b8961a75 to 7a2d412f
+
+Bug: 934413
+Change-Id: I6fb176d76dba9a9adf411395fa5f6b950b52920a
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4985186
+Reviewed-by: David Baron <dbaron@chromium.org>
+Commit-Queue: Joey Arhar <jarhar@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1219084}
+---
+ .../blink/renderer/core/xml/xslt_processor.h  |    2 +-
+ .../core/xml/xslt_processor_libxslt.cc        |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+ create mode 100644 third_party/libxml/src/testparser.c
+
+diff --git a/third_party/blink/renderer/core/xml/xslt_processor.h b/third_party/blink/renderer/core/xml/xslt_processor.h
+index d53835e9675793..2eaea31ed29b90 100644
+--- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
+@@ -77,7 +77,7 @@ class XSLTProcessor final : public ScriptWrappable {
+ 
+   void reset();
+ 
+-  static void ParseErrorFunc(void* user_data, xmlError*);
++  static void ParseErrorFunc(void* user_data, const xmlError*);
+   static void GenericErrorFunc(void* user_data, const char* msg, ...);
+ 
+   // Only for libXSLT callbacks
+diff --git a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
+index 133e0b3355d2f0..f424077089da87 100644
+--- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
+@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) {
+   // It would be nice to do something with this error message.
+ }
+ 
+-void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
++void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
+   FrameConsole* console = static_cast<FrameConsole*>(user_data);
+   if (!console)
+     return;

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.11_p20231120.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.11_p20231120.ebuild
new file mode 100644
index 000000000000..d02fcb3dd437
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.11_p20231120.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PATCHSET="${PN}-5.15.10_p20230815-patchset"
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+HOMEPAGE="https://www.qt.io/"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+	KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
+		S="${WORKDIR}/${P}"
+		QT5_BUILD_DIR="${S}_build"
+	fi
+else
+	EGIT_BRANCH="5.15"
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt/${QT5_MODULE}.git"
+		"https://github.com/qt/${QT5_MODULE}.git"
+	)
+	inherit git-r3
+fi
+
+# ppc64 patchset based on https://github.com/chromium-ppc64le releases
+# ppc64 ffmpeg patchset backported from chromium 98 on https://ppa.quickbuild.io/raptor-engineering-public/chromium/ubuntu/pool/main/c/chromium/
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz
+	ppc64? (
+		https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz
+		https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15-ffmpeg-ppc64le.tar.xz
+	)"
+
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-icu widgets"
+REQUIRED_USE="designer? ( widgets )"
+
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtcore-${QT5_PV}*
+	=dev-qt/qtdeclarative-${QT5_PV}*
+	=dev-qt/qtgui-${QT5_PV}*
+	=dev-qt/qtnetwork-${QT5_PV}*
+	=dev-qt/qtprintsupport-${QT5_PV}*
+	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	designer? ( =dev-qt/designer-${QT5_PV}* )
+	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse )
+	screencast? ( media-video/pipewire:= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
+		=dev-qt/qtwidgets-${QT5_PV}*
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+	ppc64? ( >=dev-util/gn-0.1807 )
+"
+
+PATCHES=(
+	"${WORKDIR}/${PATCHSET}"
+	# add extras as needed here, may merge in set if carries across versions
+	"${FILESDIR}/${PN}-6.5.3-icu74.patch" # bug 917635
+)
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	case ${QT5_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	# upstreamed, but not spinning new patchset just yet
+	rm "${WORKDIR}"/${PATCHSET}/018-gcc13-includes.patch || die
+
+	if has_version '>=dev-libs/libxml2-2.12.0'; then
+		PATCHES+=( "${FILESDIR}/${P}-libxml2-2.12.patch" ) # bug 917601
+	fi
+
+	if [[ ${PV} == ${QT5_PV}_p* ]]; then
+		# This is made from git, and for some reason will fail w/o .git directories.
+		mkdir -p .git src/3rdparty/chromium/.git || die
+	fi
+	# We need to make sure this integrates well into Qt 5.15.3 installation.
+	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
+	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
+	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
+
+	# QTBUG-88657 - jumbo-build could still make trouble
+	if ! use jumbo-build; then
+		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
+			src/buildtools/config/common.pri || die
+	fi
+
+	# bug 620444 - ensure local headers are used
+	find "${S}" -type f -name "*.pr[fio]" | \
+		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
+	if tc-is-clang ; then
+		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
+			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
+		fi
+	fi
+
+	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
+	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
+
+	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
+
+	qt_use_disable_mod widgets widgets src/src.pro
+
+	if use ppc64; then
+		einfo "Patching for ppc64le and generating build files"
+		eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch"
+		pushd src/3rdparty/chromium > /dev/null || die
+		eapply -p0 "${WORKDIR}/${PN}-ppc64le"
+		eapply -p1 "${WORKDIR}/${PN}-ffmpeg-ppc64le"
+		popd > /dev/null || die
+	fi
+
+	qt5-build_src_prepare
+
+	# we need to generate ppc64 stuff because upstream does not ship it yet
+	if use ppc64; then
+		einfo "Generating ppc64le build files"
+		pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
+		mkdir -vp source/config/linux/ppc64 || die
+		mkdir -p source/libvpx/test || die
+		touch source/libvpx/test/test.mk || die
+		# clang-format is used to re-format sources
+		# but we'd rather make it a no-op than introduce a clang dependency
+		# https://bugs.gentoo.org/849458
+		clang-format() { : ; }
+		export -f clang-format || die
+		./generate_gni.sh || die
+		popd >/dev/null || die
+	fi
+}
+
+src_configure() {
+	export NINJA_PATH=/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local myqmakeargs=(
+		--
+		-no-build-qtpdf
+		-printing-and-pdf
+		-system-opus
+		-system-webp
+		$(qt_use alsa)
+		$(qt_use !bindist proprietary-codecs)
+		$(qt_use geolocation webengine-geolocation)
+		$(qt_use kerberos webengine-kerberos)
+		$(qt_use pulseaudio)
+		$(usex screencast -webengine-webrtc-pipewire '')
+		-qt-ffmpeg # bug 831487
+		$(qt_use system-icu webengine-icu)
+	)
+	qt5-build_src_configure
+}
+
+src_install() {
+	qt5-build_src_install
+
+	# bug 601472
+	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
+		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
+	fi
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
+	elog "with additional security fixes from newer versions. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-11-22 12:46 Ionen Wolkens
  0 siblings, 0 replies; 50+ messages in thread
From: Ionen Wolkens @ 2023-11-22 12:46 UTC (permalink / raw
  To: gentoo-commits

commit:     25616a65acf3a98a21c155c7a5ae11d8d83b63f6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 22 12:02:21 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 12:44:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25616a65

dev-qt/qtwebengine: fix build with >=libxml2-2.12 (qt6)

For convenience, use LIBXML_VERSION rather than has_version
so that can include in patchset tarball later if still needed.

Formerly meant to fix only in upcoming 6.6.1 (soon) but is a
simple and safe fix so let's fix the others too.

Closes: https://bugs.gentoo.org/917601
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.5.3-libxml2-2.12.patch     | 39 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.6.0.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild     |  1 +
 4 files changed, 42 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch
new file mode 100644
index 000000000000..d725f3209106
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch
@@ -0,0 +1,39 @@
+Patch status: fixed in >=chromium-121.0.6104.0 with caveat
+
+Fix build failure[1] with libxml2-2.12 due xmlError changes.
+
+For convenience, use LIBXML_VERSION like webkit did[2] rather than
+chromium's upstream fix[3] which relies on bundled libxml2 always
+being 2.12.x (spares having to use has_version).
+
+When fix lands in qtwebengine, will need to depend on >=libxml2-2.12
+unless Qt decides to do something different considering that cmake
+uses system libxml2 by default and it may be too early to enforce it.
+
+[1] https://bugs.gentoo.org/917601
+[2] https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b
+[3] https://crrev.com/871f8ae9b65ce2679b0bc0be36902d65edf0c1e4
+--- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
+@@ -78,5 +78,9 @@
+   void reset();
+ 
++#if LIBXML_VERSION >= 21200
++  static void ParseErrorFunc(void* user_data, const xmlError*);
++#else
+   static void ParseErrorFunc(void* user_data, xmlError*);
++#endif
+   static void GenericErrorFunc(void* user_data, const char* msg, ...);
+ 
+--- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
+@@ -67,5 +67,9 @@
+ }
+ 
++#if LIBXML_VERSION >= 21200
++void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
++#else
+ void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
++#endif
+   FrameConsole* console = static_cast<FrameConsole*>(user_data);
+   if (!console)

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
index 41ccab685127..0ad7cbecdb1b 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
@@ -104,6 +104,7 @@ PATCHES+=(
 	"${FILESDIR}"/${PN}-6.5.2-libcxx17.patch
 	"${FILESDIR}"/${PN}-6.5.2-cstdint.patch
 	"${FILESDIR}"/${PN}-6.5.3-icu74.patch
+	"${FILESDIR}"/${PN}-6.5.3-libxml2-2.12.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.6.0.ebuild b/dev-qt/qtwebengine/qtwebengine-6.6.0.ebuild
index 234c81fd1039..c1271196f83f 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.6.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.6.0.ebuild
@@ -112,6 +112,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
 	"${FILESDIR}"/${PN}-6.5.3-icu74.patch
+	"${FILESDIR}"/${PN}-6.5.3-libxml2-2.12.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild
index b5b6023bdcaf..8154731705b2 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild
@@ -112,6 +112,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
 	"${FILESDIR}"/${PN}-6.5.3-icu74.patch
+	"${FILESDIR}"/${PN}-6.5.3-libxml2-2.12.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2023-12-19 20:33 Ionen Wolkens
  0 siblings, 0 replies; 50+ messages in thread
From: Ionen Wolkens @ 2023-12-19 20:33 UTC (permalink / raw
  To: gentoo-commits

commit:     3baa4dfa3ad0fcc3ddabccb5af583672d19a005a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 19:40:48 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 20:31:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3baa4dfa

dev-qt/qtwebengine: drop 6.5.3

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   2 -
 .../files/qtwebengine-6.5.2-cstdint.patch          |  30 ---
 .../files/qtwebengine-6.5.2-libcxx17.patch         |  83 ------
 .../files/qtwebengine-6.5.3-libxml2-2.12.patch     |  39 ---
 dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild        | 282 ---------------------
 5 files changed, 436 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 47526a971afc..e111f7507c64 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,8 +2,6 @@ DIST qtwebengine-5.15-ffmpeg-ppc64le.tar.xz 12080 BLAKE2B cfab4f02b8fac8ae7585ed
 DIST qtwebengine-5.15.10_p20230815-patchset.tar.xz 44880 BLAKE2B 6179ca4ad69f922cfa8ab8528bd571a326b3340f810f05782d808d67b6310de079d84ca6f769bd532f0fe375a702f0d348e02cfbf6b3f2d5c30ac668e1005bef SHA512 a323bdd8afeb41a97febf587bb0994a937c78ed470e077a2b482dca7e04bc4eb9cf75b2d2707236574d6586189ff3d27e42f437930dedd85b47a77e18ffc8fa3
 DIST qtwebengine-5.15.11_p20231120.tar.xz 299212012 BLAKE2B 4f9fc9e3f380377f1eeaa8b04c6622c9e25d8b11151cccf7a04ef7dea88e4870db704dda3b303196e40bc8c1c6e76f495f911de5a74769b633952e35718a85de SHA512 2d64edf0ec5322e25a6decfd92a1b1170135c852a8d154d30a336b894bfc4c24f08cb5c88028c68a4f74e6bd6767aaf827a5fa08a82a70fd49e1fa064ee56f27
 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
-DIST qtwebengine-6.5-patchset-1.tar.xz 12936 BLAKE2B f44af36689596da0177f0607cf242d9cce3c376f4a5c28d7902a6b44651ce9272d745a824580268e999c2d58b72424d72eb6027d7461184bf7f04e0223e5195f SHA512 f639eb09d18c19c7b0d422d6acdce62404be0fcce905374c5d47266340191f7ca66875680bb09d80e72db718e34b7dc6e7db5f2f16407a0edb892930513ea407
 DIST qtwebengine-6.6-patchset-5.tar.xz 9520 BLAKE2B 28d620841613b2cc677f7742c35c6b8ffc533e26cb3fd85edd455a5450344594a75f790402ac5bc8d19e8e8aa788d0a3244a3a81d127dbebd53e8224798382c1 SHA512 c0bc470fd25c5a835000618618aad7db17994863304140e73e8e261c620aad512453bdf6fbecf99dfb2e267590003a9730fa2c102db9dfdbd5e931ec850f9f05
 DIST qtwebengine-6.7-patchset-1.tar.xz 8704 BLAKE2B cc2aff71bedf6f1a5328dc9eb5e54308de806373348c38674e879a8f61a1c6a3eb7948e6fe03ef77160afa7c226f820be1d49d0e0e4c5ef40b118ff788595961 SHA512 5e65a445c8e443257a2a74d4804273a6dca0a951f152cd935f041f51a7fb18c8608511e643deb193194ce4c2d3ec3489fe39c9da5e2eeaa0a047bf246e3da09c
-DIST qtwebengine-everywhere-src-6.5.3.tar.xz 412372456 BLAKE2B 131b4baf0267e77e1356568867db26fe86af165ddbd9abb5f2c6121e757011f5e18dfc41b30342eebf5d53f54492a20c1c77309782355b369b73c088d2102814 SHA512 8634eac4931fb27a0ded417de901955774d001dc74dc5779b216519b6b79f0a30f0774224abb14dffef779ca9df1cf384f822f9d5190e4d80b9f6ab0d012bc49
 DIST qtwebengine-everywhere-src-6.6.1.tar.xz 421042656 BLAKE2B 6982a1884d66162cc3c8518125c655d60ced9ec9e81670fb2e5b193aab655c4516bbc50d3c774764385fbe372863fdbf3e03a3c35f07dd9c3119880266b3131e SHA512 d1e4f5b664f8aca5e0a5927968be87e29e29172f1256f21dc6a29006258fb2be2be99b5b36c94a08c704580db9fac7defbb37193534129a21ca14a511fcdeea0

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch
deleted file mode 100644
index 7de101830553..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch status: limbo, partially needs upstreaming
-
-Only manifests as an issue with gcc-13+musl which does not transitively
-include cstdint / stdint.h for the int32/64_t usage.
-
-Partially fixed by [1] (>=chromium-110.0.5434.0) given it removes the
-int64_t usage altogether in seed_response.h.
-
-See also [2] which fixed this for the 87 branch in Qt5.
-
-[1] https://crrev.com/01e21a077a0354d85e8359195613c2781f67a3a2
-[2] https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/489133
---- a/src/3rdparty/chromium/components/variations/seed_response.h
-+++ b/src/3rdparty/chromium/components/variations/seed_response.h
-@@ -7,2 +7,3 @@
- 
-+#include <cstdint>
- #include <string>
---- a/src/3rdparty/chromium/gpu/config/gpu_driver_bug_workarounds.h
-+++ b/src/3rdparty/chromium/gpu/config/gpu_driver_bug_workarounds.h
-@@ -7,2 +7,3 @@
- 
-+#include <cstdint>
- #include <vector>
---- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/file_wrapper.h
-+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/file_wrapper.h
-@@ -16,2 +16,3 @@
- 
-+#include <cstdint>
- #include <string>

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch
deleted file mode 100644
index 8acbbf4463ce..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Patch status: fixed in >=chromium-116.0.5809.0
-
-Backport of [2][3] in order to fix building with libcxx-17
-(and hopefully runtime if upgrade from 16->17 without rebuilding).
-
-In order to apply cleanly, also needed [4] which seems fine to have.
-
-[1] https://crbug.com/1449299
-[2] https://crrev.com/9bfbbffdba73668fdb483e5a850911d2b64c35d7
-[3] https://crrev.com/4878976cd7391fbc02f87af4b7fb539b5c1f3817
-[4] https://crrev.com/5b5551edd3961481e617e510276b9f015a35b861
---- a/src/3rdparty/chromium/base/containers/checked_iterators.h
-+++ b/src/3rdparty/chromium/base/containers/checked_iterators.h
-@@ -24,4 +24,7 @@
-   using reference = T&;
-   using iterator_category = std::random_access_iterator_tag;
-+#if defined(__cpp_lib_ranges)
-+  using iterator_concept = std::contiguous_iterator_tag;
-+#endif
- 
-   // Required for converting constructor below.
-@@ -31,8 +34,6 @@
-   // Required for certain libc++ algorithm optimizations that are not available
-   // for NaCl.
--#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL)
-   template <typename Ptr>
-   friend struct std::pointer_traits;
--#endif
- 
-   constexpr CheckedContiguousIterator() = default;
-@@ -147,4 +148,10 @@
-   }
- 
-+  constexpr friend CheckedContiguousIterator operator+(
-+      difference_type lhs,
-+      const CheckedContiguousIterator& rhs) {
-+    return rhs + lhs;
-+  }
-+
-   constexpr CheckedContiguousIterator& operator-=(difference_type rhs) {
-     if (rhs < 0) {
-@@ -218,5 +225,4 @@
- }  // namespace base
- 
--#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL)
- // Specialize both std::__is_cpp17_contiguous_iterator and std::pointer_traits
- // for CCI in case we compile with libc++ outside of NaCl. The former is
-@@ -236,11 +242,28 @@
- // [2] https://wg21.link/std.iterator.tags
- // [3] https://wg21.link/pointer.traits.optmem
--namespace std {
-+
-+#if defined(_LIBCPP_VERSION)
-+
-+_LIBCPP_BEGIN_NAMESPACE_STD
- 
- template <typename T>
-+struct __is_cpp17_contiguous_iterator;
-+template <typename T>
- struct __is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>>
-     : true_type {};
- 
- template <typename T>
-+struct __libcpp_is_contiguous_iterator;
-+template <typename T>
-+struct __libcpp_is_contiguous_iterator<::base::CheckedContiguousIterator<T>>
-+    : true_type {};
-+
-+_LIBCPP_END_NAMESPACE_STD
-+
-+#endif
-+
-+namespace std {
-+
-+template <typename T>
- struct pointer_traits<::base::CheckedContiguousIterator<T>> {
-   using pointer = ::base::CheckedContiguousIterator<T>;
-@@ -261,5 +284,4 @@
- 
- }  // namespace std
--#endif
- 
- #endif  // BASE_CONTAINERS_CHECKED_ITERATORS_H_

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch
deleted file mode 100644
index d725f3209106..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Patch status: fixed in >=chromium-121.0.6104.0 with caveat
-
-Fix build failure[1] with libxml2-2.12 due xmlError changes.
-
-For convenience, use LIBXML_VERSION like webkit did[2] rather than
-chromium's upstream fix[3] which relies on bundled libxml2 always
-being 2.12.x (spares having to use has_version).
-
-When fix lands in qtwebengine, will need to depend on >=libxml2-2.12
-unless Qt decides to do something different considering that cmake
-uses system libxml2 by default and it may be too early to enforce it.
-
-[1] https://bugs.gentoo.org/917601
-[2] https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b
-[3] https://crrev.com/871f8ae9b65ce2679b0bc0be36902d65edf0c1e4
---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
-@@ -78,5 +78,9 @@
-   void reset();
- 
-+#if LIBXML_VERSION >= 21200
-+  static void ParseErrorFunc(void* user_data, const xmlError*);
-+#else
-   static void ParseErrorFunc(void* user_data, xmlError*);
-+#endif
-   static void GenericErrorFunc(void* user_data, const char* msg, ...);
- 
---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
-@@ -67,5 +67,9 @@
- }
- 
-+#if LIBXML_VERSION >= 21200
-+void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
-+#else
- void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
-+#endif
-   FrameConsole* console = static_cast<FrameConsole*>(user_data);
-   if (!console)

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
deleted file mode 100644
index 5d33443cde3c..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 3.12 needs QTBUG-117979 (see also QTBUG-115512)
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs flag-o-matic multiprocessing optfeature
-inherit prefix python-any-r1 qt6-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
-SRC_URI+="
-	https://dev.gentoo.org/~ionen/distfiles/${PN}-6.5-patchset-1.tar.xz
-"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64"
-fi
-
-IUSE="
-	+alsa bindist custom-cflags designer geolocation +jumbo-build kerberos
-	opengl pdfium pulseaudio qml screencast +system-icu vulkan +widgets
-"
-REQUIRED_USE="
-	designer? ( qml widgets )
-"
-
-# dlopen: krb5, pciutils, udev
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/nspr
-	dev-libs/nss
-	~dev-qt/qtbase-${PV}:6[gui,opengl=,vulkan?,widgets?]
-	~dev-qt/qtwebchannel-${PV}:6[qml?]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:=
-	media-libs/libvpx:=
-	media-libs/libwebp:=
-	media-libs/openjpeg:2=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib:=[minizip]
-	virtual/libudev
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrandr
-	x11-libs/libXtst
-	x11-libs/libxcb:=
-	x11-libs/libxkbcommon
-	x11-libs/libxkbfile
-	alsa? ( media-libs/alsa-lib )
-	designer? ( ~dev-qt/qttools-${PV}:6[designer] )
-	geolocation? ( ~dev-qt/qtpositioning-${PV}:6 )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-libs/libpulse[glib] )
-	qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
-	screencast? (
-		dev-libs/glib:2
-		media-libs/mesa[gbm(+)]
-		media-video/pipewire:=
-		x11-libs/libdrm
-	)
-	system-icu? ( dev-libs/icu:= )
-	widgets? ( ~dev-qt/qtdeclarative-${PV}:6[widgets] )
-"
-DEPEND="
-	${RDEPEND}
-	media-libs/libglvnd
-	x11-base/xorg-proto
-	x11-libs/libxshmfence
-	screencast? ( media-libs/libepoxy[egl(+)] )
-	pdfium? ( net-print/cups )
-	test? (
-		widgets? ( app-text/poppler[cxx(+)] )
-	)
-"
-BDEPEND="
-	$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
-	dev-util/gperf
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-"
-
-PATCHES=( "${WORKDIR}"/patches/${PN} )
-[[ ${PV} == 6.9999 ]] || # keep for 6.x.9999
-	PATCHES+=( "${WORKDIR}"/patches/chromium )
-
-PATCHES+=(
-	# add extras as needed here, may merge in set if carries across versions
-	"${FILESDIR}"/${PN}-6.5.2-libcxx17.patch
-	"${FILESDIR}"/${PN}-6.5.2-cstdint.patch
-	"${FILESDIR}"/${PN}-6.5.3-icu74.patch
-	"${FILESDIR}"/${PN}-6.5.3-libxml2-2.12.patch
-)
-
-python_check_deps() {
-	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	if is-flagq '-g?(gdb)?([1-9])'; then #307861
-		ewarn
-		ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which"
-		ewarn "is non-trivial with ${PN}. May experience extended compilation"
-		ewarn "times, increased disk/memory usage, and potentially link failure."
-		ewarn
-		ewarn "If run into issues, please try disabling before reporting a bug."
-	fi
-
-	local CHECKREQS_DISK_BUILD=7G
-	local CHECKREQS_DISK_USR=220M
-
-	if ! has distcc ${FEATURES}; then #830661
-		# assume ~2GB per job or 1.5GB if clang, possible with less
-		# depending on free memory and *FLAGS, but prefer being safe as
-		# users having OOM issues with qtwebengine been rather common
-		tc-is-clang && : 15 || : 20
-		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G
-	fi
-
-	check-reqs_${EBUILD_PHASE_FUNC} #570534
-}
-
-pkg_pretend() {
-	qtwebengine_check-reqs
-}
-
-pkg_setup() {
-	qtwebengine_check-reqs
-	python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	qt6-build_src_prepare
-
-	# for www-plugins/chrome-binary-plugins (widevine) search paths on prefix
-	hprefixify -w /Gentoo/ src/core/content_client_qt.cpp
-
-	# store chromium versions, only used in postinst for a warning
-	local chromium
-	mapfile -t chromium < CHROMIUM_VERSION || die
-	[[ ${chromium[1]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] &&
-		QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die
-	[[ ${chromium[2]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] &&
-		QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die
-}
-
-src_configure() {
-	local mycmakeargs=(
-		$(qt_feature pdfium qtpdf_build)
-		$(qt_feature qml qtpdf_quick_build)
-		$(qt_feature widgets qtpdf_widgets_build)
-
-		-DQT_FEATURE_qtwebengine_build=ON
-		$(qt_feature qml qtwebengine_quick_build)
-		$(qt_feature widgets qtwebengine_widgets_build)
-
-		$(cmake_use_find_package designer Qt6Designer)
-
-		$(qt_feature alsa webengine_system_alsa)
-		$(qt_feature !bindist webengine_proprietary_codecs)
-		$(qt_feature geolocation webengine_geolocation)
-		$(qt_feature jumbo-build webengine_jumbo_build)
-		$(qt_feature kerberos webengine_kerberos)
-		$(qt_feature pulseaudio webengine_system_pulseaudio)
-		$(qt_feature screencast webengine_webrtc_pipewire)
-		$(qt_feature system-icu webengine_system_icu)
-		$(qt_feature vulkan webengine_vulkan)
-		-DQT_FEATURE_webengine_embedded_build=OFF
-		-DQT_FEATURE_webengine_extensions=ON
-		-DQT_FEATURE_webengine_ozone_x11=ON # needed, cannot do optional X yet
-		-DQT_FEATURE_webengine_pepper_plugins=ON
-		-DQT_FEATURE_webengine_printing_and_pdf=ON
-		-DQT_FEATURE_webengine_spellchecker=ON
-		-DQT_FEATURE_webengine_webchannel=ON
-		-DQT_FEATURE_webengine_webrtc=ON
-
-		# needs a modified ffmpeg to be usable, and even then it may not
-		# cooperate with new major ffmpeg versions (bug #831487)
-		-DQT_FEATURE_webengine_system_ffmpeg=OFF
-
-		# use bundled re2 to avoid complications, may revisit
-		# (see discussions in https://github.com/gentoo/gentoo/pull/32281)
-		-DQT_FEATURE_webengine_system_re2=OFF
-
-		# not necessary to pass these (default), but in case detection fails
-		$(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \
-			freetype glib harfbuzz lcms2 libevent libjpeg \
-			libopenjpeg2 libpci libpng libvpx libwebp libxml \
-			minizip opus poppler snappy zlib)
-
-		# TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON
-		-DINSTALL_GN=OFF
-	)
-
-	local mygnargs=(
-		# prefer no dlopen where possible
-		link_pulseaudio=true
-		rtc_link_pipewire=true
-	)
-
-	if use !custom-cflags; then
-		strip-flags # fragile
-
-		if is-flagq '-g?(gdb)?([2-9])'; then #914475
-			replace-flags '-g?(gdb)?([2-9])' -g1
-			ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)"
-		fi
-	fi
-
-	export NINJA NINJAFLAGS=$(get_NINJAOPTS)
-	[[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v"
-
-	local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}"
-	einfo "Extra Gn args: ${EXTRA_GN}"
-
-	qt6-build_src_configure
-}
-
-src_test() {
-	if [[ ${EUID} == 0 ]]; then
-		# almost every tests fail, so skip entirely
-		ewarn "Skipping tests due to running as root (chromium refuses this configuration)."
-		return
-	fi
-
-	local CMAKE_SKIP_TESTS=(
-		# fails with network sandbox
-		tst_loadsignals
-		tst_qquickwebengineview
-		tst_qwebengineview
-		# certs verfication seems flaky and gives expiration warnings
-		tst_qwebengineclientcertificatestore
-		# test is misperformed when qtbase is built USE=-test?
-		tst_touchinput
-	)
-
-	# prevent using the system's qtwebengine
-	# (use glob to avoid unnecessary complications with arch dir)
-	local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* )
-	[[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}"
-	local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess
-	local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales
-	local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]}
-
-	# random failures in several tests without -j1
-	qt6-build_src_test -j1
-}
-
-pkg_postinst() {
-	# plugin may also be found in $HOME if provided by chrome or firefox
-	use amd64 &&
-		optfeature "Widevine DRM support (protected media playback)" \
-			www-plugins/chrome-binary-plugins
-
-	elog
-	elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with"
-	elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tl;dr your web browsing experience will be compromised."
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2024-04-17  0:15 Ionen Wolkens
  0 siblings, 0 replies; 50+ messages in thread
From: Ionen Wolkens @ 2024-04-17  0:15 UTC (permalink / raw
  To: gentoo-commits

commit:     4bdf521869a34c0534c644932444435842e8b92a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 15:20:20 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 17 00:15:23 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bdf5218

dev-qt/qtwebengine: "improve" build with ninja-1.12 (Qt6)

Most likely more issues, but should hopefully work in most cases
until figure out the rest. Users really having issues may want to
go back to ~ninja-1.11.1 or even app-alternatives/ninja[samurai]
which is known to work for this.

(if issues are widespread, may set a ninja upper bound if don't
find a proper fix at least before the next Qt bump)

Bug: https://bugs.gentoo.org/930107
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.7.0-ninja1.12.patch        | 26 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.7.0.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild     |  1 +
 3 files changed, 28 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.7.0-ninja1.12.patch b/dev-qt/qtwebengine/files/qtwebengine-6.7.0-ninja1.12.patch
new file mode 100644
index 000000000000..cd6f6a3cc89d
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.0-ninja1.12.patch
@@ -0,0 +1,26 @@
+Patch status: pending being looked at upstream
+
+Issue[1][2][3] also exist in chromium itself[4], and unclear
+why this started happening only with ninja-1.12.0 at the moment.
+
+Just a quickfix, likely not correct and seems there may be
+further unresolved race issues[5]. Arguably better to not
+use ninja-1.12.0 for this yet (1.11.1 or samurai are fine).
+
+[1] https://bugs.gentoo.org/930107
+[2] https://bugreports.qt.io/browse/QTBUG-124375
+[3] https://github.com/ninja-build/ninja/issues/2417
+[4] https://bugs.gentoo.org/930112
+[5] https://bugs.gentoo.org/930107#c17
+--- a/src/3rdparty/chromium/content/browser/BUILD.gn
++++ b/src/3rdparty/chromium/content/browser/BUILD.gn
+@@ -198,2 +198,3 @@
+     "//components/services/storage/public/mojom",
++    "//components/spellcheck:buildflags",
+     "//components/sqlite_proto",
+--- a/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
++++ b/src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
+@@ -22,2 +22,3 @@
+     "//content/public/browser",
++    "//components/web_cache/public/mojom",
+     "//extensions/common",

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.0.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.0.ebuild
index ce4b07c90f2c..1035ff458cd5 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.0.ebuild
@@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
 	"${FILESDIR}"/${PN}-6.7.0-clang18.patch
+	"${FILESDIR}"/${PN}-6.7.0-ninja1.12.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
index bab0b63fc807..aae8a8cfa848 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
@@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
 	"${FILESDIR}"/${PN}-6.7.0-clang18.patch
+	"${FILESDIR}"/${PN}-6.7.0-ninja1.12.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2024-04-29 23:51 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2024-04-29 23:51 UTC (permalink / raw
  To: gentoo-commits

commit:     e209990c6d94a01863c46f3285cdd18d0ec98201
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 29 23:50:28 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 23:50:49 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e209990c

dev-qt/qtwebengine: fix build w/ ninja-1.12 for qt5

Same as Ionen's patch for qt6 but with a hunk removed.

Closes: https://bugs.gentoo.org/930107
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../qtwebengine-5.15.13_p20240322-ninja1.12.patch  | 23 ++++++++++++++++++++++
 .../qtwebengine-5.15.13_p20240322.ebuild           |  5 ++++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.13_p20240322-ninja1.12.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.13_p20240322-ninja1.12.patch
new file mode 100644
index 000000000000..2da3dc27fab2
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.13_p20240322-ninja1.12.patch
@@ -0,0 +1,23 @@
+Quoting the description from qtwebengine-6.7.0-ninja1.12.patch:
+"""
+Patch status: pending being looked at upstream
+
+Issue[1][2][3] also exist in chromium itself[4], and unclear
+why this started happening only with ninja-1.12.0 at the moment.
+
+Just a quickfix, likely not fully correct and seems there may
+be further unresolved race issues.
+
+[1] https://bugs.gentoo.org/930107
+[2] https://bugreports.qt.io/browse/QTBUG-124375
+[3] https://github.com/ninja-build/ninja/issues/2417
+[4] https://bugs.gentoo.org/930112
+"""
+
+This has a hunk removed but is otherwise the same.
+--- a/src/3rdparty/chromium/content/browser/BUILD.gn
++++ b/src/3rdparty/chromium/content/browser/BUILD.gn
+@@ -198,2 +198,3 @@
+     "//components/services/storage/public/mojom",
++    "//components/spellcheck:buildflags",
+     "//components/sqlite_proto",

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild
index 22bb5cdc0734..c8cd5e9574d1 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild
@@ -98,7 +98,10 @@ BDEPEND="${PYTHON_DEPS}
 	sys-devel/flex
 "
 
-PATCHES=( "${WORKDIR}/${PATCHSET}" )
+PATCHES=(
+	"${WORKDIR}/${PATCHSET}"
+	"${FILESDIR}"/qtwebengine-5.15.13_p20240322-ninja1.12.patch
+)
 
 qtwebengine_check-reqs() {
 	# bug #307861


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2024-05-23 16:04 Andreas Sturmlechner
  0 siblings, 0 replies; 50+ messages in thread
From: Andreas Sturmlechner @ 2024-05-23 16:04 UTC (permalink / raw
  To: gentoo-commits

commit:     50a6e3e045ea76761e442d15cc917e0159161f53
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 17:08:24 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu May 23 16:01:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a6e3e0

dev-qt/qtwebengine: drop vulnerable 5.15.13_p20240322

Bug: https://bugs.gentoo.org/931960
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 -
 .../qtwebengine-5.15.13_p20240322-ninja1.12.patch  |  23 --
 .../qtwebengine-5.15.13_p20240322.ebuild           | 247 ---------------------
 3 files changed, 271 deletions(-)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 4bfa9d6ff21c..8eddd1481bd2 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -1,5 +1,4 @@
 DIST qtwebengine-5.15.13_p20240322-patchset.tar.xz 26112 BLAKE2B 21eb036520e052f28d7579022d84d4b7136521d025569b22653229d8099140a99726ce5ddebced0d9aa113d3e215fc023ad042a372f2318dfc7cafe5d9e397c9 SHA512 cbc4373ed6a107a3fd2bf1cb73c96e3c00b4428410933dbb1b1eb5116de22e29ca5e102702e1f6f8a12abff6b60ea072b84e77da64c6d60e360bf0ad2e542166
-DIST qtwebengine-5.15.13_p20240322.tar.xz 301394204 BLAKE2B f9bb5bb79edbe0bc862a718feb3b11a56d8c6d2eee1dd711c9b4460f64308fdfbaa4c3551eebad3af5844564a49703574a7fb9d74e15abd0a6aeb8c707a14059 SHA512 b1f459fbb3d21118043a53ce6e292c6a45f8512830f4dbf6982713970f980ccfb8c1ea1c1d7ce373991632de8c44b5053fa1ccb883e19cd8f35a961e67472f5a
 DIST qtwebengine-5.15.13_p20240510.tar.xz 301422784 BLAKE2B b63acccb4740ddb3dd5c76ef9808d946eb2c93b10b45125622adcb5c5e951644ac54612e7aeb9e009e00c5ca8913d3f8b5dfa530c274fec87c4a8377bf1068fb SHA512 0ccc1be0825f4cf2387879241a21f033b5a0198da4e93f2e0533296ec485b103c1ab35aa71a2a9d9c16364979d45d3dd2e13f7e6d0e2a21f94d85294c5819eb3
 DIST qtwebengine-6.7-patchset-6.tar.xz 8140 BLAKE2B 773ee76ecf118ce45eb5dbebf4a574c3cff90f50cd87a469511688ed77db7a96012bec0dd03312bf2d366d709d95a2ac3432e9e0bd5a517b69a5bbd250a94420 SHA512 4db6abbd2a598f8194b9ba7035abad7228f6056fc5e5572329a9a0474f36135428b401edf5fa96e1ac866328d078b015fffd90949ef84f1cea9a1b39e5b9d5ff
 DIST qtwebengine-6.7-patchset-8.tar.xz 8320 BLAKE2B 88f31506865aeef02d6ad0c46dacd478f4c77330815648bf5377762b9f053f5a51b6426c1fbeef81fff5c3a9f4e853f8d51013d5df27fcd0ab0449ce369e18e5 SHA512 1d8e1f8e15a13c6f1675208ba1a329dfa335031e06577de39dc89464b40bd5cf7df7bce4f09f6e67a84c1c2f7aa1fbf6d2d94ea8c142ec5ea67bac8cef1b03b1

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.13_p20240322-ninja1.12.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.13_p20240322-ninja1.12.patch
deleted file mode 100644
index 2da3dc27fab2..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.13_p20240322-ninja1.12.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Quoting the description from qtwebengine-6.7.0-ninja1.12.patch:
-"""
-Patch status: pending being looked at upstream
-
-Issue[1][2][3] also exist in chromium itself[4], and unclear
-why this started happening only with ninja-1.12.0 at the moment.
-
-Just a quickfix, likely not fully correct and seems there may
-be further unresolved race issues.
-
-[1] https://bugs.gentoo.org/930107
-[2] https://bugreports.qt.io/browse/QTBUG-124375
-[3] https://github.com/ninja-build/ninja/issues/2417
-[4] https://bugs.gentoo.org/930112
-"""
-
-This has a hunk removed but is otherwise the same.
---- a/src/3rdparty/chromium/content/browser/BUILD.gn
-+++ b/src/3rdparty/chromium/content/browser/BUILD.gn
-@@ -198,2 +198,3 @@
-     "//components/services/storage/public/mojom",
-+    "//components/spellcheck:buildflags",
-     "//components/sqlite_proto",

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild
deleted file mode 100644
index c8cd5e9574d1..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-5.15.13_p20240322.ebuild
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PATCHSET="${PN}-5.15.13_p20240322-patchset"
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
-HOMEPAGE="https://www.qt.io/"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 arm64 ~x86"
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-		S="${WORKDIR}/${P}"
-		QT5_BUILD_DIR="${S}_build"
-	fi
-else
-	EGIT_BRANCH="5.15"
-	EGIT_REPO_URI=(
-		"https://code.qt.io/qt/${QT5_MODULE}.git"
-		"https://github.com/qt/${QT5_MODULE}.git"
-	)
-	inherit git-r3
-fi
-
-SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
-
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-icu widgets"
-REQUIRED_USE="designer? ( widgets )"
-
-RDEPEND="
-	app-arch/snappy:=
-	dev-libs/glib:2
-	dev-libs/nspr
-	dev-libs/nss
-	dev-libs/expat
-	dev-libs/libevent:=
-	dev-libs/libxml2[icu]
-	dev-libs/libxslt
-	dev-libs/re2:=
-	=dev-qt/qtcore-${QT5_PV}*
-	=dev-qt/qtdeclarative-${QT5_PV}*
-	=dev-qt/qtgui-${QT5_PV}*
-	=dev-qt/qtnetwork-${QT5_PV}*
-	=dev-qt/qtprintsupport-${QT5_PV}*
-	=dev-qt/qtwebchannel-${QT5_PV}*[qml]
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/harfbuzz:=
-	media-libs/lcms:2
-	media-libs/libjpeg-turbo:=
-	media-libs/libpng:0=
-	>=media-libs/libvpx-1.5:=[svc(+)]
-	media-libs/libwebp:=
-	media-libs/opus
-	sys-apps/dbus
-	sys-apps/pciutils
-	sys-libs/zlib[minizip]
-	virtual/libudev
-	x11-libs/libdrm
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXi
-	x11-libs/libxkbfile
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXScrnSaver
-	x11-libs/libXtst
-	alsa? ( media-libs/alsa-lib )
-	designer? ( =dev-qt/designer-${QT5_PV}* )
-	geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* )
-	kerberos? ( virtual/krb5 )
-	pulseaudio? ( media-libs/libpulse )
-	screencast? ( media-video/pipewire:= )
-	system-icu? ( >=dev-libs/icu-69.1:= )
-	widgets? (
-		=dev-qt/qtdeclarative-${QT5_PV}*[widgets]
-		=dev-qt/qtwidgets-${QT5_PV}*
-	)
-"
-DEPEND="${RDEPEND}
-	media-libs/libglvnd
-"
-BDEPEND="${PYTHON_DEPS}
-	app-alternatives/ninja
-	dev-util/gperf
-	dev-util/re2c
-	net-libs/nodejs[ssl]
-	sys-devel/bison
-	sys-devel/flex
-"
-
-PATCHES=(
-	"${WORKDIR}/${PATCHSET}"
-	"${FILESDIR}"/qtwebengine-5.15.13_p20240322-ninja1.12.patch
-)
-
-qtwebengine_check-reqs() {
-	# bug #307861
-	eshopts_push -s extglob
-	if is-flagq '-g?(gdb)?([1-9])'; then
-		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
-		ewarn "You may experience really long compilation times and/or increased memory usage."
-		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
-	fi
-	eshopts_pop
-
-	[[ ${MERGE_TYPE} == binary ]] && return
-
-	# (check-reqs added for bug #570534)
-	#
-	# Estimate the amount of RAM required
-	# Multiplier is *10 because Bash doesn't do floating point maths.
-	# Let's crudely assume ~2GB per compiler job for GCC.
-	local multiplier=20
-
-	# And call it ~1.5GB for Clang.
-	if tc-is-clang ; then
-		multiplier=15
-	fi
-
-	local CHECKREQS_DISK_BUILD="7G"
-	local CHECKREQS_DISK_USR="150M"
-	if ! has "distcc" ${FEATURES} ; then
-		# bug #830661
-		# Not super realistic to come up with good estimates for distcc right now
-		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
-	fi
-
-	check-reqs_${EBUILD_PHASE_FUNC}
-}
-
-pkg_pretend() {
-	qtwebengine_check-reqs
-}
-
-pkg_setup() {
-	qtwebengine_check-reqs
-	python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	case ${QT5_BUILD_TYPE} in
-		live)    git-r3_src_unpack ;&
-		release) default ;;
-	esac
-}
-
-src_prepare() {
-	if [[ ${PV} == ${QT5_PV}_p* ]]; then
-		# This is made from git, and for some reason will fail w/o .git directories.
-		mkdir -p .git src/3rdparty/chromium/.git || die
-	fi
-	# We need to make sure this integrates well into Qt 5.15.3 installation.
-	# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
-	# See also: https://www.qt.io/blog/building-qt-webengine-against-other-qt-versions
-	sed -E "/^MODULE_VERSION/s/5\.15\.[0-9]+/${QT5_PV}/" -i .qmake.conf || die
-
-	# QTBUG-88657 - jumbo-build could still make trouble
-	if ! use jumbo-build; then
-		sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
-			src/buildtools/config/common.pri || die
-	fi
-
-	# bug 620444 - ensure local headers are used
-	find "${S}" -type f -name "*.pr[fio]" | \
-		xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die
-
-	if use system-icu; then
-		# Sanity check to ensure that bundled copy of ICU is not used.
-		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
-		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
-		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
-		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
-		local file
-		while read file; do
-			echo "#error This file should not be used!" > "${file}" || die
-		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
-	fi
-
-	# src/3rdparty/gn fails with libc++ due to passing of `-static-libstdc++`
-	if tc-is-clang ; then
-		if has_version 'sys-devel/clang[default-libcxx(-)]' || has_version 'sys-devel/clang-common[default-libcxx(-)]' ; then
-			eapply "${FILESDIR}/${PN}-5.15.2_p20210521-clang-libc++.patch"
-		fi
-	fi
-
-	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
-	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri
-
-	qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
-
-	qt_use_disable_mod widgets widgets src/src.pro
-
-	qt5-build_src_prepare
-}
-
-src_configure() {
-	export NINJA_PATH=/usr/bin/ninja
-	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
-
-	local myqmakeargs=(
-		--
-		-no-build-qtpdf
-		-printing-and-pdf
-		-system-opus
-		-system-webp
-		$(qt_use alsa)
-		$(qt_use !bindist proprietary-codecs)
-		$(qt_use geolocation webengine-geolocation)
-		$(qt_use kerberos webengine-kerberos)
-		$(qt_use pulseaudio)
-		$(usex screencast -webengine-webrtc-pipewire '')
-		-qt-ffmpeg # bug 831487
-		$(qt_use system-icu webengine-icu)
-	)
-	qt5-build_src_configure
-}
-
-src_install() {
-	qt5-build_src_install
-
-	# bug 601472
-	if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
-		die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
-	fi
-}
-
-pkg_preinst() {
-	elog "This version of Qt WebEngine is based on Chromium version 87.0.4280.144,"
-	elog "with additional security fixes from newer versions. Extensive as it is, the"
-	elog "list of backports is impossible to evaluate, but always bound to be behind"
-	elog "Chromium's release schedule."
-	elog "In addition, various online services may deny service based on an outdated"
-	elog "user agent version (and/or other checks). Google is already known to do so."
-	elog
-	elog "tldr: Your web browsing experience will be compromised."
-}


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2024-07-29 20:20 Sam James
  0 siblings, 0 replies; 50+ messages in thread
From: Sam James @ 2024-07-29 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     b318bfa471b373999512d794f50bd5349fa6a6d5
Author:     Aliaksei Urbanski <aliaksei.urbanski <AT> gmail <DOT> com>
AuthorDate: Mon Jul 29 18:53:28 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 20:19:32 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b318bfa4

dev-qt/qtwebengine: fix re2 compatibility

Use bundled re2 to avoid the compatibility
issue for qtwebengine-5.15.14_p20240510.

Closes: https://bugs.gentoo.org/913923
Bug: https://bugs.gentoo.org/936884
Signed-off-by: Aliaksei Urbanski <aliaksei.urbanski <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37785
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/qtwebengine-5.15.14_p20240510-re2.patch          | 14 ++++++++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild    |  3 ++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.14_p20240510-re2.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.14_p20240510-re2.patch
new file mode 100644
index 000000000000..cbfa44edce31
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.14_p20240510-re2.patch
@@ -0,0 +1,14 @@
+# https://bugs.gentoo.org/913923
+
+    Fix missing {-no,}-webengine-re2 command line options
+
+--- a/src/core/configure.json
++++ b/src/core/configure.json
+@@ -16,6 +16,7 @@
+             "webengine-icu": { "type": "enum", "name": "webengine-system-icu", "values": { "system": "yes", "qt": "no" } },
+             "webengine-ffmpeg": { "type": "enum", "name": "webengine-system-ffmpeg", "values": { "system": "yes", "qt": "no" } },
+             "webengine-opus": { "type": "enum", "name": "webengine-system-opus", "values": { "system": "yes", "qt": "no" } },
++            "webengine-re2": { "type": "enum", "name": "webengine-system-re2", "values": { "system": "yes", "qt": "no" } },
+             "webengine-webp": { "type": "enum", "name": "webengine-system-libwebp", "values": { "system": "yes", "qt": "no" } },
+             "webengine-pepper-plugins": "boolean",
+             "webengine-printing-and-pdf": "boolean",

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild
index 63451386d971..31ca92a14959 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.14_p20240510.ebuild
@@ -41,7 +41,6 @@ RDEPEND="
 	dev-libs/libevent:=
 	dev-libs/libxml2[icu]
 	dev-libs/libxslt
-	dev-libs/re2:=
 	=dev-qt/qtcore-${QT5_PV}*
 	=dev-qt/qtdeclarative-${QT5_PV}*
 	=dev-qt/qtgui-${QT5_PV}*
@@ -102,6 +101,7 @@ BDEPEND="${PYTHON_DEPS}
 PATCHES=(
 	"${WORKDIR}/${PATCHSET}"
 	"${FILESDIR}/${PN}-5.15.13_p20240510-gcc15.patch"
+	"${FILESDIR}/${P}-re2.patch"
 )
 
 python_check_deps() {
@@ -231,6 +231,7 @@ src_configure() {
 		$(usex screencast -webengine-webrtc-pipewire '')
 		-qt-ffmpeg # bug 831487
 		$(qt_use system-icu webengine-icu)
+		-no-webengine-re2 # bug 913923
 	)
 	qt5-build_src_configure
 }


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2024-08-09  9:27 Ionen Wolkens
  0 siblings, 0 replies; 50+ messages in thread
From: Ionen Wolkens @ 2024-08-09  9:27 UTC (permalink / raw
  To: gentoo-commits

commit:     331c6eba932ad1f85d725bdd0b1b2d26dff89eb0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  9 07:03:26 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug  9 09:27:04 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=331c6eba

dev-qt/qtwebengine: fix build with clang-19

Closes: https://bugs.gentoo.org/937541
Thanks-to: Alfred Wingate
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.7.2-clang19.patch          | 76 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild     |  1 +
 dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild     |  1 +
 4 files changed, 79 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.7.2-clang19.patch b/dev-qt/qtwebengine/files/qtwebengine-6.7.2-clang19.patch
new file mode 100644
index 000000000000..3951fa56605a
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.2-clang19.patch
@@ -0,0 +1,76 @@
+Patch status: fixed in >=chromium-127.0.6524.0
+
+https://bugs.gentoo.org/937541
+https://github.com/google/perfetto/commit/e2f661907a717551235563389977b7468da6d45e
+https://android-review.googlesource.com/c/platform/external/perfetto/+/3114454
+https://chromium-review.googlesource.com/c/chromium/src/+/5604664
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/hash_table.h
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/hash_table.h
+@@ -1647,5 +1647,5 @@
+   }
+   table_ = temporary_table;
+-  Allocator::template BackingWriteBarrier(&table_);
++  Allocator::BackingWriteBarrier(&table_);
+ 
+   HashTableBucketInitializer<Traits, Allocator, Value>::InitializeTable(
+@@ -1701,5 +1701,5 @@
+   // the current table has to be atomic to prevent races with concurrent marker.
+   AsAtomicPtr(&table_)->store(new_hash_table.table_, std::memory_order_relaxed);
+-  Allocator::template BackingWriteBarrier(&table_);
++  Allocator::BackingWriteBarrier(&table_);
+   table_size_ = new_table_size;
+ 
+@@ -1853,6 +1853,6 @@
+   // there is *no* risk of data races when reading.
+   AtomicWriteSwap(table_, other.table_);
+-  Allocator::template BackingWriteBarrier(&table_);
+-  Allocator::template BackingWriteBarrier(&other.table_);
++  Allocator::BackingWriteBarrier(&table_);
++  Allocator::BackingWriteBarrier(&other.table_);
+   if (IsWeak<ValueType>::value) {
+     // Weak processing is omitted when no backing store is present. In case such
+--- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h
++++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h
+@@ -329,5 +329,5 @@
+ 
+   static void Flush() {
+-    Base::template Trace([](typename Base::TraceContext ctx) { ctx.Flush(); });
++    Base::Trace([](typename Base::TraceContext ctx) { ctx.Flush(); });
+   }
+ 
+@@ -335,6 +335,5 @@
+   static bool IsEnabled() {
+     bool enabled = false;
+-    Base::template CallIfEnabled(
+-        [&](uint32_t /*instances*/) { enabled = true; });
++    Base::CallIfEnabled([&](uint32_t /*instances*/) { enabled = true; });
+     return enabled;
+   }
+@@ -350,5 +349,5 @@
+       const DynamicCategory& dynamic_category) {
+     bool enabled = false;
+-    Base::template Trace([&](typename Base::TraceContext ctx) {
++    Base::Trace([&](typename Base::TraceContext ctx) {
+       enabled = enabled || IsDynamicCategoryEnabled(&ctx, dynamic_category);
+     });
+@@ -497,5 +496,5 @@
+     PERFETTO_DCHECK(track.uuid == desc.uuid());
+     TrackRegistry::Get()->UpdateTrack(track, desc.SerializeAsString());
+-    Base::template Trace([&](typename Base::TraceContext ctx) {
++    Base::Trace([&](typename Base::TraceContext ctx) {
+       TrackEventInternal::WriteTrackDescriptor(
+           track, ctx.tls_inst_->trace_writer.get(), ctx.GetIncrementalState(),
+@@ -1048,5 +1047,5 @@
+     using CatTraits = CategoryTraits<CategoryType>;
+     if (CatTraits::kIsDynamic) {
+-      Base::template TraceWithInstances(instances, std::move(lambda));
++      Base::TraceWithInstances(instances, std::move(lambda));
+     } else {
+       Base::template TraceWithInstances<CategoryTracePointTraits>(
+@@ -1062,5 +1061,5 @@
+       std::function<void(protos::pbzero::TrackDescriptor*)> callback) {
+     TrackRegistry::Get()->UpdateTrack(track, std::move(callback));
+-    Base::template Trace([&](typename Base::TraceContext ctx) {
++    Base::Trace([&](typename Base::TraceContext ctx) {
+       TrackEventInternal::WriteTrackDescriptor(
+           track, ctx.tls_inst_->trace_writer.get(), ctx.GetIncrementalState(),

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild
index 558e4e9ca86c..652140a1537f 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild
@@ -111,6 +111,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
 	"${FILESDIR}"/${PN}-6.7.2-QTBUG-113574.patch
+	"${FILESDIR}"/${PN}-6.7.2-clang19.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
index 73f482a28fcd..084612a1d845 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
@@ -111,6 +111,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
 	"${FILESDIR}"/${PN}-6.7.2-QTBUG-113574.patch
+	"${FILESDIR}"/${PN}-6.7.2-clang19.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
index 66f2a52045b6..894e87964faf 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
@@ -110,6 +110,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
+	"${FILESDIR}"/${PN}-6.7.2-clang19.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
@ 2024-09-13  2:45 Ionen Wolkens
  0 siblings, 0 replies; 50+ messages in thread
From: Ionen Wolkens @ 2024-09-13  2:45 UTC (permalink / raw
  To: gentoo-commits

commit:     fb5c5f6a1907484906387f040614c5e5fe9585a8
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 13 02:25:54 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Sep 13 02:44:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb5c5f6a

dev-qt/qtwebengine: fix build with gcc+musl+USE=-jumbo

Closes: https://bugs.gentoo.org/939519
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qtwebengine/files/qtwebengine-6.7.2-musl-cstdint.patch   | 12 ++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild                  |  1 +
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild               |  1 +
 dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild               |  1 +
 dev-qt/qtwebengine/qtwebengine-6.9999.ebuild                 |  1 +
 5 files changed, 16 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.7.2-musl-cstdint.patch b/dev-qt/qtwebengine/files/qtwebengine-6.7.2-musl-cstdint.patch
new file mode 100644
index 000000000000..c654e68fa2fc
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.2-musl-cstdint.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/939519
+
+Just one more of these, should be merged with the cstdint patch
+in patchset next update & ideally upstreamed eventually.
+--- a/src/3rdparty/chromium/third_party/blink/public/common/page_state/page_state.h
++++ b/src/3rdparty/chromium/third_party/blink/public/common/page_state/page_state.h
+@@ -6,4 +6,5 @@
+ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_PAGE_STATE_PAGE_STATE_H_
+ 
++#include <cstdint>
+ #include <string>
+ #include <vector>

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild
index a18dca6881d4..225a90310783 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild
@@ -110,6 +110,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
+	"${FILESDIR}"/${PN}-6.7.2-musl-cstdint.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
index 49de5422603a..a6e9836f4ad9 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
@@ -110,6 +110,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
+	"${FILESDIR}"/${PN}-6.7.2-musl-cstdint.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
index fec93a911d24..2fc66a0cfb03 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
@@ -109,6 +109,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
+	"${FILESDIR}"/${PN}-6.7.2-musl-cstdint.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
index fec93a911d24..2fc66a0cfb03 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild
@@ -109,6 +109,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
 	# add extras as needed here, may merge in set if carries across versions
+	"${FILESDIR}"/${PN}-6.7.2-musl-cstdint.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2024-09-13  2:45 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-20 22:23 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2024-09-13  2:45 Ionen Wolkens
2024-08-09  9:27 Ionen Wolkens
2024-07-29 20:20 Sam James
2024-05-23 16:04 Andreas Sturmlechner
2024-04-29 23:51 Sam James
2024-04-17  0:15 Ionen Wolkens
2023-12-19 20:33 Ionen Wolkens
2023-11-22 12:46 Ionen Wolkens
2023-11-21 22:36 Andreas Sturmlechner
2023-11-06 18:11 Andreas Sturmlechner
2023-08-10  3:53 Sam James
2023-08-04 12:35 Sam James
2023-07-26 13:31 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-04-26  3:54 Ionen Wolkens
2023-04-22 18:09 Andreas Sturmlechner
2023-03-27 12:51 Sam James
2023-01-08 21:45 Andreas Sturmlechner
2022-08-02 21:51 Sam James
2022-04-05 16:35 Andreas Sturmlechner
2022-04-05 16:35 Andreas Sturmlechner
2021-12-28 12:19 Andreas Sturmlechner
2021-12-25  0:10 Andreas Sturmlechner
2021-12-14 18:13 Andreas Sturmlechner
2021-11-14 19:53 Andreas Sturmlechner
2021-10-31  3:06 Sam James
2021-10-09 22:24 Sam James
2021-09-19 13:42 Andreas Sturmlechner
2021-09-14 16:27 Andreas Sturmlechner
2021-07-22  9:35 Andreas Sturmlechner
2021-05-17 21:15 Andreas Sturmlechner
2021-04-06 21:34 Andreas Sturmlechner
2021-03-24  0:50 Georgy Yakovlev
2021-03-12 20:08 Andreas Sturmlechner
2021-02-26 21:19 Andreas Sturmlechner
2021-02-23 20:27 Andreas Sturmlechner
2021-01-02  1:23 Andreas Sturmlechner
2020-11-05 22:51 Andreas Sturmlechner
2020-08-19 19:39 Andreas Sturmlechner
2020-05-17  8:18 Andreas Sturmlechner
2020-05-14 17:21 Andreas Sturmlechner
2020-04-29 20:44 Lars Wendler
2018-06-27 19:00 Andreas Sturmlechner
2018-02-07  2:04 Andreas Sturmlechner
2017-12-10  1:43 Michael Palimaka
2017-01-31  5:14 Davide Pesavento
2016-12-06  6:54 Michael Palimaka
2016-12-01 14:03 Michael Palimaka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox