Browse Source

Update to 94.0.4606.61

master
wchen342 1 year ago
parent
commit
45b9b963d8
Signed by: wchen342 GPG Key ID: 9C19365D69B04CEC
  1. 24
      chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
  2. 141
      chromium-90.0.4430.72-fstatfix.patch
  3. 4199
      chromium-92.0.4515.107-update-highway-0.12.2.patch
  4. 30
      chromium-93-BluetoothLowEnergyScanFilter-include.patch
  5. 30
      chromium-93-ClassProperty-include.patch
  6. 47
      chromium-93-ContextSet-permissive.patch
  7. 24
      chromium-93-DevToolsEmbedderMessageDispatcher-include.patch
  8. 49
      chromium-93-FormForest-constexpr.patch
  9. 30
      chromium-93-HashPasswordManager-include.patch
  10. 24
      chromium-93-ScopedTestDialogAutoConfirm-include.patch
  11. 117
      chromium-93-pdfium-include.patch
  12. 21
      chromium-93.0.4577.63-remoting-nodestructor-fix.patch
  13. 97
      chromium-93.0.4577.82-harfbuzz3.patch
  14. 31
      chromium-94-ConversionStorageSql-lambda.patch
  15. 24
      chromium-94-CustomSpaces-include.patch
  16. 12
      chromium-94.0.4606.54-gcc9-drop-rsp-clobber.patch
  17. 22
      chromium-94.0.4606.54-remoting-nodestructor-fix.patch
  18. 16
      chromium-94.0.4606.54-webrtc-BUILD.gn-fix-multiple-defines.patch
  19. 12
      chromium-94.0.4606.61-remoting-extra-qualification.patch
  20. 1
      clean_ffmpeg.sh
  21. 4
      sources
  22. 96
      ungoogled-chromium.spec

24
chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch

@ -1,24 +0,0 @@
diff -up chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
--- chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:16.153251961 -0400
+++ chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2019-10-23 08:58:36.896862347 -0400
@@ -1486,7 +1486,7 @@ struct kernel_stat {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),
"r"(LSS_SYSCALL_ARG(child_tidptr))
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
+ : "memory", "r8", "r10", "r11", "rcx");
}
LSS_RETURN(int, __res);
}
diff -up chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h
--- chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:59.623435488 -0400
+++ chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2019-10-23 08:59:16.113125772 -0400
@@ -1485,7 +1485,7 @@ struct kernel_stat {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),
"r"(LSS_SYSCALL_ARG(child_tidptr))
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
+ : "memory", "r8", "r10", "r11", "rcx");
}
LSS_RETURN(int, __res);
}

141
chromium-90.0.4430.72-fstatfix.patch

@ -1,141 +0,0 @@
diff -up chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
--- chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix 2021-04-16 15:35:53.869542483 -0400
+++ chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-04-16 15:38:19.754688717 -0400
@@ -269,6 +269,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
return Allow();
}
+#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 chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
--- chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix 2021-04-14 14:41:08.000000000 -0400
+++ chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-04-16 15:35:53.869542483 -0400
@@ -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 chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
--- chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix 2021-04-14 14:41:08.000000000 -0400
+++ chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-04-16 15:35:53.869542483 -0400
@@ -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 chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.cc.fstatfix chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.cc
--- chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.cc.fstatfix 2021-04-14 14:41:08.000000000 -0400
+++ chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.cc 2021-04-16 15:35:53.869542483 -0400
@@ -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 chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.h.fstatfix chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.h
--- chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.h.fstatfix 2021-04-14 14:41:08.000000000 -0400
+++ chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.h 2021-04-16 15:35:53.870542491 -0400
@@ -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_

4199
chromium-92.0.4515.107-update-highway-0.12.2.patch

File diff suppressed because it is too large

30
chromium-93-BluetoothLowEnergyScanFilter-include.patch

@ -1,30 +0,0 @@
From 2f5514051210388bfcff605570d33f08cfa7bcaa Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 21 Jul 2021 08:34:58 +0000
Subject: [PATCH] IWYU: usage of unique_ptr requires including <memory> in bluetooth low energy scan filter.
Fix build because of missing include:
../../device/bluetooth/bluetooth_low_energy_scan_filter.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
57 | static std::unique_ptr<BluetoothLowEnergyScanFilter> Create(
| ^~~~~~~~~~
Bug: 819294
Change-Id: I347953a083f1bcdf744fd86e1a73954c6f86b32e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041155
Reviewed-by: Reilly Grant <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/[email protected]{#903819}
---
diff --git a/device/bluetooth/bluetooth_low_energy_scan_filter.h b/device/bluetooth/bluetooth_low_energy_scan_filter.h
index a0436c1..7ae606c 100644
--- a/device/bluetooth/bluetooth_low_energy_scan_filter.h
+++ b/device/bluetooth/bluetooth_low_energy_scan_filter.h
@@ -7,6 +7,7 @@
#include <stddef.h>
#include <stdint.h>
+#include <memory>
#include <vector>
#include "base/time/time.h"

30
chromium-93-ClassProperty-include.patch

@ -1,30 +0,0 @@
From 8ae99ee447cf5f0160ea4ae978cdf37f5dcecd1e Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 21 Jul 2021 08:36:20 +0000
Subject: [PATCH] IWYU: missing memory include for unique_ptr usage in class_property.h
Fix GCC build breakage because of missing inclide:
./../ui/base/class_property.h:120:58: error: ‘std::unique_ptr’ has not been declared
120 | T* SetProperty(const ClassProperty<T*>* property, std::unique_ptr<T> value);
| ^~~~~~~~~~
Bug: 819294
Change-Id: I46b921876702b8d44674689bbb5acdc107db21e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041030
Reviewed-by: Peter Boström <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/[email protected]{#903820}
---
diff --git a/ui/base/class_property.h b/ui/base/class_property.h
index f7b2f55..88b4938 100644
--- a/ui/base/class_property.h
+++ b/ui/base/class_property.h
@@ -8,6 +8,7 @@
#include <stdint.h>
#include <map>
+#include <memory>
#include <set>
#include <type_traits>

47
chromium-93-ContextSet-permissive.patch

@ -1,47 +0,0 @@
From 7108f83c8ad1bad4072e4f32da3db6d59cf51400 Mon Sep 17 00:00:00 2001
From: Ivan Murashov <[email protected]>
Date: Tue, 20 Jul 2021 13:16:44 +0300
Subject: [PATCH] GCC: Remove double declaration of ContextSet
After the CL
https://chromium-review.googlesource.com/c/angle/angle/+/2965780
the build with GCC failed with error:
/third_party/angle/src/libANGLE/Display.h:325:37: error: declaration of
'typedef class std::__1::set<gl::Context*> egl::Display::ContextSet'
changes meaning of 'ContextSet' [-fpermissive]
/third_party/angle/src/libANGLE/Display.h:75:7: note: 'ContextSet'
declared here as 'using ContextSet = class std::__1::set<gl::Context*>'
To fix the error the double declaration of ContextSet is removed.
Bug: angleproject:5878, chromium:819294
Change-Id: Id9e52061af53ea18dd5d13b960daaa67a14f61ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3038804
Reviewed-by: Jamie Madill <[email protected]>
Commit-Queue: Jamie Madill <[email protected]>
---
diff --git a/third_party/angle/CONTRIBUTORS b/third_party/angle/CONTRIBUTORS
index 887ddc2..94b1b4d 100644
--- a/third_party/angle/CONTRIBUTORS
+++ b/third_party/angle/CONTRIBUTORS
@@ -154,6 +154,7 @@
LG Electronics, Inc.
Jani Hautakangas
+ Ivan Murashov
IBM Inc.
Junliang Yan
diff --git a/third_party/angle/src/libANGLE/Display.h b/third_party/angle/src/libANGLE/Display.h
index f33123b..f0c0910 100644
--- a/third_party/angle/src/libANGLE/Display.h
+++ b/third_party/angle/src/libANGLE/Display.h
@@ -322,7 +322,6 @@
ConfigSet mConfigSet;
- typedef std::set<gl::Context *> ContextSet;
ContextSet mContextSet;
typedef std::set<Image *> ImageSet;

24
chromium-93-DevToolsEmbedderMessageDispatcher-include.patch

@ -1,24 +0,0 @@
From 409859ad9ba763a4267fb3457df7cd8eb0b7387b Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Sun, 25 Jul 2021 19:43:45 +0000
Subject: [PATCH] IWYU: add vector for std::vector
---
chrome/browser/devtools/devtools_embedder_message_dispatcher.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
index 12f8500..4007112 100644
--- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
+++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
@@ -8,6 +8,7 @@
#include <map>
#include <memory>
#include <string>
+#include <vector>
#include "base/callback.h"
#include "ui/gfx/geometry/insets.h"
--
2.31.1

49
chromium-93-FormForest-constexpr.patch

@ -1,49 +0,0 @@
From 802150d7be94e5317b257df545d55ce5b007ae65 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Tue, 20 Jul 2021 18:50:11 +0000
Subject: [PATCH] libstdc++: do not use unique_ptr bool() operator in a constexpr in form_forest.h
Fix build breakage in GCC, because of calling non constexpr functions from a
constexpr function. In this case, libstdc++ unique_ptr bool() operator is not
constexpr, so it cannot be used inside CompareByFrameToken.
An example of build breakage caused by this:
../../components/autofill/content/browser/form_forest.h:157:21: error: call to non-‘constexpr’ function ‘std::unique_ptr<_Tp, _Dp>::operator bool() const [with _Tp = autofill::internal::FormForest::FrameData; _Dp = std::default_delete<autofill::internal::FormForest::FrameData>]’
157 | return f && g ? f->frame_token < g->frame_token : f.get() < g.get();
| ^
Bug: 957519
Change-Id: I3c49559084fe58886a03520729873b7c4ac89bbf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041050
Commit-Queue: Dominic Battré <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Cr-Commit-Position: refs/heads/[email protected]{#903595}
---
diff --git a/components/autofill/content/browser/form_forest.h b/components/autofill/content/browser/form_forest.h
index c89a8eb..f414ab8 100644
--- a/components/autofill/content/browser/form_forest.h
+++ b/components/autofill/content/browser/form_forest.h
@@ -152,16 +152,16 @@
// used by FrameData sets.
struct CompareByFrameToken {
using is_transparent = void;
- constexpr bool operator()(const std::unique_ptr<FrameData>& f,
- const std::unique_ptr<FrameData>& g) const {
+ bool operator()(const std::unique_ptr<FrameData>& f,
+ const std::unique_ptr<FrameData>& g) const {
return f && g ? f->frame_token < g->frame_token : f.get() < g.get();
}
- constexpr bool operator()(const std::unique_ptr<FrameData>& f,
- const LocalFrameToken& g) const {
+ bool operator()(const std::unique_ptr<FrameData>& f,
+ const LocalFrameToken& g) const {
return f ? f->frame_token < g : true;
}
- constexpr bool operator()(const LocalFrameToken& f,
- const std::unique_ptr<FrameData>& g) const {
+ bool operator()(const LocalFrameToken& f,
+ const std::unique_ptr<FrameData>& g) const {
return g ? f < g->frame_token : false;
}
};

30
chromium-93-HashPasswordManager-include.patch

@ -1,30 +0,0 @@
From 17d0e3dfcd0690df0e7b212fedcb95402f16935d Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Fri, 23 Jul 2021 10:17:49 +0000
Subject: [PATCH] IWYU: missing include for using std::vector in hash password manager.
Fix build breakage:
../../components/password_manager/core/browser/hash_password_manager.h:44:8: error: ‘vector’ in namespace ‘std’ does not name a template type
44 | std::vector<PasswordHashData> RetrieveAllPasswordHashes();
| ^~~~~~
Bug: 819294
Change-Id: I8c8a4ec3972eedb87a312c5ec56adf4a21b1b2a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041046
Commit-Queue: Vasilii Sukhanov <[email protected]>
Reviewed-by: Vasilii Sukhanov <[email protected]>
Cr-Commit-Position: refs/heads/[email protected]{#904696}
---
diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h
index c762c5a..85e656ed 100644
--- a/components/password_manager/core/browser/hash_password_manager.h
+++ b/components/password_manager/core/browser/hash_password_manager.h
@@ -6,6 +6,7 @@
#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_
#include <string>
+#include <vector>
#include "base/callback.h"
#include "base/callback_list.h"

24
chromium-93-ScopedTestDialogAutoConfirm-include.patch

@ -1,24 +0,0 @@
From 92fc089d50fc81b9903cd0573c95749e41081474 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Sun, 25 Jul 2021 21:38:26 +0000
Subject: [PATCH] IWYU: add cstring for std::strcpy
---
extensions/browser/extension_dialog_auto_confirm.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc
index adb4ac3..be8b161 100644
--- a/extensions/browser/extension_dialog_auto_confirm.cc
+++ b/extensions/browser/extension_dialog_auto_confirm.cc
@@ -4,6 +4,7 @@
#include "extensions/browser/extension_dialog_auto_confirm.h"
+#include <cstring>
#include <utility>
#include "base/check.h"
--
2.31.1

117
chromium-93-pdfium-include.patch

@ -1,117 +0,0 @@
From 7a6289c5ace52cf88f0e19caa5f78b7c15d0e7a6 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <[email protected]>
Date: Wed, 21 Jul 2021 17:42:30 +0000
Subject: [PATCH] fxcodec, fxge: fix missing includes with libstdc++
These missing includes break the build with gcc/libstdc++, they were not
a problem in practice with clang/libc++.
Change-Id: I40013f97ba7ab06f32aa59f87b04aec06a19478c
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83210
Commit-Queue: Lei Zhang <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
---
diff --git a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
index cea0679..036f250 100644
--- a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
+++ b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
@@ -7,6 +7,7 @@
#include "core/fxcodec/jpeg/jpegmodule.h"
#include <setjmp.h>
+#include <string.h>
#include <memory>
#include <utility>
diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
index c66985a..9c1122b 100644
--- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
+++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
@@ -6,6 +6,8 @@
#include "core/fxcodec/jpx/cjpx_decoder.h"
+#include <string.h>
+
#include <algorithm>
#include <limits>
#include <utility>
diff --git a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
index 5369d52..d198852 100644
--- a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
+++ b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
@@ -6,6 +6,8 @@
#include "core/fxge/cfx_cliprgn.h"
+#include <string.h>
+
#include <utility>
#include "core/fxge/dib/cfx_dibitmap.h"
diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
index 6f9b420..0f1ffae 100644
--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
+++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
@@ -6,6 +6,8 @@
#include "core/fxge/dib/cfx_bitmapcomposer.h"
+#include <string.h>
+
#include "core/fxge/cfx_cliprgn.h"
#include "core/fxge/dib/cfx_dibitmap.h"
diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
index f57c00e..45a0a18 100644
--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
+++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
@@ -6,6 +6,8 @@
#include "core/fxge/dib/cfx_bitmapstorer.h"
+#include <string.h>
+
#include <utility>
#include "core/fxge/dib/cfx_dibitmap.h"
diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
index 4ec0ddb..a1de2fb 100644
--- a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
+++ b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
@@ -6,6 +6,8 @@
#include "core/fxge/dib/cfx_dibbase.h"
+#include <string.h>
+
#include <algorithm>
#include <memory>
#include <utility>
diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
index d7ccf6c..94e8acc 100644
--- a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
+++ b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
@@ -6,6 +6,8 @@
#include "core/fxge/dib/cfx_dibitmap.h"
+#include <string.h>
+
#include <limits>
#include <memory>
#include <utility>
diff --git a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
index e8362d7..c04c6dc 100644
--- a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
+++ b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
@@ -6,6 +6,8 @@
#include "core/fxge/dib/cfx_scanlinecompositor.h"
+#include <string.h>
+
#include <algorithm>
#include "core/fxge/dib/fx_dib.h"

21
chromium-93.0.4577.63-remoting-nodestructor-fix.patch

@ -1,21 +0,0 @@
diff -up chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc
--- chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix 2021-09-03 17:30:44.162605313 +0000
+++ chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc 2021-09-03 17:31:01.017986003 +0000
@@ -56,7 +56,7 @@ void ShowMessageDialog(const std::string
}
bool IsBrowserValid(const std::string& browser) {
- static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers(
+ static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers{
{
// This is the chromoting forwarder itself.
"crd-url-forwarder.desktop",
@@ -64,7 +64,7 @@ bool IsBrowserValid(const std::string& b
// XFCE's forwarder. May potentially launch the chromoting forwarder
// recursively.
"xfce4-web-browser.desktop",
- });
+ }};
if (browser.empty()) {
return false;
}

97
chromium-93.0.4577.82-harfbuzz3.patch

@ -1,97 +0,0 @@
diff -up chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc.hbfix chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc
--- chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc.hbfix 2021-09-20 11:37:58.633517817 -0400
+++ chromium-93.0.4577.82/components/paint_preview/common/subset_font.cc 2021-09-20 11:40:12.111235467 -0400
@@ -72,9 +72,11 @@ sk_sp<SkData> SubsetFont(SkTypeface* typ
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()));
+ if (!subset_face)
+ return nullptr;
HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get()));
if (!subset_blob)
return nullptr;
diff -up chromium-93.0.4577.82/third_party/skia/gn/skia.gni.hbfix chromium-93.0.4577.82/third_party/skia/gn/skia.gni
--- chromium-93.0.4577.82/third_party/skia/gn/skia.gni.hbfix 2021-09-20 11:41:20.078600944 -0400
+++ chromium-93.0.4577.82/third_party/skia/gn/skia.gni 2021-09-20 11:42:29.851976086 -0400
@@ -33,8 +33,6 @@ declare_args() {
skia_include_multiframe_procs = false
skia_lex = false
skia_libgifcodec_path = "third_party/externals/libgifcodec"
- skia_pdf_subset_harfbuzz =
- false # TODO: set skia_pdf_subset_harfbuzz to skia_use_harfbuzz.
skia_qt_path = getenv("QT_PATH")
skia_skqp_global_error_tolerance = 0
skia_tools_require_resources = false
@@ -99,6 +97,10 @@ declare_args() {
}
declare_args() {
+ skia_pdf_subset_harfbuzz = skia_use_harfbuzz
+}
+
+declare_args() {
skia_compile_sksl_tests = skia_compile_processors
skia_enable_fontmgr_android = skia_use_expat && skia_use_freetype
skia_enable_fontmgr_custom_directory = skia_use_freetype && !is_fuchsia
diff -up chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp.hbfix chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
--- chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp.hbfix 2021-09-20 13:34:57.861369449 -0400
+++ chromium-93.0.4577.82/third_party/skia/src/pdf/SkPDFSubsetFont.cpp 2021-09-20 13:38:28.063504311 -0400
@@ -49,6 +49,37 @@ static sk_sp<SkData> to_data(HBBlob blob
blob.release());
}
+template<typename...> using void_t = void;
+template<typename T, typename = void>
+struct SkPDFHarfBuzzSubset {
+ // This is the HarfBuzz 3.0 interface.
+ // hb_subset_flags_t does not exist in 2.0. It isn't dependent on T, so inline the value of
+ // HB_SUBSET_FLAGS_RETAIN_GIDS until 2.0 is no longer supported.
+ static HBFace Make(T input, hb_face_t* face) {
+ // 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_flags(input, 2/*HB_SUBSET_FLAGS_RETAIN_GIDS*/);
+ return HBFace(hb_subset_or_fail(face, input));
+ }
+};
+template<typename T>
+struct SkPDFHarfBuzzSubset<T, void_t<
+ decltype(hb_subset_input_set_retain_gids(std::declval<T>(), std::declval<bool>())),
+ decltype(hb_subset_input_set_drop_hints(std::declval<T>(), std::declval<bool>())),
+ decltype(hb_subset(std::declval<hb_face_t*>(), std::declval<T>()))
+ >>
+{
+ // This is the HarfBuzz 2.0 (non-public) interface, used if it exists.
+ // This code should be removed as soon as all users are migrated to the newer API.
+ static HBFace Make(T input, hb_face_t* face) {
+ hb_subset_input_set_retain_gids(input, 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, false);
+ return HBFace(hb_subset(face, input));
+ }
+};
+
static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData,
const SkPDFGlyphUse& glyphUsage,
int ttcIndex) {
@@ -71,11 +102,10 @@ static sk_sp<SkData> subset_harfbuzz(sk_
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()));
+ HBFace subset = SkPDFHarfBuzzSubset<hb_subset_input_t*>::Make(input.get(), face.get());
+ if (!subset) {
+ return nullptr;
+ }
HBBlob result(hb_face_reference_blob(subset.get()));
return to_data(std::move(result));
}

31
chromium-94-ConversionStorageSql-lambda.patch

@ -0,0 +1,31 @@
From 45bea088d3771c7ff9f77173e451422452c031b3 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Mon, 02 Aug 2021 16:57:05 +0000
Subject: [PATCH] GCC: drop WARN_USED_RESULT in lambda in ConversionStorageSql
GCC 9.3 only allows GNU attributes between [] and () in lambda
expressions. See https://gcc.gnu.org/PR90333 for details. However,
clang only allows attributes after () only. Seems not strictly
necessary to enforce the attribute here.
Bug: 819294
Change-Id: I342deb25239837dea0f6f5e7709b1467789e342b
---
diff --git a/content/browser/conversions/conversion_storage_sql.cc b/content/browser/conversions/conversion_storage_sql.cc
index 84bc897..b6fc4e9 100644
--- a/content/browser/conversions/conversion_storage_sql.cc
+++ b/content/browser/conversions/conversion_storage_sql.cc
@@ -688,9 +688,11 @@
bool ConversionStorageSql::DeleteExpiredImpressions() {
const int kMaxDeletesPerBatch = 100;
+ // GCC accepts attribute between [] and () only
+ // clang accepts attribute after () only
auto delete_impressions_from_paged_select =
[this](sql::Statement& statement)
- VALID_CONTEXT_REQUIRED(sequence_checker_) WARN_UNUSED_RESULT -> bool {
+ VALID_CONTEXT_REQUIRED(sequence_checker_) -> bool {
while (true) {
std::vector<int64_t> impression_ids;
while (statement.Step()) {

24
chromium-94-CustomSpaces-include.patch

@ -0,0 +1,24 @@
From 4eeacdaa57b29a079fe09315eb22557c06aa522e Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Fri, 13 Aug 2021 12:57:42 +0000
Subject: [PATCH] IWYU: add memory for std::unique_ptr in blink::CustomSpaces
---
.../blink/renderer/platform/heap/v8_wrapper/custom_spaces.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h b/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h
index df0465a..640cb33 100644
--- a/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h
+++ b/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h
@@ -5,6 +5,7 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_V8_WRAPPER_CUSTOM_SPACES_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_V8_WRAPPER_CUSTOM_SPACES_H_
+#include <memory>
#include <vector>
#include "third_party/blink/renderer/platform/platform_export.h"
--
2.31.1

12
chromium-94.0.4606.54-gcc9-drop-rsp-clobber.patch

@ -0,0 +1,12 @@
diff -up chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h
--- chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2021-09-20 15:13:05.000000000 -0400
+++ chromium-94.0.4606.54/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2021-09-23 12:41:53.540357702 -0400
@@ -1485,7 +1485,7 @@ struct kernel_stat {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),
"r"(LSS_SYSCALL_ARG(child_tidptr))
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
+ : "memory", "r8", "r10", "r11", "rcx");
}
LSS_RETURN(int, __res);
}

22
chromium-94.0.4606.54-remoting-nodestructor-fix.patch

@ -0,0 +1,22 @@
diff -up chromium-94.0.4606.54/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix chromium-94.0.4606.54/remoting/host/remote_open_url_client.cc
diff -up chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc.remoting-nodestructor-fix chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc
--- chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc.remoting-nodestructor-fix 2021-09-24 11:02:02.662082902 -0400
+++ chromium-94.0.4606.54/remoting/host/remote_open_url_client_delegate_linux.cc 2021-09-24 11:06:05.207472179 -0400
@@ -47,7 +47,7 @@ void ShowMessageDialog(const std::string
}
bool IsBrowserValid(const std::string& browser) {
- static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers(
+ static const base::NoDestructor<base::flat_set<std::string>> invalid_browsers{
{
// This is the chromoting forwarder itself.
"crd-url-forwarder.desktop",
@@ -55,7 +55,7 @@ bool IsBrowserValid(const std::string& b
// XFCE's forwarder. May potentially launch the chromoting forwarder
// recursively.
"xfce4-web-browser.desktop",
- });
+ }};
if (browser.empty()) {
return false;
}

16
chromium-94.0.4606.54-webrtc-BUILD.gn-fix-multiple-defines.patch

@ -0,0 +1,16 @@
diff -up chromium-94.0.4606.54/third_party/webrtc/BUILD.gn.fix-multiple-define chromium-94.0.4606.54/third_party/webrtc/BUILD.gn
--- chromium-94.0.4606.54/third_party/webrtc/BUILD.gn.fix-multiple-define 2021-09-24 13:22:48.067565858 -0400
+++ chromium-94.0.4606.54/third_party/webrtc/BUILD.gn 2021-09-24 13:23:10.163664830 -0400
@@ -119,10 +119,10 @@ config("common_inherited_config") {
ldflags = []
if (rtc_enable_symbol_export || is_component_build) {
- defines = [ "WEBRTC_ENABLE_SYMBOL_EXPORT" ]
+ defines += [ "WEBRTC_ENABLE_SYMBOL_EXPORT" ]
}
if (rtc_enable_objc_symbol_export) {
- defines = [ "WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT" ]
+ defines += [ "WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT" ]
}
if (build_with_mozilla) {

12
chromium-94.0.4606.61-remoting-extra-qualification.patch

@ -0,0 +1,12 @@
diff -up chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h.extra-qualification chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h
--- chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h.extra-qualification 2021-09-25 01:48:28.812426004 +0000
+++ chromium-94.0.4606.61/remoting/host/mojom/remoting_mojom_traits.h 2021-09-25 01:48:59.072267580 +0000
@@ -17,7 +17,7 @@
namespace mojo {
template <>
-class mojo::StructTraits<remoting::mojom::ClipboardEventDataView,
+class StructTraits<remoting::mojom::ClipboardEventDataView,
::remoting::protocol::ClipboardEvent> {
public:
static const std::string& mime_type(

1
clean_ffmpeg.sh

@ -79,6 +79,7 @@ header_files=" libavcodec/x86/inline_asm.h \
libavcodec/codec_par.h \
libavcodec/dct.h \
libavcodec/dct32.h \
libavcodec/defs.h \
libavcodec/error_resilience.h \
libavcodec/fdctdsp.h \
libavcodec/fft.h \

4
sources

@ -20,5 +20,5 @@ SHA256 (NotoSansTibetan-Regular.ttf) = 5a45f430812ef981952553ef6dd6fa04c7849e978
SHA256 (node-v12.22.6-linux-x64.tar.xz) = 80fc80cdb3d829ea4d752c2e52067a426f6c4fd629ecca5a858d268af8d5ec7e
SHA256 (node-v12.22.6-linux-arm64.tar.xz) = 39b1ee686c78315c04593d2e216595d052ae3378d9e50a0a72d8f2dc95e69e58
SHA256 (xcb-proto-1.14.tar.xz) = 186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605
SHA256 (chromium-93.0.4577.82.tar.xz) = 5d66214858fcba11a8f733d7a6fab61ed10e13e7df4ed37e63b66a0370fb2853
SHA256 (ungoogled-chromium-93.0.4577.82-1.tar.gz) = ac6ff40201f389ca43a07563f7fefc2b33f956f7867d7fa8ff65312019496640
SHA256 (chromium-94.0.4606.61.tar.xz) = 6446db535c02c461c7e5c8d294a0300db03abba791f97f0c70bc52255aedb9bf
SHA256 (ungoogled-chromium-94.0.4606.61-1.tar.gz) = 1931ff2120f2615d05597dc9f2429f3a185dd499964b3ca83e7012f629426646

96
ungoogled-chromium.spec

@ -145,25 +145,23 @@ BuildRequires: libicu-devel >= 5.4
%global bundlelibdrm 1
%global bundlefontconfig 1
%else
# As of Chromium 94, it uses functions in harfbuzz 2.9.0+, which is only found in F36+.
%if 0%{?fedora} >= 36
%global bundleharfbuzz 0
%else
%global bundleharfbuzz 1
%endif
%global bundleopus 1
%global bundlelibusbx 0
%global bundlelibwebp 0
%global bundlelibpng 0
%global bundlelibjpeg 0
%global bundlefreetype 0
# Needs FT_ClipBox which was implemented after 2.11.0. Should be able to set this back to 0 later.
%global bundlefreetype 1
%global bundlelibdrm 0
%global bundlefontconfig 0
%endif
# Needs at least harfbuzz 2.4.0 now.
# 2019-09-13
%if 0%{?fedora} < 31
%global bundleharfbuzz 1
%else
%global bundleharfbuzz 0
%endif
### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
### Note: These are for Fedora use ONLY.
### For your own distribution, please get your own set of keys.
@ -175,18 +173,18 @@ BuildRequires: libicu-devel >= 5.4
#Build with debugging symbols
%global debug_pkg 0
%global majorversion 93
%global majorversion 94
%global revision 1
# Depot tools revision
%global depot_tools_revision a806594b95a39141fdbf1f359087a44ffb2deaaf
%global depot_tools_revision 699d70d878603ebb3861c8f4487c4b05f5d81643
%if %{freeworld}
Name: ungoogled-chromium%{nsuffix}
%else
Name: ungoogled-chromium
%endif
Version: %{majorversion}.0.4577.82
Version: %{majorversion}.0.4606.61
Release: 1%{?dist}.%{revision}
%if %{?freeworld}
# chromium-freeworld
@ -216,7 +214,7 @@ Patch7: chromium-71.0.3578.98-widevine-r3.patch
# Disable fontconfig cache magic that breaks remoting
Patch8: chromium-91.0.4472.77-disable-fontconfig-cache-magic.patch
# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
Patch9: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
Patch9: chromium-94.0.4606.54-gcc9-drop-rsp-clobber.patch
# Try to load widevine from other places
Patch10: chromium-92.0.4515.107-widevine-other-locations.patch
# Tell bootstrap.py to always use the version of Python we specify
@ -243,9 +241,6 @@ Patch57: chromium-93.0.4577.63-missing-cstring.patch
Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-91-libyuv-aarch64.patch
Patch60: chromium-91-libyuv-aarch64.patch
# Update third_party/highway to 0.12.2
# this is needed for sane arm/aarch64
Patch61: chromium-92.0.4515.107-update-highway-0.12.2.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-90-ruy-include.patch
Patch62: chromium-90-ruy-include.patch
# Extra CXXFLAGS for aarch64
@ -262,9 +257,6 @@ Patch66: chromium-84.0.4147.125-remoting-cstring.patch
Patch67: chromium-84.0.4147.125-i686-fix_textrels.patch
# Work around binutils bug in aarch64 (F33+)
Patch68: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch
# Fix sandbox code to properly handle the new way that glibc handles fstat in Fedora 34+
# Thanks to Kevin Kofler for the fix.
Patch75: chromium-90.0.4430.72-fstatfix.patch
# Rawhide (f35) glibc defines SIGSTKSZ as a long instead of a constant
Patch76: chromium-92.0.4515.107-rawhide-gcc-std-max-fix.patch
# Do not download proprietary widevine module in the background (thanks Debian)
@ -272,27 +264,16 @@ Patch79: chromium-93.0.4577.63-widevine-no-download.patch
# Fix crashes with components/cast_*
# Thanks to Gentoo
Patch80: chromium-92.0.4515.107-EnumTable-crash.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-BluetoothLowEnergyScanFilter-include.patch
Patch81: chromium-93-BluetoothLowEnergyScanFilter-include.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-ClassProperty-include.patch
Patch82: chromium-93-ClassProperty-include.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-94-ConversionStorageSql-lambda.patch
Patch81: chromium-94-ConversionStorageSql-lambda.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-94-CustomSpaces-include.patch
Patch82: chromium-94-CustomSpaces-include.patch
# Fixes for python3
Patch83: chromium-92.0.4515.107-py3-fixes.patch
# Clean up clang-format for python3
# thanks to Jon Nettleton
Patch86: chromium-93.0.4577.63-clang-format.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-ContextSet-permissive.patch
Patch87: chromium-93-ContextSet-permissive.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-DevToolsEmbedderMessageDispatcher-include.patch
Patch88: chromium-93-DevToolsEmbedderMessageDispatcher-include.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-FormForest-constexpr.patch
Patch89: chromium-93-FormForest-constexpr.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-HashPasswordManager-include.patch
Patch90: chromium-93-HashPasswordManager-include.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-pdfium-include.patch
Patch91: chromium-93-pdfium-include.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-93-ScopedTestDialogAutoConfirm-include.patch
Patch92: chromium-93-ScopedTestDialogAutoConfirm-include.patch
# In file included from ../../components/cast_channel/enum_table.cc:5:
# ../../components/cast_channel/enum_table.h:359:18: error: 'vector' in namespace 'std' does not name a template type
# 359 | const std::vector<Entry> data_;
@ -300,12 +281,13 @@ Patch92: chromium-93-ScopedTestDialogAutoConfirm-include.patch
# ../../components/cast_channel/enum_table.h:18:1: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
Patch93: chromium-93.0.4577.63-vector-fix.patch
# Fix NoDestructor issue with gcc
Patch94: chromium-93.0.4577.63-remoting-nodestructor-fix.patch
Patch94: chromium-94.0.4606.54-remoting-nodestructor-fix.patch
# include full UrlResponseHead header
Patch95: chromium-93.0.4577.63-mojo-header-fix.patch
# Fix against HarfBuzz v3
# Thanks to Jan Beich @ FreeBSD
Patch96: chromium-93.0.4577.82-harfbuzz3.patch
# Fix multiple defines issue in webrtc/BUILD.gn
Patch96: chromium-94.0.4606.54-webrtc-BUILD.gn-fix-multiple-defines.patch
# Fix extra qualification error
Patch97: chromium-94.0.4606.61-remoting-extra-qualification.patch
# Use lstdc++ on EPEL7 only
@ -395,7 +377,7 @@ Source20: https://www.x.org/releases/individual/proto/xcb-proto-1.14.tar.xz
Source22: %{name}.appdata.xml
# ungoogled-chromium source
%global ungoogled_chromium_revision 93.0.4577.82-1
%global ungoogled_chromium_revision 94.0.4606.61-1
Source300: https://github.com/Eloston/ungoogled-chromium/archive/%{ungoogled_chromium_revision}/ungoogled-chromium-%{ungoogled_chromium_revision}.tar.gz
# We can assume gcc and binutils.
@ -539,9 +521,6 @@ BuildRequires: pkgconfig(gtk+-3.0)
%else
BuildRequires: pkgconfig(gtk+-2.0)
%endif
%if 0%{?fedora}
#BuildRequires: %{chromium_pybin}
%endif
%if ! %{build_with_python3}
%if 0%{?fedora} >= 32
BuildRequires: python2.7
@ -780,7 +759,6 @@ ln -s depot_tools-%{depot_tools_revision} ../depot_tools
%patch57 -p1 -b .missing-cstring
%patch58 -p1 -b .ffmpeg-deprecations
%patch60 -p1 -b .libyuv-aarch64
%patch61 -p1 -b .update-highway-0.12.2
%patch62 -p1 -b .ruy-include
%patch63 -p1 -b .aarch64-cxxflags-addition
%patch64 -p1 -b .java-only-allowed
@ -788,28 +766,20 @@ ln -s depot_tools-%{depot_tools_revision} ../depot_tools
%patch66 -p1 -b .remoting-cstring
%patch67 -p1 -b .i686-textrels
%patch68 -p1 -b .aarch64-clearkeycdm-binutils-workaround
%patch75 -p1 -b .fstatfix
%if 0%{?fedora} >= 35
%patch76 -p1 -b .sigstkszfix
%endif
%patch79 -p1 -b .widevine-no-download
%patch80 -p1 -b .EnumTable-crash
%patch81 -p1 -b .BluetoothLowEnergyScanFilter-include
%patch82 -p1 -b .ClassProperty-include
%patch81 -p1 -b .ConversionStorageSql-lambda-include
%patch82 -p1 -b .CustomSpaces-include
%patch83 -p1 -b .py3fixes
%patch86 -p1 -b .clang-format-py3
%patch87 -p1 -b .ContextSet-permissive
%patch88 -p1 -b .DevToolsEmbedderMessageDispatcher-include
%patch89 -p1 -b .FormForest-constexpr
%patch90 -p1 -b .HashPasswordManager-include
%patch91 -p1 -b .pdfium-include
%patch92 -p1 -b .ScopedTestDialogAutoConfirm-include
%patch93 -p1 -b .vector-fix
%patch94 -p1 -b .remoting-nodestructor-fix
%patch95 -p1 -b .mojo-header-fix
%if 0%{?fedora} >= 36
%patch96 -p1 -b .hbfix
%endif
%patch96 -p1 -b .webrtc-BUILD.gn-fix-multiple-defines
%patch97 -p1 -b .remoting-extra-qualification
# EPEL specific patches
@ -939,7 +909,7 @@ UNGOOGLED_CHROMIUM_GN_DEFINES+=' is_debug=false is_official_build=false is_unsaf
UNGOOGLED_CHROMIUM_GN_DEFINES+=' system_libdir="lib64"'
%endif
UNGOOGLED_CHROMIUM_GN_DEFINES+=' google_api_key="%{api_key}" google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"'
UNGOOGLED_CHROMIUM_GN_DEFINES+=' is_clang=false use_sysroot=false fieldtrial_testing_like_official_build=true use_lld=false rtc_enable_symbol_export=true'
UNGOOGLED_CHROMIUM_GN_DEFINES+=' is_clang=false use_sysroot=false disable_fieldtrial_testing_config=true use_lld=false rtc_enable_symbol_export=true'
UNGOOGLED_CHROMIUM_GN_DEFINES+=' use_gold=false'
%if %{freeworld}
@ -1082,6 +1052,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/devtools-frontend/src/front_end/third_party/marked' \
'third_party/devtools-frontend/src/front_end/third_party/puppeteer' \
'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \
'third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n' \
'third_party/dom_distiller_js' \
'third_party/eigen3' \
'third_party/emoji-segmenter' \
@ -1399,7 +1370,11 @@ tar xf %{SOURCE20}
%endif
# export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14"
%if 0%{?rhel} == 8
export PYTHONPATH="../../third_party/protobuf/third_party/six:../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1"
%else
export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1"
%endif
echo
# Now do the full browser
@ -1457,7 +1432,7 @@ rm -rf %{buildroot}
%endif
cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
cp -a crashpad_handler %{buildroot}%{chromium_path}/crashpad_handler
cp -a chrome_crashpad_handler %{buildroot}%{chromium_path}/chrome_crashpad_handler
cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
sed -i "s|@@[email protected]@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
sed -i "s|@@[email protected]@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
@ -1548,7 +1523,7 @@ fi
%dir %{chromium_path}
%{chromium_path}/*.bin
%{chromium_path}/chrome_*.pak
%{chromium_path}/crashpad_handler
%{chromium_path}/chrome_crashpad_handler
%{chromium_path}/resources.pak
%{chromium_path}/icudtl.dat
%{chromium_path}/%{chromium_browser_channel}
@ -1640,6 +1615,9 @@ fi
%endif
%changelog
* Wed Sep 28 2021 wchen342 <[email protected]> - 94.0.4606.61-1
- update Chromium to 94.0.4606.61
* Wed Sep 22 2021 wchen342 <[email protected]> - 93.0.4577.82-1
- update Chromium to 93.0.4577.82

Loading…
Cancel
Save