extra/qt5-webengine to 5.15.16-8

This commit is contained in:
Kevin Mihelich 2024-05-19 19:30:22 +00:00
parent 0c9f43b23e
commit 55e0f01f94
6 changed files with 248 additions and 9 deletions

View file

@ -1,7 +1,7 @@
pkgbase = qt5-webengine
pkgdesc = Provides support for web applications using the Chromium browser project
pkgver = 5.15.16
pkgrel = 6
pkgrel = 8
url = https://www.qt.io
arch = x86_64
groups = qt5
@ -35,7 +35,7 @@ pkgbase = qt5-webengine
depends = libxtst
depends = ttf-font
optdepends = pipewire: WebRTC desktop sharing under Wayland
source = git+https://code.qt.io/qt/qtwebengine.git#tag=v5.15.16-lts
source = kde-qtwebengine::git+https://code.qt.io/qt/qtwebengine.git#tag=v5.15.16-lts
source = git+https://code.qt.io/qt/qtwebengine-chromium.git
source = qt5-webengine-python3.patch
source = qt5-webengine-chromium-python3.patch
@ -43,7 +43,11 @@ pkgbase = qt5-webengine
source = qt5-webengine-pipewire-0.3.patch
source = qt5-webengine-libxml-2.12.patch
source = qt5-webengine-icu-74.patch
sha256sums = SKIP
source = qt5-webengine-icu-75.patch
source = python3.12-imp.patch
source = python3.12-six.patch
source = qt5-webengine-ninja-1.12.patch
sha256sums = a47f420bd0549b11faf70c86e97c6b696f56fd586a545b6bab8f596121c4ba17
sha256sums = SKIP
sha256sums = 0ad5d1660886f7bbf5108b071bf5d7bbbabf1cd1258ce9d4587a01dec4a1aa89
sha256sums = d8beb3d65a1aaf927285e6f055a9d1facd0f9c3fd851f91ba568389fb3137399
@ -51,5 +55,9 @@ pkgbase = qt5-webengine
sha256sums = 5e3a3c4711d964d5152a04059a2b5c1d14bb13dd29bce370120f60e85b476b6f
sha256sums = bfae9e773edfd0ddbc617777fdd4c0609cba2b048be7afe40f97768e4eb6117e
sha256sums = 547e092f6a20ebd15e486b31111145bc94b8709ec230da89c591963001378845
sha256sums = 7cac28ba784d24b4abf6414079548ada165343af507ecd8e23cbe7e4f63ae52f
sha256sums = 61a7a775ff5a118d1a5cc2298db19fb8412be5d7d38dcad1ca199ef87685adf8
sha256sums = ac87ec55ee5cbcf2d520e1ea433d041c0bf754271a17f859edbb9976f192ce3f
sha256sums = 6672741b64d896dc555c8ee42ca2329c4f20d5f406095a69fe72da44b3a142f4
pkgname = qt5-webengine

View file

@ -12,7 +12,7 @@ highmem=1
pkgname=qt5-webengine
_basever=5.15.13
pkgver=5.15.16
pkgrel=6
pkgrel=8
arch=('x86_64')
url='https://www.qt.io'
license=('LGPL3' 'LGPL2.1' 'BSD')
@ -23,7 +23,7 @@ makedepends=('git' 'python' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler' 'pip
optdepends=('pipewire: WebRTC desktop sharing under Wayland')
groups=('qt5')
_pkgfqn=${pkgname/5-/}
source=(git+https://code.qt.io/qt/qtwebengine.git#tag=v${pkgver}-lts
source=(kde-$_pkgfqn::git+https://code.qt.io/qt/qtwebengine.git#tag=v${pkgver}-lts
git+https://code.qt.io/qt/qtwebengine-chromium.git
qt5-webengine-python3.patch
qt5-webengine-chromium-python3.patch
@ -31,6 +31,10 @@ source=(git+https://code.qt.io/qt/qtwebengine.git#tag=v${pkgver}-lts
qt5-webengine-pipewire-0.3.patch
qt5-webengine-libxml-2.12.patch
qt5-webengine-icu-74.patch
qt5-webengine-icu-75.patch
python3.12-imp.patch
python3.12-six.patch
qt5-webengine-ninja-1.12.patch
0001-ARM-toolchain-fixes.patch
0002-Fix-ARM-skia-ICE.patch
0003-bind-gen-Support-single_process-flag-in-generate_bin.patch
@ -43,6 +47,10 @@ sha256sums=('SKIP'
'5e3a3c4711d964d5152a04059a2b5c1d14bb13dd29bce370120f60e85b476b6f'
'bfae9e773edfd0ddbc617777fdd4c0609cba2b048be7afe40f97768e4eb6117e'
'547e092f6a20ebd15e486b31111145bc94b8709ec230da89c591963001378845'
'7cac28ba784d24b4abf6414079548ada165343af507ecd8e23cbe7e4f63ae52f'
'61a7a775ff5a118d1a5cc2298db19fb8412be5d7d38dcad1ca199ef87685adf8'
'ac87ec55ee5cbcf2d520e1ea433d041c0bf754271a17f859edbb9976f192ce3f'
'6672741b64d896dc555c8ee42ca2329c4f20d5f406095a69fe72da44b3a142f4'
'abccb5349ec341fd912be93d055f0cdf6becfdb5fa3312769777f750cfd4351a'
'cad41451dffb5cc67c57882526c6c19795e6e49e7b704f92ec76dd3499486654'
'4e58aca7f71037f154bbdfd03deb671462da433c241fd6429ca6adf2c7738f75'
@ -51,7 +59,7 @@ sha256sums=('SKIP'
prepare() {
mkdir -p build
cd ${_pkgfqn}
cd kde-$_pkgfqn
git submodule init
git submodule set-url src/3rdparty "$srcdir"/qtwebengine-chromium
git submodule set-branch --branch 87-based src/3rdparty
@ -64,6 +72,10 @@ prepare() {
patch -p1 -d src/3rdparty -i "$srcdir"/qt5-webengine-pipewire-0.3.patch # Port to pipewire 0.3
patch -p1 -d src/3rdparty/chromium -i "$srcdir"/qt5-webengine-libxml-2.12.patch # Fix build with libxml 2.12
patch -p1 -d src/3rdparty/chromium -i "$srcdir"/qt5-webengine-icu-74.patch # Fix build with ICU 74 - patch from Alpine
patch -p2 -d src/3rdparty/chromium -i "$srcdir"/qt5-webengine-icu-75.patch # Fix build with ICU 75
patch -p1 -d src/3rdparty/chromium -i "$srcdir"/python3.12-imp.patch # Fix build with python 3.12 - patch from Debian
patch -p1 -d src/3rdparty/chromium -i "$srcdir"/python3.12-six.patch # Fix build with python 3.12 - patch from Debian
patch -p2 -d src/3rdparty/chromium -i "$srcdir"/qt5-webengine-ninja-1.12.patch # Fix build with ninja 1.12
[[ $CARCH == "armv7h" ]] && export NINJAJOBS="-j1"
cd "$srcdir/$_pkgfqn/src/3rdparty"
@ -79,12 +91,12 @@ build() {
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
cd build
qmake ../${_pkgfqn} -- \
qmake ../kde-$_pkgfqn QMAKE_CXXFLAGS="$CXXFLAGS -std=gnu++17" -- \
-proprietary-codecs \
-system-ffmpeg \
-webp \
-spellchecker \
-webengine-icu \
-spellchecker \
-webengine-kerberos \
-webengine-webrtc-pipewire
make
@ -102,7 +114,7 @@ package() {
find "$pkgdir/usr/lib" -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
install -Dm644 "$srcdir"/kde-$_pkgfqn/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
# Fix cmake dependency versions
sed -e "s|$pkgver\ |$_basever |" -i "$pkgdir"/usr/lib/cmake/*/*Config.cmake

View file

@ -0,0 +1,50 @@
Description: stop using imp module which was removed in Python 3.12
Origin: upstream, commits
https://chromium.googlesource.com/chromium/src/+/9e0c89a3b5638ba2
https://chromium.googlesource.com/chromium/src/+/f5f6e361d037c316
Last-Update: 2024-03-17
--- a/components/resources/protobufs/binary_proto_generator.py
+++ b/components/resources/protobufs/binary_proto_generator.py
@@ -9,7 +9,7 @@
"""
from __future__ import print_function
import abc
-import imp
+from importlib import util as imp_util
import optparse
import os
import re
@@ -68,7 +68,11 @@ class GoogleProtobufModuleImporter:
raise ImportError(fullname)
filepath = self._fullname_to_filepath(fullname)
- return imp.load_source(fullname, filepath)
+ spec = imp_util.spec_from_file_location(fullname, filepath)
+ loaded = imp_util.module_from_spec(spec)
+ spec.loader.exec_module(loaded)
+
+ return loaded
class BinaryProtoGenerator:
--- a/mojo/public/tools/mojom/mojom/fileutil.py
+++ b/mojo/public/tools/mojom/mojom/fileutil.py
@@ -3,7 +3,6 @@
# found in the LICENSE file.
import errno
-import imp
import os.path
import sys
--- a/mojo/public/tools/mojom/mojom/parse/lexer.py
+++ b/mojo/public/tools/mojom/mojom/parse/lexer.py
@@ -2,7 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import imp
import os.path
import sys

View file

@ -0,0 +1,58 @@
Patch-Source: https://sources.debian.org/data/main/q/qtwebengine-opensource-src/5.15.16+dfsg-3/debian/patches/python3.12-six.patch
--
Description: implement find_spec() for _SixMetaPathImporter
Origin: upstream, https://github.com/benjaminp/six/commit/25916292d96f5f09
Last-Update: 2024-03-17
--- a/third_party/protobuf/third_party/six/six.py
+++ b/third_party/protobuf/third_party/six/six.py
@@ -71,6 +71,11 @@ else:
MAXSIZE = int((1 << 63) - 1)
del X
+if PY34:
+ from importlib.util import spec_from_loader
+else:
+ spec_from_loader = None
+
def _add_doc(func, doc):
"""Add documentation to a function."""
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
return self
return None
+ def find_spec(self, fullname, path, target=None):
+ if fullname in self.known_modules:
+ return spec_from_loader(fullname, self)
+ return None
+
def __get_module(self, fullname):
try:
return self.known_modules[fullname]
--- a/tools/grit/third_party/six/__init__.py
+++ b/tools/grit/third_party/six/__init__.py
@@ -71,6 +71,11 @@ else:
MAXSIZE = int((1 << 63) - 1)
del X
+if PY34:
+ from importlib.util import spec_from_loader
+else:
+ spec_from_loader = None
+
def _add_doc(func, doc):
"""Add documentation to a function."""
@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object):
return self
return None
+ def find_spec(self, fullname, path, target=None):
+ if fullname in self.known_modules:
+ return spec_from_loader(fullname, self)
+ return None
+
def __get_module(self, fullname):
try:
return self.known_modules[fullname]

View file

@ -0,0 +1,99 @@
diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn
index b511a58c5a8..abd78a74ead 100644
--- a/chromium/build/config/compiler/BUILD.gn
+++ b/chromium/build/config/compiler/BUILD.gn
@@ -566,7 +566,7 @@ config("compiler") {
# Override Chromium's default for projects that wish to stay on C++11.
cflags_cc += [ "-std=${standard_prefix}++11" ]
} else {
- cflags_cc += [ "-std=${standard_prefix}++14" ]
+ cflags_cc += [ "-std=${standard_prefix}++17" ]
}
} else if (!is_win && !is_nacl) {
if (target_os == "android") {
diff --git a/chromium/base/allocator/partition_allocator/partition_alloc_constants.h b/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
index f03ba1e4ab4..b1495f7ae74 100644
--- a/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
+++ b/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
@@ -195,7 +195,7 @@ NumPartitionPagesPerSuperPage() {
//
// __STDCPP_DEFAULT_NEW_ALIGNMENT__ is C++17. As such, it is not defined on all
// platforms, as Chrome's requirement is C++14 as of 2020.
-#if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__)
+#if 0
static constexpr size_t kAlignment =
std::max(alignof(std::max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__);
#else
diff --git a/chromium/third_party/webrtc/common_video/h264/sps_parser.h b/chromium/third_party/webrtc/common_video/h264/sps_parser.h
index 76e627d27a3..942435f44a0 100644
--- a/chromium/third_party/webrtc/common_video/h264/sps_parser.h
+++ b/chromium/third_party/webrtc/common_video/h264/sps_parser.h
@@ -12,6 +12,7 @@
#define COMMON_VIDEO_H264_SPS_PARSER_H_
#include "absl/types/optional.h"
+#include <cstdint>
namespace rtc {
class BitBuffer;
diff --git a/chromium/third_party/webrtc/common_video/h264/pps_parser.h b/chromium/third_party/webrtc/common_video/h264/pps_parser.h
index d6c31b06887..d8852dfd186 100644
--- a/chromium/third_party/webrtc/common_video/h264/pps_parser.h
+++ b/chromium/third_party/webrtc/common_video/h264/pps_parser.h
@@ -12,6 +12,7 @@
#define COMMON_VIDEO_H264_PPS_PARSER_H_
#include "absl/types/optional.h"
+#include <cstdint>
namespace rtc {
class BitBuffer;
diff --git a/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h b/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
index 3b9971abae1..d4458038527 100644
--- a/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
+++ b/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
@@ -13,6 +13,7 @@
#include <array>
#include <vector>
+#include <memory>
#include "absl/types/optional.h"
#include "api/array_view.h"
diff --git a/chromium/third_party/webrtc/modules/include/module_common_types_public.h b/chromium/third_party/webrtc/modules/include/module_common_types_public.h
index 345e45ce127..e686e5d691a 100644
--- a/chromium/third_party/webrtc/modules/include/module_common_types_public.h
+++ b/chromium/third_party/webrtc/modules/include/module_common_types_public.h
@@ -12,6 +12,7 @@
#define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
#include <limits>
+#include <cstdint>
#include "absl/types/optional.h"
diff --git a/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc b/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
index 8fcc799b795..bc69ddcf18c 100644
--- a/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
+++ b/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
@@ -15,6 +15,7 @@
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_finder.h"
#include "third_party/blink/renderer/platform/text/text_boundaries.h"
+#include "absl/base/attributes.h"
namespace blink {
diff --git a/chromium/third_party/abseil-cpp/absl/base/options.h b/chromium/third_party/abseil-cpp/absl/base/options.h
index df506f0fae6..1de105fed4a 100644
--- a/chromium/third_party/abseil-cpp/absl/base/options.h
+++ b/chromium/third_party/abseil-cpp/absl/base/options.h
@@ -180,7 +180,7 @@
// absl::variant is a typedef of std::variant, use the feature macro
// ABSL_USES_STD_VARIANT.
-#define ABSL_OPTION_USE_STD_VARIANT 2
+#define ABSL_OPTION_USE_STD_VARIANT 0
// ABSL_OPTION_USE_INLINE_NAMESPACE

View file

@ -0,0 +1,12 @@
diff --git a/chromium/content/public/browser/BUILD.gn b/chromium/content/public/browser/BUILD.gn
index 7cf82a4aacf..0e0dda2c3ca 100644
--- a/chromium/content/public/browser/BUILD.gn
+++ b/chromium/content/public/browser/BUILD.gn
@@ -469,6 +469,7 @@ jumbo_source_set("browser_sources") {
"//build:chromeos_buildflags",
"//cc",
"//components/viz/host",
+ "//components/spellcheck:buildflags",
"//content/browser", # Must not be public_deps!
"//device/fido",
"//gpu",