summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjk <jk@vin.ovh>2021-05-29 23:56:51 -0500
committerjk <jk@vin.ovh>2021-05-29 23:56:51 -0500
commitc5f20aa73a2847b42d2c9c1a7f66cdb335c5353e (patch)
tree0ae408161d2cccc31c41996d1262dd62ddd1f02e
parent6225a81337ddf987f1adc39c70d86354a61c25b0 (diff)
downloadungoogled-chromium-c5f20aa73a2847b42d2c9c1a7f66cdb335c5353e.tar.gz
ungoogled-chromium-c5f20aa73a2847b42d2c9c1a7f66cdb335c5353e.tar.bz2
ungoogled-chromium-c5f20aa73a2847b42d2c9c1a7f66cdb335c5353e.zip
upgpkg: ungoogled-chromium 91.0.4472.77-1
upstream release
-rw-r--r--.SRCINFO40
-rw-r--r--PKGBUILD70
-rw-r--r--add-clang-nomerge-attribute-to-CheckError.patch32
-rw-r--r--fix-crash-in-ThemeService.patch45
-rw-r--r--sql-make-VirtualCursor-standard-layout-type.patch (renamed from sql-make-virtualcursor-standard-layout-type.patch)47
-rw-r--r--unbundle-use-char16_t-as-UCHAR_TYPE.patch30
-rw-r--r--unexpire-accelerated-video-decode-flag.patch11
-rwxr-xr-xupdate-patches.sh12
8 files changed, 195 insertions, 92 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b1fc5f2..177357f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ungoogled-chromium
pkgdesc = A lightweight approach to removing Google web service dependency
- pkgver = 90.0.4430.212
- pkgrel = 2
+ pkgver = 91.0.4472.77
+ pkgrel = 1
url = https://github.com/Eloston/ungoogled-chromium
arch = x86_64
license = BSD
@@ -47,31 +47,37 @@ pkgbase = ungoogled-chromium
depends = libpng
depends = freetype2
optdepends = pipewire: WebRTC desktop sharing under Wayland
- optdepends = kdialog: needed for file dialogs in KDE
+ optdepends = kdialog: support for native dialogs in Plasma
optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce
- optdepends = kwallet: for storing passwords in KWallet on KDE desktops
+ optdepends = kwallet: support for storing passwords in KWallet on Plasma
provides = chromium
conflicts = chromium
- source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-90.0.4430.212.tar.xz
- source = ungoogled-chromium-90.0.4430.212-1.tar.gz::https://github.com/Eloston/ungoogled-chromium/archive/90.0.4430.212-1.tar.gz
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/ungoogled-chromium-91.0.4472.77.tar.xz
source = https://github.com/foutrelis/chromium-launcher/archive/v7/chromium-launcher-7.tar.gz
- source = https://github.com/stha09/chromium-patches/releases/download/chromium-90-patchset-6/chromium-90-patchset-6.tar.xz
+ source = https://github.com/stha09/chromium-patches/releases/download/chromium-91-patchset-5/chromium-91-patchset-5.tar.xz
+ source = fix-crash-in-ThemeService.patch
+ source = unbundle-use-char16_t-as-UCHAR_TYPE.patch
source = add-clang-nomerge-attribute-to-CheckError.patch
- source = chromium-drirc-disable-10bpc-color-configs.conf
+ source = sql-make-VirtualCursor-standard-layout-type.patch
source = chromium-glibc-2.33.patch
- source = wayland-egl.patch
+ source = unexpire-accelerated-video-decode-flag.patch
source = use-oauth2-client-switches-as-default.patch
- source = sql-make-virtualcursor-standard-layout-type.patch
- sha256sums = abe11d0cb1ff21278aad2eec1a1e279d59176b15331804d7df1807446786d59e
- sha256sums = b49f989e756bdaa66785905a59779005e9f168c39a235f605bd45df301c44788
+ source = ungoogled-chromium-91.0.4472.77-1.tar.gz::https://github.com/Eloston/ungoogled-chromium/archive/91.0.4472.77-1.tar.gz
+ source = chromium-drirc-disable-10bpc-color-configs.conf
+ source = wayland-egl.patch
+ sha256sums = 45d5a43ef798d20313c78fa8a075be0c22055e39c8481eb53eabda81df901b31
sha256sums = 86859c11cfc8ba106a3826479c0bc759324a62150b271dd35d1a0f96e890f52f
- sha256sums = 3eb9580ea35a96789e02815270498226fa33726f4210a5ee36f3868af2ffae1f
- sha256sums = 5e22afcb91b5402bc09e80630c5323d61013c3fccb0bbd9b23d1e79a400b00d0
- sha256sums = babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb
+ sha256sums = 171525009003a9ed1182cfcb6f407d7169d9a731a474304e263029376719f55a
+ sha256sums = 3cfe46e181cb9d337c454b5b5adbf5297052f29cd617cdee4380eeb1943825d8
+ sha256sums = 59a59a60a08b335fe8647fdf0f9d2288d236ebf2cc9626396d0c4d032fd2b25d
+ sha256sums = 50133dd196d288ad538bb536aa51dccd6cb4aacfd9a60160f77e8fb16034b460
+ sha256sums = dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150
sha256sums = 2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b
- sha256sums = 34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574
+ sha256sums = 82a85105fc33b92a84dabb7ed6725ccbb56f1075c11f9f3f43bb8ff724f88847
sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711
- sha256sums = 23d6b14530acb66762c5d8b895c100203a824549e0d9aa815958dfd2513e6a7a
+ sha256sums = f93021dab9fd8496beb57a3defc90233258e7128c3141a1a9d9a0c45f29967e1
+ sha256sums = babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb
+ sha256sums = 34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574
pkgname = ungoogled-chromium
diff --git a/PKGBUILD b/PKGBUILD
index b40874b..e251aff 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,10 +9,10 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=ungoogled-chromium
-pkgver=90.0.4430.212
-pkgrel=2
+pkgver=91.0.4472.77
+pkgrel=1
_launcher_ver=7
-_gcc_patchset=6
+_gcc_patchset=5
_pkgname=$(echo $pkgname | cut -d\- -f1-2)
_pkgver=$(echo $pkgver | cut -d\. -f1-4)
# ungoogled chromium variables
@@ -28,31 +28,39 @@ depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
makedepends=('python' 'gn' 'ninja' 'clang' 'lld' 'gperf' 'nodejs' 'pipewire'
'java-runtime-headless' 'python2' 'python2-setuptools')
optdepends=('pipewire: WebRTC desktop sharing under Wayland'
- 'kdialog: needed for file dialogs in KDE'
+ 'kdialog: support for native dialogs in Plasma'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
- 'kwallet: for storing passwords in KWallet on KDE desktops')
+ 'kwallet: support for storing passwords in KWallet on Plasma')
provides=('chromium')
conflicts=('chromium')
-source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$_pkgver.tar.xz
- $_pkgname-$_uc_ver.tar.gz::https://github.com/$_uc_usr/ungoogled-chromium/archive/$_uc_ver.tar.gz
+source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
+ fix-crash-in-ThemeService.patch
+ unbundle-use-char16_t-as-UCHAR_TYPE.patch
add-clang-nomerge-attribute-to-CheckError.patch
- chromium-drirc-disable-10bpc-color-configs.conf
+ sql-make-VirtualCursor-standard-layout-type.patch
chromium-glibc-2.33.patch
- wayland-egl.patch
- use-oauth2-client-switches-as-default.patch
- sql-make-virtualcursor-standard-layout-type.patch)
-sha256sums=('abe11d0cb1ff21278aad2eec1a1e279d59176b15331804d7df1807446786d59e'
- 'b49f989e756bdaa66785905a59779005e9f168c39a235f605bd45df301c44788'
+ unexpire-accelerated-video-decode-flag.patch
+ use-oauth2-client-switches-as-default.patch)
+sha256sums=('45d5a43ef798d20313c78fa8a075be0c22055e39c8481eb53eabda81df901b31'
'86859c11cfc8ba106a3826479c0bc759324a62150b271dd35d1a0f96e890f52f'
- '3eb9580ea35a96789e02815270498226fa33726f4210a5ee36f3868af2ffae1f'
- '5e22afcb91b5402bc09e80630c5323d61013c3fccb0bbd9b23d1e79a400b00d0'
- 'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb'
+ '171525009003a9ed1182cfcb6f407d7169d9a731a474304e263029376719f55a'
+ '3cfe46e181cb9d337c454b5b5adbf5297052f29cd617cdee4380eeb1943825d8'
+ '59a59a60a08b335fe8647fdf0f9d2288d236ebf2cc9626396d0c4d032fd2b25d'
+ '50133dd196d288ad538bb536aa51dccd6cb4aacfd9a60160f77e8fb16034b460'
+ 'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
'2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b'
- '34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574'
- 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
- '23d6b14530acb66762c5d8b895c100203a824549e0d9aa815958dfd2513e6a7a')
+ '82a85105fc33b92a84dabb7ed6725ccbb56f1075c11f9f3f43bb8ff724f88847'
+ 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711')
+source=("${source[@]}"
+ $_pkgname-$_uc_ver.tar.gz::https://github.com/$_uc_usr/ungoogled-chromium/archive/$_uc_ver.tar.gz
+ chromium-drirc-disable-10bpc-color-configs.conf
+ wayland-egl.patch)
+sha256sums=("${sha256sums[@]}"
+ 'f93021dab9fd8496beb57a3defc90233258e7128c3141a1a9d9a0c45f29967e1'
+ 'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb'
+ '34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
@@ -98,18 +106,23 @@ prepare() {
# runtime -- this allows signing into Chromium without baked-in values
patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
+ # https://crbug.com/1207478
+ patch -Np0 -i ../unexpire-accelerated-video-decode-flag.patch
+
# https://crbug.com/1164975
patch -Np1 -i ../chromium-glibc-2.33.patch
+ # Upstream fixes
+ patch -Np1 -i ../fix-crash-in-ThemeService.patch
+ patch -Np1 -i ../unbundle-use-char16_t-as-UCHAR_TYPE.patch
+
# Revert addition of [[clang::nomerge]] attribute; not supported by clang 11
- patch -Rp1 -d base <../add-clang-nomerge-attribute-to-CheckError.patch
+ patch -Rp1 -i ../add-clang-nomerge-attribute-to-CheckError.patch
- # gcc1 patch
- patch -Np1 -i ../sql-make-virtualcursor-standard-layout-type.patch
+ # https://chromium-review.googlesource.com/c/chromium/src/+/2862724
+ patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch
# Fixes for building with libstdc++ instead of libc++
- patch -Np1 -i ../patches/chromium-90-quantization_utils-include.patch
- patch -Np1 -i ../patches/chromium-90-TokenizedOutput-include.patch
patch -Np1 -i ../patches/chromium-90-ruy-include.patch
# Wayland/EGL regression (crbug #1071528 #1071550)
@@ -129,8 +142,10 @@ prepare() {
# Force script incompatible with Python 3 to use /usr/bin/python2
sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
+ # Link to system tools required by the build
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+ ln -s /usr/bin/java third_party/jdk/current/bin/
# Remove bundled libraries for which we will use the system copies; this
# *should* do what the remove_bundled_libraries.py script does, with the
@@ -154,11 +169,6 @@ build() {
cd "$srcdir/chromium-$_pkgver"
- if check_buildoption ccache y; then
- # Avoid falling back to preprocessor mode when sources contain time macros
- export CCACHE_SLOPPINESS=time_macros
- fi
-
export CC=clang
export CXX=clang++
export AR=ar
@@ -168,7 +178,7 @@ build() {
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
'host_toolchain="//build/toolchain/linux/unbundle:default"'
'is_official_build=true' # implies is_cfi=true on x86_64
- 'chrome_pgo_phase=0' # unsupported instrumentation profile format version
+ 'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile
'ffmpeg_branding="Chrome"'
'proprietary_codecs=true'
'rtc_use_pipewire=true'
diff --git a/add-clang-nomerge-attribute-to-CheckError.patch b/add-clang-nomerge-attribute-to-CheckError.patch
index 5dc0834..4154df6 100644
--- a/add-clang-nomerge-attribute-to-CheckError.patch
+++ b/add-clang-nomerge-attribute-to-CheckError.patch
@@ -1,4 +1,4 @@
-From 209bf5cdfc095516ba9e391dd52ce16a74114ae6 Mon Sep 17 00:00:00 2001
+From 9909f146b28d56c9c0411329a056ed959b33f76a Mon Sep 17 00:00:00 2001
From: Zequan Wu <zequanwu@google.com>
Date: Wed, 10 Feb 2021 03:26:00 +0000
Subject: [PATCH] Reland "Add [[clang::nomerge]] attribute to ~CheckError()."
@@ -25,16 +25,14 @@ Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Zequan Wu <zequanwu@google.com>
Cr-Commit-Position: refs/heads/master@{#852453}
-GitOrigin-RevId: 9909f146b28d56c9c0411329a056ed959b33f76a
---
- check.h | 2 +-
- compiler_specific.h | 7 +++++++
- 2 files changed, 8 insertions(+), 1 deletion(-)
+ base/check.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/check.h b/check.h
-index c94ab68db..17048e455 100644
---- a/check.h
-+++ b/check.h
+diff --git a/base/check.h b/base/check.h
+index c94ab68db90..17048e45539 100644
+--- a/base/check.h
++++ b/base/check.h
@@ -85,7 +85,7 @@ class BASE_EXPORT CheckError {
// Stream for adding optional details to the error message.
std::ostream& stream();
@@ -44,19 +42,3 @@ index c94ab68db..17048e455 100644
CheckError(const CheckError& other) = delete;
CheckError& operator=(const CheckError& other) = delete;
-diff --git a/compiler_specific.h b/compiler_specific.h
-index fa961b0ce..14a5d6870 100644
---- a/compiler_specific.h
-+++ b/compiler_specific.h
-@@ -332,4 +332,11 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
-
- #endif // defined(__clang_analyzer__)
-
-+// Use nomerge attribute to disable optimization of merging multiple same calls.
-+#if defined(__clang__) && __has_attribute(nomerge) && !defined(OS_CHROMEOS)
-+#define NOMERGE [[clang::nomerge]]
-+#else
-+#define NOMERGE
-+#endif
-+
- #endif // BASE_COMPILER_SPECIFIC_H_
diff --git a/fix-crash-in-ThemeService.patch b/fix-crash-in-ThemeService.patch
new file mode 100644
index 0000000..b9fd1f7
--- /dev/null
+++ b/fix-crash-in-ThemeService.patch
@@ -0,0 +1,45 @@
+From c2d0133f47afb59b4ce64e42215d1d053f15250a Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Tue, 13 Apr 2021 23:21:42 +0000
+Subject: [PATCH] fix crash in ThemeService
+
+ThemeSyncableService and ThemeService are owned by each other. On
+destruction of ThemeService, ThemeSyncableService gets destructed as
+well, but calls RemoveObserver of partly destructed ThemeService object.
+To avoid already destructed |observers_| list, move it before
+|theme_syncable_service_| definition.
+
+Bug: 1190561
+Change-Id: I4dc2c990d589071d97b7fa737afef54463c84751
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821311
+Commit-Queue: Peter Kasting <pkasting@chromium.org>
+Reviewed-by: Peter Kasting <pkasting@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#872164}
+---
+ chrome/browser/themes/theme_service.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
+index 592d40ae9de0f..337dfac9a040f 100644
+--- a/chrome/browser/themes/theme_service.h
++++ b/chrome/browser/themes/theme_service.h
+@@ -299,6 +299,10 @@ class ThemeService : public KeyedService,
+ // The number of infobars currently displayed.
+ int number_of_reinstallers_ = 0;
+
++ // Declared before |theme_syncable_service_|, because ThemeSyncableService
++ // removes itself from the |observers_| list on destruction.
++ base::ObserverList<ThemeServiceObserver> observers_;
++
+ std::unique_ptr<ThemeSyncableService> theme_syncable_service_;
+
+ #if BUILDFLAG(ENABLE_EXTENSIONS)
+@@ -320,8 +324,6 @@ class ThemeService : public KeyedService,
+ ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver>
+ native_theme_observer_{this};
+
+- base::ObserverList<ThemeServiceObserver> observers_;
+-
+ base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this};
+
+ DISALLOW_COPY_AND_ASSIGN(ThemeService);
diff --git a/sql-make-virtualcursor-standard-layout-type.patch b/sql-make-VirtualCursor-standard-layout-type.patch
index a4864ba..c1c68f1 100644
--- a/sql-make-virtualcursor-standard-layout-type.patch
+++ b/sql-make-VirtualCursor-standard-layout-type.patch
@@ -1,6 +1,6 @@
From 80368f8ba7a8bab13440463a254888311efe3986 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
-Date: Tue, 04 May 2021 15:00:19 +0000
+Date: Tue, 4 May 2021 15:00:19 +0000
Subject: [PATCH] sql: make VirtualCursor standard layout type
sql::recover::VirtualCursor needs to be a standard layout type, but
@@ -12,12 +12,19 @@ raw pointers.
Bug: 1189788
Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c
---
+ sql/recover_module/btree.cc | 21 +++++++++++++++------
+ sql/recover_module/btree.h | 17 +++++++++++++----
+ sql/recover_module/cursor.cc | 24 ++++++++++++------------
+ sql/recover_module/cursor.h | 2 +-
+ sql/recover_module/pager.cc | 7 +++----
+ sql/recover_module/pager.h | 5 +++--
+ 6 files changed, 47 insertions(+), 29 deletions(-)
diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc
-index 9ecaafe..839318a 100644
+index 9ecaafe8a3..839318abf9 100644
--- a/sql/recover_module/btree.cc
+++ b/sql/recover_module/btree.cc
-@@ -135,16 +135,25 @@
+@@ -135,16 +135,25 @@ static_assert(std::is_trivially_destructible<LeafPageDecoder>::value,
"Move the destructor to the .cc file if it's non-trival");
#endif // !DCHECK_IS_ON()
@@ -50,10 +57,10 @@ index 9ecaafe..839318a 100644
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(CanAdvance());
diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h
-index d76d076..33114b0 100644
+index d76d076bf6..33114b01fa 100644
--- a/sql/recover_module/btree.h
+++ b/sql/recover_module/btree.h
-@@ -102,7 +102,7 @@
+@@ -102,7 +102,7 @@ class LeafPageDecoder {
//
// |db_reader| must have been used to read an inner page of a table B-tree.
// |db_reader| must outlive this instance.
@@ -62,7 +69,7 @@ index d76d076..33114b0 100644
~LeafPageDecoder() noexcept = default;
LeafPageDecoder(const LeafPageDecoder&) = delete;
-@@ -150,6 +150,15 @@
+@@ -150,6 +150,15 @@ class LeafPageDecoder {
// read as long as CanAdvance() returns true.
bool TryAdvance();
@@ -78,7 +85,7 @@ index d76d076..33114b0 100644
// True if the given reader may point to an inner page in a table B-tree.
//
// The last ReadPage() call on |db_reader| must have succeeded.
-@@ -163,14 +172,14 @@
+@@ -163,14 +172,14 @@ class LeafPageDecoder {
static int ComputeCellCount(DatabasePageReader* db_reader);
// The number of the B-tree page this reader is reading.
@@ -97,10 +104,10 @@ index d76d076..33114b0 100644
// The reader's cursor state.
//
diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc
-index 0029ff9..42548bc 100644
+index 0029ff9295..42548bc4b5 100644
--- a/sql/recover_module/cursor.cc
+++ b/sql/recover_module/cursor.cc
-@@ -26,7 +26,7 @@
+@@ -26,7 +26,7 @@ VirtualCursor::~VirtualCursor() {
int VirtualCursor::First() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
inner_decoders_.clear();
@@ -109,7 +116,7 @@ index 0029ff9..42548bc 100644
AppendPageDecoder(table_->root_page_id());
return Next();
-@@ -36,18 +36,18 @@
+@@ -36,18 +36,18 @@ int VirtualCursor::Next() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
record_reader_.Reset();
@@ -135,7 +142,7 @@ index 0029ff9..42548bc 100644
continue;
}
if (!record_reader_.Initialize())
-@@ -99,13 +99,13 @@
+@@ -99,13 +99,13 @@ int VirtualCursor::ReadColumn(int column_index,
int64_t VirtualCursor::RowId() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(record_reader_.IsInitialized());
@@ -152,7 +159,7 @@ index 0029ff9..42548bc 100644
<< __func__
<< " must only be called when the current path has no leaf decoder";
-@@ -113,7 +113,7 @@
+@@ -113,7 +113,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) {
return;
if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
@@ -162,10 +169,10 @@ index 0029ff9..42548bc 100644
}
diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
-index afcd690..b15c31d 100644
+index afcd6900e1..b15c31d425 100644
--- a/sql/recover_module/cursor.h
+++ b/sql/recover_module/cursor.h
-@@ -129,7 +129,7 @@
+@@ -129,7 +129,7 @@ class VirtualCursor {
std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
// Decodes the leaf page containing records.
@@ -175,10 +182,10 @@ index afcd690..b15c31d 100644
SEQUENCE_CHECKER(sequence_checker_);
};
diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc
-index 58e75de..5fe9620 100644
+index 58e75de270..5fe96204e5 100644
--- a/sql/recover_module/pager.cc
+++ b/sql/recover_module/pager.cc
-@@ -23,8 +23,7 @@
+@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits<int>::max(),
"ints are not appropriate for representing page IDs");
DatabasePageReader::DatabasePageReader(VirtualTable* table)
@@ -188,7 +195,7 @@ index 58e75de..5fe9620 100644
DCHECK(table != nullptr);
DCHECK(IsValidPageSize(table->page_size()));
}
-@@ -57,8 +56,8 @@
+@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int page_id) {
std::numeric_limits<int64_t>::max(),
"The |read_offset| computation above may overflow");
@@ -200,7 +207,7 @@ index 58e75de..5fe9620 100644
// |page_id_| needs to be set to kInvalidPageId if the read failed.
// Otherwise, future ReadPage() calls with the previous |page_id_| value
diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h
-index 0e388ddc..99314e3 100644
+index 0e388ddc3b..99314e30ff 100644
--- a/sql/recover_module/pager.h
+++ b/sql/recover_module/pager.h
@@ -5,6 +5,7 @@
@@ -211,7 +218,7 @@ index 0e388ddc..99314e3 100644
#include <cstdint>
#include <memory>
-@@ -70,7 +71,7 @@
+@@ -70,7 +71,7 @@ class DatabasePageReader {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_NE(page_id_, kInvalidPageId)
<< "Successful ReadPage() required before accessing pager state";
@@ -220,7 +227,7 @@ index 0e388ddc..99314e3 100644
}
// The number of bytes in the page read by the last ReadPage() call.
-@@ -137,7 +138,7 @@
+@@ -137,7 +138,7 @@ class DatabasePageReader {
int page_id_ = kInvalidPageId;
// Stores the bytes of the last page successfully read by ReadPage().
// The content is undefined if the last call to ReadPage() did not succeed.
diff --git a/unbundle-use-char16_t-as-UCHAR_TYPE.patch b/unbundle-use-char16_t-as-UCHAR_TYPE.patch
new file mode 100644
index 0000000..c8d961f
--- /dev/null
+++ b/unbundle-use-char16_t-as-UCHAR_TYPE.patch
@@ -0,0 +1,30 @@
+From 79819c94f27524005889def53740c97a32cd7747 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Fri, 16 Apr 2021 20:57:15 +0000
+Subject: [PATCH] [unbundle] Use char16_t as UCHAR_TYPE
+
+Overriding UCHAR_TYPE was dropped with:
+https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2732628
+
+Bug: 911896
+Change-Id: I4c1172aab445c82ba247b1162b8484ed0db9c381
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2830820
+Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
+Reviewed-by: Lei Zhang <thestig@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#873470}
+---
+ build/linux/unbundle/icu.gn | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
+index 0f52fc11e79e6..6f3f8438bd854 100644
+--- a/build/linux/unbundle/icu.gn
++++ b/build/linux/unbundle/icu.gn
+@@ -16,7 +16,6 @@ config("icu_config") {
+ defines = [
+ "USING_SYSTEM_ICU=1",
+ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
+- "UCHAR_TYPE=uint16_t",
+
+ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
+ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
diff --git a/unexpire-accelerated-video-decode-flag.patch b/unexpire-accelerated-video-decode-flag.patch
new file mode 100644
index 0000000..25823fe
--- /dev/null
+++ b/unexpire-accelerated-video-decode-flag.patch
@@ -0,0 +1,11 @@
+--- chrome/browser/flag-metadata.json.orig 2021-05-20 15:34:12.194906381 +0000
++++ chrome/browser/flag-metadata.json 2021-05-20 15:17:31.632112834 +0000
+@@ -1253,7 +1253,7 @@
+ {
+ "name": "enable-accelerated-video-decode",
+ "owners": [ "media-dev@chromium.org" ],
+- "expiry_milestone": 90
++ "expiry_milestone": 91
+ },
+ {
+ "name": "enable-accessibility-live-caption",
diff --git a/update-patches.sh b/update-patches.sh
new file mode 100755
index 0000000..910b60e
--- /dev/null
+++ b/update-patches.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+mkdir tmp
+mv wayland-egl.patch tmp
+
+rm *.patch
+git clone https://github.com/archlinux/svntogit-packages.git --branch packages/chromium --single-branch chr
+mv chr/trunk/*.patch .
+rm -rf chr
+
+mv tmp/* .
+rmdir tmp