Merge branch 'rawhide' into f34

epel8
Tom spot Callaway 3 years ago
commit 4ff27059d3

@ -0,0 +1,25 @@
--- a/buildtools/linux64/clang-format.orig 2021-08-23 09:18:56.269570955 +0200
+++ b/buildtools/linux64/clang-format 2021-08-23 09:17:55.531190516 +0200
@@ -10,9 +10,9 @@
args = sys.argv[1:]
inputfiles = [a for a in args if not a.startswith('-')]
-contents = ''
+contents = b''
if '-' in args or not inputfiles:
- contents = sys.stdin.read()
+ contents = sys.stdin.buffer.read()
# Tarball builds may or may not have depot_tools in $PATH. In the former case,
# running 'clang-format' will call back into this script infinitely. Strip off
@@ -34,8 +34,8 @@
stdout, stderr = proc.communicate(input=contents)
# Ignore if clang-format fails. Eg: it may be too old to support C++14.
if proc.returncode == 0:
- sys.stdout.write(stdout)
- sys.stderr.write(stderr)
+ sys.stdout.buffer.write(stdout)
+ sys.stderr.buffer.write(stderr)
sys.exit(0)
except OSError:
# Ignore if clang-format is not installed.

@ -0,0 +1,17 @@
GCC: make VRegister::from_code() constexpr on aarch64
LiftoffRegister::gp() and LiftoffRegister::fp() are constexpr.
Therefore, VRegister::from_code() needs to be constexpr as well.
diff --git a/v8/src/codegen/arm64/register-arm64.h b/v8/src/codegen/arm64/register-arm64.h
index 1150daf..21007a5 100644
--- a/v8/src/codegen/arm64/register-arm64.h
+++ b/v8/src/codegen/arm64/register-arm64.h
@@ -413,7 +413,7 @@ class VRegister : public CPURegister {
static constexpr int kMaxNumRegisters = kNumberOfVRegisters;
STATIC_ASSERT(kMaxNumRegisters == kDoubleAfterLast);
- static VRegister from_code(int code) {
+ static constexpr VRegister from_code(int code) {
// Always return a D register.
return VRegister::Create(code, kDRegSizeInBits);
}

@ -0,0 +1,70 @@
diff -up chromium-92.0.4515.107/components/cast_channel/enum_table.h.EnumTable-crash chromium-92.0.4515.107/components/cast_channel/enum_table.h
--- chromium-92.0.4515.107/components/cast_channel/enum_table.h.EnumTable-crash 2021-07-19 14:45:12.000000000 -0400
+++ chromium-92.0.4515.107/components/cast_channel/enum_table.h 2021-07-26 17:41:21.987375385 -0400
@@ -212,7 +212,7 @@ class
template <typename E>
friend class EnumTable;
- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry);
+ DISALLOW_ASSIGN(GenericEnumTableEntry);
};
// Yes, these constructors really needs to be inlined. Even though they look
@@ -250,8 +250,7 @@ class EnumTable {
// Constructor for regular entries.
constexpr Entry(E value, base::StringPiece str)
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
- DISALLOW_COPY_AND_ASSIGN(Entry);
+ DISALLOW_ASSIGN(Entry);
};
static_assert(sizeof(E) <= sizeof(int32_t),
@@ -306,15 +305,14 @@ class EnumTable {
if (is_sorted_) {
const std::size_t index = static_cast<std::size_t>(value);
if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
- const auto& entry = data_.begin()[index];
+ const auto& entry = data_[index];
if (ANALYZER_ASSUME_TRUE(entry.has_str()))
return entry.str();
}
return absl::nullopt;
}
return GenericEnumTableEntry::FindByValue(
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
- data_.size(), static_cast<int32_t>(value));
+ &data_[0], data_.size(), static_cast<int32_t>(value));
}
// This overload of GetString is designed for cases where the argument is a
@@ -342,8 +340,7 @@ class EnumTable {
// enum value directly.
absl::optional<E> GetEnum(base::StringPiece str) const {
auto* entry = GenericEnumTableEntry::FindByString(
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
- data_.size(), str);
+ &data_[0], data_.size(), str);
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
}
@@ -358,7 +355,7 @@ class EnumTable {
// Align the data on a cache line boundary.
alignas(64)
#endif
- std::initializer_list<Entry> data_;
+ const std::vector<Entry> data_;
bool is_sorted_;
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
@@ -370,8 +367,8 @@ class EnumTable {
for (std::size_t i = 0; i < data.size(); i++) {
for (std::size_t j = i + 1; j < data.size(); j++) {
- const Entry& ei = data.begin()[i];
- const Entry& ej = data.begin()[j];
+ const Entry& ei = data[i];
+ const Entry& ej = data[j];
DCHECK(ei.value != ej.value)
<< "Found duplicate enum values at indices " << i << " and " << j;
DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))

@ -0,0 +1,45 @@
diff -up chromium-92.0.4515.107/tools/gn/src/gn/err.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/err.h
--- chromium-92.0.4515.107/tools/gn/src/gn/err.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
+++ chromium-92.0.4515.107/tools/gn/src/gn/err.h 2021-07-26 17:23:54.477420431 -0400
@@ -56,7 +56,7 @@ class Err {
const std::string& help_text = std::string());
Err(const Err& other);
-
+ Err& operator=(const Err& other) = default;
~Err();
bool has_error() const { return has_error_; }
diff -up chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h
--- chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup 2021-07-26 17:23:54.478420447 -0400
+++ chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h 2021-07-26 17:26:36.904894419 -0400
@@ -33,6 +33,7 @@ class LabelPattern {
std::string_view name,
const Label& toolchain_label);
LabelPattern(const LabelPattern& other);
+ LabelPattern& operator=(const LabelPattern& other) = default;
~LabelPattern();
// Converts the given input string to a pattern. This does special stuff
diff -up chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h
--- chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
+++ chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h 2021-07-26 17:23:54.478420447 -0400
@@ -15,6 +15,7 @@ class SubstitutionList {
public:
SubstitutionList();
SubstitutionList(const SubstitutionList& other);
+ SubstitutionList& operator=(const SubstitutionList& other) = default;
~SubstitutionList();
bool Parse(const Value& value, Err* err);
diff -up chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h
--- chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
+++ chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h 2021-07-26 17:23:54.478420447 -0400
@@ -35,6 +35,7 @@ class SubstitutionPattern {
SubstitutionPattern();
SubstitutionPattern(const SubstitutionPattern& other);
+ SubstitutionPattern& operator=(const SubstitutionPattern& other) = default;
~SubstitutionPattern();
// Parses the given string and fills in the pattern. The pattern must only

@ -0,0 +1,90 @@
diff -up chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn
--- chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-07-19 14:45:10.000000000 -0400
+++ chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn 2021-07-26 16:44:53.670761825 -0400
@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) {
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
}
- source_set("rar_analyzer") {
- sources = [
- "rar_analyzer.cc",
- "rar_analyzer.h",
- ]
-
- deps = [
- ":archive_analyzer_results",
- ":download_type_util",
- "//base",
- "//base:i18n",
- "//components/safe_browsing/core:features",
- "//components/safe_browsing/core:file_type_policies",
- "//third_party/unrar:unrar",
- ]
-
- defines = [
- "_FILE_OFFSET_BITS=64",
- "LARGEFILE_SOURCE",
- "RAR_SMP",
- "SILENT",
-
- # The following is set to disable certain macro definitions in the unrar
- # source code.
- "CHROMIUM_UNRAR",
-
- # Disables exceptions in unrar, replaces them with process termination.
- "UNRAR_NO_EXCEPTIONS",
- ]
-
- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
- }
-
if (is_mac) {
source_set("disk_image_type_sniffer_mac") {
sources = [
@@ -145,7 +112,6 @@ source_set("safe_browsing") {
":archive_analyzer_results",
":binary_feature_extractor",
":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing/core:features",
]
diff -up chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS.nounrar chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS
--- chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS.nounrar 2021-07-19 14:45:10.000000000 -0400
+++ chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS 2021-07-26 16:44:53.670761825 -0400
@@ -1,6 +1,5 @@
include_rules = [
"+components/safe_browsing",
"+third_party/protobuf",
- "+third_party/unrar",
"+third_party/zlib",
]
diff -up chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn.nounrar chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn
--- chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn.nounrar 2021-07-26 16:44:53.670761825 -0400
+++ chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn 2021-07-26 16:48:21.283924750 -0400
@@ -50,7 +50,6 @@ source_set("file_util") {
deps += [
"//chrome/common/safe_browsing",
"//chrome/common/safe_browsing:archive_analyzer_results",
- "//chrome/common/safe_browsing:rar_analyzer",
]
}
diff -up chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc
--- chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-07-19 14:45:11.000000000 -0400
+++ chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc 2021-07-26 16:44:53.670761825 -0400
@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
base::File temporary_file,
AnalyzeRarFileCallback callback) {
+#if 0
DCHECK(rar_file.IsValid());
safe_browsing::ArchiveAnalyzerResults results;
safe_browsing::rar_analyzer::AnalyzeRarFile(
std::move(rar_file), std::move(temporary_file), &results);
std::move(callback).Run(results);
+#else
+ NOTREACHED();
+#endif
}

@ -0,0 +1,24 @@
diff -up chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
--- chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2021-07-19 14:47:19.000000000 -0400
+++ chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2021-07-26 17:02:23.160750472 -0400
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python2',
rjsmin_path
]
p = subprocess.Popen(args,
diff -up chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py
--- chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 2021-07-19 14:45:43.000000000 -0400
+++ chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py 2021-07-26 17:02:23.160750472 -0400
@@ -130,7 +130,7 @@ def main(argv):
if not options.debug:
gn_gen_args += ' is_debug=false'
subprocess.check_call([
- gn_path, 'gen', out_dir,
+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2',
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
])

@ -0,0 +1,24 @@
diff -up chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
--- chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2021-07-19 14:47:19.000000000 -0400
+++ chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2021-07-26 17:02:23.160750472 -0400
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python3',
rjsmin_path
]
p = subprocess.Popen(args,
diff -up chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py
--- chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 2021-07-19 14:45:43.000000000 -0400
+++ chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py 2021-07-26 17:02:23.160750472 -0400
@@ -130,7 +130,7 @@ def main(argv):
if not options.debug:
gn_gen_args += ' is_debug=false'
subprocess.check_call([
- gn_path, 'gen', out_dir,
+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python3',
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
])

@ -0,0 +1,17 @@
diff -up chromium-92.0.4515.107/third_party/jinja2/tests.py.py3 chromium-92.0.4515.107/third_party/jinja2/tests.py
--- chromium-92.0.4515.107/third_party/jinja2/tests.py.py3 2021-07-28 15:53:45.670961029 -0400
+++ chromium-92.0.4515.107/third_party/jinja2/tests.py 2021-07-28 15:55:56.637013096 -0400
@@ -10,7 +10,12 @@
"""
import operator
import re
-from collections import Mapping
+import sys
+if sys.version_info[:2] >= (3, 8): # pragma: no cover
+ from collections.abc import Mapping
+else: # pragma: no cover
+ from collections import Mapping
+
from jinja2.runtime import Undefined
from jinja2._compat import text_type, string_types, integer_types
import decimal

@ -0,0 +1,13 @@
diff -up chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
diff -up chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
--- chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix 2021-07-19 14:47:20.000000000 -0400
+++ chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-07-26 17:28:50.155924005 -0400
@@ -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(static_cast<long>(16384), SIGSTKSZ);
// Only set an alternative stack if there isn't already one, or if the current
// one is too small.

@ -0,0 +1,12 @@
diff -up chromium-92.0.4515.107/components/os_crypt/features.gni.disblegnomekeyring chromium-92.0.4515.107/components/os_crypt/features.gni
--- chromium-92.0.4515.107/components/os_crypt/features.gni.disblegnomekeyring 2021-07-26 22:31:54.887207201 -0400
+++ chromium-92.0.4515.107/components/os_crypt/features.gni 2021-07-26 22:35:00.879013268 -0400
@@ -8,7 +8,7 @@ import("//build/config/ui.gni")
declare_args() {
# Whether to use libgnome-keyring (deprecated by libsecret).
# See http://crbug.com/466975 and http://crbug.com/355223.
- use_gnome_keyring = (is_linux || is_chromeos_lacros) && use_glib
+ use_gnome_keyring = false
# Whether to make account and service names for the crypto key storage
# configurable at runtime for embedders.

@ -0,0 +1,16 @@
diff -up chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.clone3 chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
--- chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.clone3 2021-08-16 09:05:35.836277326 -0400
+++ chromium-92.0.4515.107/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-08-16 09:06:17.420502628 -0400
@@ -178,6 +178,12 @@ ResultExpr EvaluateSyscallImpl(int fs_de
return RestrictCloneToThreadsAndEPERMFork();
}
+ // clone3 takes a pointer argument which we cannot examine, so return ENOSYS
+ // to force the libc to use clone. See https://crbug.com/1213452.
+ if (sysno == __NR_clone3) {
+ return Error(ENOSYS);
+ }
+
if (sysno == __NR_fcntl)
return RestrictFcntlCommands();

File diff suppressed because it is too large Load Diff

@ -0,0 +1,20 @@
diff -up chromium-92.0.4515.107/chrome/common/chrome_paths.cc.widevine-other-locations chromium-92.0.4515.107/chrome/common/chrome_paths.cc
--- chromium-92.0.4515.107/chrome/common/chrome_paths.cc.widevine-other-locations 2021-07-26 16:50:41.815065696 -0400
+++ chromium-92.0.4515.107/chrome/common/chrome_paths.cc 2021-07-26 16:58:08.334868284 -0400
@@ -313,6 +313,16 @@ bool PathProvider(int key, base::FilePat
#if BUILDFLAG(ENABLE_WIDEVINE)
case chrome::DIR_BUNDLED_WIDEVINE_CDM:
+ base::PathService::Get(base::DIR_HOME, &cur);
+ cur = cur.Append(FILE_PATH_LITERAL(".local/lib/libwidevinecdm.so"));
+ if (base::PathExists(cur)) {
+ break;
+ }
+ // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so
+ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) {
+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"));
+ break;
+ }
if (!GetComponentDirectory(&cur))
return false;
#if !BUILDFLAG(IS_CHROMEOS_ASH)

@ -0,0 +1,50 @@
--- a/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
+++ b/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas,
canvas->drawPaint(colrPaint);
break;
}
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
+ case FT_COLR_PAINTFORMAT_TRANSFORM:
+#else
case FT_COLR_PAINTFORMAT_TRANSFORMED:
+#endif
case FT_COLR_PAINTFORMAT_TRANSLATE:
case FT_COLR_PAINTFORMAT_ROTATE:
case FT_COLR_PAINTFORMAT_SKEW:
@@ -759,10 +763,17 @@ void colrv1_transform(SkCanvas* canvas, FT_Face face, FT_COLR_Paint colrv1_paint
SkMatrix transform;
switch (colrv1_paint.format) {
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
+ case FT_COLR_PAINTFORMAT_TRANSFORM: {
+ transform = ToSkMatrix(colrv1_paint.u.transform.affine);
+ break;
+ }
+#else
case FT_COLR_PAINTFORMAT_TRANSFORMED: {
transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
break;
}
+#endif
case FT_COLR_PAINTFORMAT_TRANSLATE: {
transform = SkMatrix::Translate(
SkFixedToScalar(colrv1_paint.u.translate.dx),
@@ -880,10 +891,17 @@ bool colrv1_traverse_paint(SkCanvas* canvas,
traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID,
FT_COLOR_NO_ROOT_TRANSFORM);
break;
+#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
+ case FT_COLR_PAINTFORMAT_TRANSFORM:
+ colrv1_transform(canvas, face, paint);
+ traverse_result = colrv1_traverse_paint(canvas, palette, face,
+ paint.u.transform.paint, visited_set);
+#else
case FT_COLR_PAINTFORMAT_TRANSFORMED:
colrv1_transform(canvas, face, paint);
traverse_result = colrv1_traverse_paint(canvas, palette, face,
paint.u.transformed.paint, visited_set);
+#endif
break;
case FT_COLR_PAINTFORMAT_TRANSLATE:
colrv1_transform(canvas, face, paint);

@ -31,6 +31,16 @@
# This doesn't work and it doesn't even build as of Chromium 83
%global build_remoting 1
# This will probably be truely possible with Chromium 93
# Right now, we fake it a bit and pull in both python2 and python3 stacks. sorry.
%global build_with_python3 1
%if 0%{?build_with_python3}
%global chromium_pybin %{__python3}
%else
%global chromium_pybin %{__python2}
%endif
# We'd like to always have this on...
# ... but the libva in EL7 (and EL8) is too old.
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
@ -208,14 +218,14 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id %nil
%endif
%global majorversion 91
%global majorversion 92
%if %{freeworld}
Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
Version: %{majorversion}.0.4472.164
Version: %{majorversion}.0.4515.159
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@ -244,18 +254,22 @@ Patch4: chromium-60.0.3112.78-jpeg-nomangle.patch
# Do not mangle zlib
Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch
# Do not use unrar code, it is non-free
Patch6: chromium-89.0.4389.72-norar.patch
Patch6: chromium-92.0.4515.107-norar.patch
# Use Gentoo's Widevine hack
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch
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-78.0.3904.70-gcc9-drop-rsp-clobber.patch
# Try to load widevine from other places
Patch10: chromium-89.0.4389.72-widevine-other-locations.patch
Patch10: chromium-92.0.4515.107-widevine-other-locations.patch
# Try to fix version.py for Rawhide
Patch11: chromium-71.0.3578.98-py2-bootstrap.patch
%if 0%{?build_with_python3}
Patch11: chromium-92.0.4515.107-py3-bootstrap.patch
%else
Patch11: chromium-92.0.4515.107-py2-bootstrap.patch
%endif
# Add "Fedora" to the user agent string
Patch12: chromium-86.0.4240.75-fedora-user-agent.patch
@ -274,13 +288,11 @@ Patch57: chromium-89.0.4389.72-missing-cstring-header.patch
# prepare for using system ffmpeg (clean)
# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup
Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-91-pcscan-vector-types.patch
Patch59: chromium-91-pcscan-vector-types.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-91.0.4472.77-update-highway-0.12.2.patch
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
@ -290,7 +302,7 @@ Patch63: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch
Patch64: chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch
# Silence GCC warnings during gn compile
Patch65: chromium-84.0.4147.105-gn-gcc-cleanup.patch
Patch65: chromium-92.0.4515.107-gn-gcc-cleanup.patch
# Fix missing cstring in remoting code
Patch66: chromium-84.0.4147.125-remoting-cstring.patch
# Apply fix_textrels hack for i686 (even without lld)
@ -301,17 +313,27 @@ Patch68: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch
# 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-88.0.4324.182-rawhide-gcc-std-max-fix.patch
Patch76: chromium-92.0.4515.107-rawhide-gcc-std-max-fix.patch
# Fix symbol visibility with gcc on swiftshader's libEGL
Patch77: chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch
# Do not download proprietary widevine module in the background (thanks Debian)
Patch79: chromium-90.0.4430.72-widevine-no-download.patch
# Fix crashes with components/cast_*
# Thanks to Gentoo
Patch80: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-89-EnumTable-crash.patch
# Fix crashes with ThemeService, thanks OpenSUSE
Patch81: chromium-91-1190561-boo1186948.patch
Patch80: chromium-92.0.4515.107-EnumTable-crash.patch
# https://github.com/stha09/chromium-patches/blob/master/chromium-92-v8-constexpr.patch
Patch82: chromium-92-v8-constexpr.patch
# Fixes for python3
Patch83: chromium-92.0.4515.107-py3-fixes.patch
# Fix build with Freetype 2.11
Patch84: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-freetype-2.11.patch
# https://bugs.chromium.org/p/chromium/issues/detail?id=1213452
# https://chromium.googlesource.com/chromium/src/sandbox/+/482404adee4fc0487452c7ae5ac9c192b0f4fd30%5E%21/#F0
# Needed for F35+, but safe everywhere
Patch85: chromium-92.0.4515.107-sandbox-clone3.patch
# Clean up clang-format for python3
# thanks to Jon Nettleton
Patch86: chromium-92-clang-format.patch
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@ -339,7 +361,6 @@ Patch109: chromium-90.0.4430.93-epel7-erase-fix.patch
# AARCH64 neon symbols need to be prefixed too to prevent multiple definition issue at linktime
Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch
# VAAPI
# Upstream turned VAAPI on in Linux in 86
Patch202: chromium-89.0.4389.72-enable-hardware-accelerated-mjpeg.patch
@ -347,7 +368,7 @@ Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch
Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues
Patch300: chromium-89.0.4389.82-rhel8-force-disable-use_gnome_keyring.patch
Patch300: chromium-92.0.4515.107-rhel8-force-disable-use_gnome_keyring.patch
# And fixes for new compilers
Patch400: %{name}-gcc11.patch
@ -463,6 +484,8 @@ BuildRequires: libstdc++-devel, openssl-devel
# Fedora tries to use system libs whenever it can.
BuildRequires: bzip2-devel
BuildRequires: dbus-glib-devel
# For eu-strip
BuildRequires: elfutils
BuildRequires: elfutils-libelf-devel
BuildRequires: flac-devel
%if 0%{?bundlefreetype}
@ -529,17 +552,23 @@ BuildRequires: pkgconfig(gtk+-3.0)
%else
BuildRequires: pkgconfig(gtk+-2.0)
%endif
BuildRequires: /usr/bin/python2
BuildRequires: %{chromium_pybin}
# %%if ! %%{build_with_python3}
BuildRequires: python2-devel
# %%else
BuildRequires: python3-devel
# %%endif
# %%if 0%{?build_with_python3}
%if 0%{?bundlepylibs}
# Using bundled bits, do nothing.
%else
%if 0%{?fedora}
BuildRequires: python2-beautifulsoup4
BuildRequires: python2-beautifulsoup
BuildRequires: python2-html5lib
BuildRequires: python2-markupsafe
BuildRequires: python2-ply
BuildRequires: python3-beautifulsoup4
# BuildRequires: python2-beautifulsoup
BuildRequires: python3-html5lib
BuildRequires: python3-markupsafe
BuildRequires: python3-ply
%else
BuildRequires: python-beautifulsoup4
BuildRequires: python-BeautifulSoup
@ -547,8 +576,30 @@ BuildRequires: python-html5lib
BuildRequires: python-markupsafe
BuildRequires: python-ply
%endif
BuildRequires: python2-simplejson
BuildRequires: python3-simplejson
%endif
#%%else
%if 0%{?bundlepylibs}
# Using bundled bits, do nothing.
%else
%if 0%{?fedora}
BuildRequires: python2-beautifulsoup4
BuildRequires: python2-beautifulsoup
BuildRequires: python2-html5lib
BuildRequires: python2-markupsafe
BuildRequires: python2-ply
%else
BuildRequires: python-beautifulsoup4
BuildRequires: python-BeautifulSoup
BuildRequires: python-html5lib
BuildRequires: python-markupsafe
BuildRequires: python-ply
%endif
BuildRequires: python2-simplejson
%endif
# %%endif
%if 0%{?bundlere2}
# Using bundled bits, do nothing.
%else
@ -859,7 +910,11 @@ Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires: xorg-x11-server-Xvfb
%if 0%{?build_with_python3}
Requires: python3-psutil
%else
Requires: python2-psutil
%endif
%if 0%{?shared}
Requires: chromium-libs%{_isa} = %{version}-%{release}
%else
@ -916,7 +971,9 @@ udev.
%patch8 -p1 -b .nofontconfigcache
%patch9 -p1 -b .gcc9
%patch10 -p1 -b .widevine-other-locations
%patch11 -p1 -b .py2
%if 0%{?build_with_python3}
%patch11 -p1 -b .py3
%endif
# Short term fixes (usually gcc and backports)
%patch51 -p1 -b .gcc-remoting-constexpr
@ -928,7 +985,6 @@ udev.
%patch56 -p1 -b .missing-cstdint
%patch57 -p1 -b .missing-cstring
%patch58 -p1 -b .ffmpeg-deprecations
%patch59 -p1 -b .pcscan-vector-types
%patch60 -p1 -b .libyuv-aarch64
%patch61 -p1 -b .update-highway-0.12.2
%patch62 -p1 -b .ruy-include
@ -945,7 +1001,12 @@ udev.
%patch77 -p1 -b .gcc-swiftshader-visibility
%patch79 -p1 -b .widevine-no-download
%patch80 -p1 -b .EnumTable-crash
%patch81 -p1 -b .ThemeService-crash
%patch82 -p1 -b .v8-constexpr
%patch83 -p1 -b .py3fixes
%patch84 -p1 -b .freetype-2.11
%patch85 -p1 -b .clone3
# Still using python2 in 92.
# %%patch86 -p1 -b .clang-format-py3
# Fedora branded user agent
%if 0%{?fedora}
@ -984,7 +1045,11 @@ udev.
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
%if 0%{?build_with_python3}
find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} +
%else
find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
%endif
%if 0%{?asan}
export CC="clang"
@ -1162,6 +1227,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'base/third_party/valgrind' \
'base/third_party/xdg_mime' \
'base/third_party/xdg_user_dirs' \
'buildtools/third_party/eu-strip' \
'buildtools/third_party/libc++' \
'buildtools/third_party/libc++abi' \
'chrome/third_party/mozilla_security_manager' \
@ -1222,7 +1288,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/devtools-frontend/src/front_end/third_party/axe-core' \
'third_party/devtools-frontend/src/front_end/third_party/chromium' \
'third_party/devtools-frontend/src/front_end/third_party/codemirror' \
'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \
'third_party/devtools-frontend/src/front_end/third_party/diff' \
'third_party/devtools-frontend/src/front_end/third_party/i18n' \
'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' \
'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \
@ -1375,7 +1441,6 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/tflite/src/third_party/eigen3' \
'third_party/tflite/src/third_party/fft2d' \
'third_party/tflite-support' \
'third_party/tint' \
'third_party/ukey2' \
'third_party/usb_ids' \
'third_party/usrsctp' \
@ -1415,8 +1480,12 @@ build/linux/unbundle/remove_bundled_libraries.py \
%if ! 0%{?bundlepylibs}
# Look, I don't know. This package is spit and chewing gum. Sorry.
rm -rf third_party/markupsafe
%if 0%{?build_with_python3}
ln -s %{python3_sitearch}/markupsafe third_party/markupsafe
%else
ln -s %{python2_sitearch}/markupsafe third_party/markupsafe
# We should look on removing other python2 packages as well i.e. ply
%endif
# We should look on removing other python packages as well i.e. ply
%endif
# Fix hardcoded path in remoting code
@ -1493,6 +1562,11 @@ sed -i '/aarch64)/ a \ exec "/usr/bin/ninja-build" "$@";;\' ../depot_tool
%endif
sed -i 's|exec "${THIS_DIR}/ninja-linux${LONG_BIT}"|exec "/usr/bin/ninja-build"|g' ../depot_tools/ninja
# Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin
rm -rf buildtools/third_party/eu-strip/bin/eu-strip
# Replace it with a symlink to the Fedora copy
ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-%{dts_version}/enable
%endif
@ -1502,24 +1576,29 @@ sed -i 's|exec "${THIS_DIR}/ninja-linux${LONG_BIT}"|exec "/usr/bin/ninja-build"|
%endif
# Check that there is no system 'google' module, shadowing bundled ones:
%if 0%{?build_with_python3}
if python3 -c 'import google ; print google.__path__' 2> /dev/null ; then \
echo "Python 3 'google' module is defined, this will shadow modules of this build"; \
%else
if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \
echo "Python 2 'google' module is defined, this will shadow modules of this build"; \
%endif
exit 1 ; \
fi
tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}
%if %{freeworld}
# do not need to do headless gen
%else
%if %{build_headless}
%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
%endif
%endif
%if %{build_remoting}
%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%endif
%if %{bundlelibusbx}
@ -1555,7 +1634,8 @@ tar xf %{SOURCE20}
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14"
# export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14"
export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-1.14"
echo
# Now do the full browser
@ -2010,6 +2090,20 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%changelog
* Tue Aug 17 2021 Tom Callaway <spot@fedoraproject.org> - 92.0.4515.159-1
- update to 92.0.4515.159
* Mon Aug 16 2021 Tom Callaway <spot@fedoraproject.org> - 92.0.4515.131-1
- update to 92.0.4515.131
- apply upstream fix for clone3 crash
* Mon Jul 26 2021 Tom Callaway <spot@fedoraproject.org> - 92.0.4515.107-1
- update to 92.0.4515.107
- drop python2 deps (finally)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 91.0.4472.164-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jul 16 2021 Tom Callaway <spot@fedoraproject.org> - 91.0.4472.164-1
- update to 91.0.4472.164

@ -20,4 +20,4 @@ SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a7813786
SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708
SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad
SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a
SHA512 (chromium-91.0.4472.164-clean.tar.xz) = 71e3449e2042d83df50a7ea753e5b09bfc331640665f0d9b8d99a424b32a316a92c7bb2726ce51c5418936f423f2f7167fcfc57d51ca658e7e32347e8452efbc
SHA512 (chromium-92.0.4515.159-clean.tar.xz) = e5062c35c55232f672008d7c4a06daa69a92e0ed4104ea78e60280e2d7d20bcbf1b52c33229fd3b81983b02cbc949d188e5385b6250662248e11660d1fced31d

Loading…
Cancel
Save