diff --git a/.abf.yml b/.abf.yml index 24161c9..fa6cf1d 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,8 +1,8 @@ sources: - chromium-85.0.4183.121.tar.xz: 4b9fc36be131fbf191480846166613e144bfb572 - chromium-gost-6d10ff4bc437bda11dc2da2464cc463d7ce956d3.tar.gz: 1561f94be6b797784e8537cdf2958a6fce2cf7d1 + chromium-86.0.4240.111.tar.xz: fb55e7e34956beef9875c82206d7dbfd0aac58c0 + chromium-gost-86.0.4240.111.tar.gz: 058f07a0a8a0809d829eae2f36204f0443390309 depot_tools.tar.xz: 082b7f9a4dfa7eb03900755b4866aef2d73543a5 icons.tar.bz2: a835954af164bf38f8ea4ea80608839bed7800a3 - msspi-10624dde20efaa083af2a4c9de4251eeceb9730a.tar.gz: 3af8ff306634f63134d5268ca0741dd606556b18 + msspi-0.1.36.tar.gz: e951f096e8807259b4405f1ccc41f58bd9f6a158 new-system-icons.tar.xz: 89339b8b3b05359a8745ed7968fe148902a2fa28 - xcb-proto-1.14.tar.xz: 170307b3748cf6c9953db2017615821428fca8be + xcb-proto-1.14.1.tar.xz: 836d5b2dd00ff21bd038e92764fda9a256a1b022 diff --git a/chromium-30.0.1599.66-master-prefs-path.patch b/chromium-30.0.1599.66-master-prefs-path.patch index 4649288..91db4f9 100644 --- a/chromium-30.0.1599.66-master-prefs-path.patch +++ b/chromium-30.0.1599.66-master-prefs-path.patch @@ -1,13 +1,15 @@ -diff -urN chromium-30.0.1599.66.orig/chrome/browser/first_run/first_run_internal_linux.cc chromium-30.0.1599.66/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-30.0.1599.66.orig/chrome/browser/first_run/first_run_internal_linux.cc 2013-10-04 13:51:55.589208095 +0400 -+++ chromium-30.0.1599.66/chrome/browser/first_run/first_run_internal_linux.cc 2013-10-04 13:52:49.035210352 +0400 -@@ -20,8 +20,7 @@ - base::FilePath MasterPrefsPath() { - // The standard location of the master prefs is next to the chrome binary. - base::FilePath master_prefs; -- if (!base::PathService::Get(base::DIR_EXE, &master_prefs)) +diff -up chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc +--- chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc 2020-10-14 14:38:42.826660141 -0400 ++++ chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc 2020-10-14 14:44:49.906526646 -0400 +@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { + + base::FilePath InitialPrefsPath() { + // The standard location of the initial prefs is next to the chrome binary. ++ // ...but we patch it to use /etc/chromium + base::FilePath initial_prefs; +- if (!base::PathService::Get(base::DIR_EXE, &initial_prefs)) - return base::FilePath(); -+ master_prefs = base::FilePath("/etc/chromium-browser"); - return master_prefs.AppendASCII(installer::kDefaultMasterPrefs); ++ initial_prefs = base::FilePath("/etc/chromium"); + return initial_prefs.AppendASCII(installer::kDefaultMasterPrefs); } diff --git a/chromium-40-sorenson-spark.patch b/chromium-40-sorenson-spark.patch index c7ef100..71640de 100644 --- a/chromium-40-sorenson-spark.patch +++ b/chromium-40-sorenson-spark.patch @@ -108,7 +108,7 @@ diff -up chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc.flv1 chromium-51.0.2 } --- chromium-56.0.2924.10/media/remoting/proto_enum_utils.cc.bak.2 2016-12-01 23:42:15.717317808 +0100 +++ chromium-56.0.2924.10/media/remoting/proto_enum_utils.cc 2016-12-01 23:44:59.695754038 +0100 -@@ -60,6 +60,8 @@ base::Optional ToMediaAudioC +@@ -36,6 +36,8 @@ CASE_RETURN_OTHER(kCodecMpegHAudio); CASE_RETURN_OTHER(kCodecMP2); CASE_RETURN_OTHER(kCodecDTS); @@ -117,7 +117,7 @@ diff -up chromium-51.0.2687.0/media/ffmpeg/ffmpeg_common.cc.flv1 chromium-51.0.2 } return base::nullopt; // Not a 'default' to ensure compile-time checks. } -@@ -89,6 +91,8 @@ base::Optional + } // extern "C" + + namespace webrtc { diff --git a/chromium-55-extra-media.patch b/chromium-55-extra-media.patch index 62fe334..e90e4b1 100644 --- a/chromium-55-extra-media.patch +++ b/chromium-55-extra-media.patch @@ -262,7 +262,7 @@ diff -up chromium-62.0.3192.0/media/filters/ffmpeg_video_decoder.cc.extra-media diff -up chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc.extra-media chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc --- chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc.extra-media 2017-08-22 21:04:45.000000000 +0200 +++ chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc 2017-08-30 15:39:09.736186059 +0200 -@@ -58,6 +58,8 @@ base::Optional ToMediaAudioC +@@ -34,6 +34,8 @@ CASE_RETURN_OTHER(kCodecALAC); CASE_RETURN_OTHER(kCodecAC3); CASE_RETURN_OTHER(kCodecMpegHAudio); @@ -271,7 +271,7 @@ diff -up chromium-62.0.3192.0/media/remoting/proto_enum_utils.cc.extra-media chr } return base::nullopt; // Not a 'default' to ensure compile-time checks. } -@@ -85,6 +86,8 @@ base::Optional -+ - #include "media/base/media.h" - - #include "base/allocator/buildflags.h" -@@ -41,7 +43,7 @@ - - #if BUILDFLAG(USE_ALLOCATOR_SHIM) - // Remove allocation limit from ffmpeg, so calls go down to shim layer. -- av_max_alloc(0); -+ av_max_alloc(std::numeric_limits::max()); - #endif // BUILDFLAG(USE_ALLOCATOR_SHIM) - - #endif // BUILDFLAG(ENABLE_FFMPEG) ---- /third_party/ffmpeg/chromium/dllmain.cc -+++ /third_party/ffmpeg/chromium/dllmain.cc -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include -+#include - #include - #include - #include -@@ -28,7 +29,7 @@ - if (reason == DLL_PROCESS_ATTACH) { - DisableThreadLibraryCalls(instance); - // Remove allocation limit from ffmpeg, so calls go down to shim layer. -- av_max_alloc(0); -+ av_max_alloc(std::numeric_limits::max()); - // Enable OOM crashes in the shim for all malloc calls that fail. - _set_new_mode(1); - _set_new_handler(&OnNoMemory); diff --git a/chromium-84.0.4147.89-clang8.patch b/chromium-84.0.4147.89-clang8.patch deleted file mode 100644 index 648e79d..0000000 --- a/chromium-84.0.4147.89-clang8.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- chromium-84.0.4147.89/cc/trees/frame_rate_estimator.cc.orig -+++ chromium-84.0.4147.89/cc/trees/frame_rate_estimator.cc -@@ -48,7 +48,7 @@ - // frequency is lower than that, then using a lower frame rate is permitted. - // The delta below is to account for minor offsets in frame times. - constexpr auto kFudgeDelta = base::TimeDelta::FromMilliseconds(1); -- constexpr auto kMinDelta = -+ const auto kMinDelta = - (viz::BeginFrameArgs::DefaultInterval() * 2) + kFudgeDelta; - if (draw_delta < kMinDelta) - num_of_consecutive_frames_with_min_delta_++; - diff --git a/chromium-86.0.4240.80-fcntl-h.patch b/chromium-86.0.4240.80-fcntl-h.patch new file mode 100644 index 0000000..085989c --- /dev/null +++ b/chromium-86.0.4240.80-fcntl-h.patch @@ -0,0 +1,26 @@ +diff -up chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-kcmp chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc +--- chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-kcmp 2020-10-20 11:58:00.449812627 -0400 ++++ chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc 2020-10-20 11:58:32.919071919 -0400 +@@ -22,6 +22,22 @@ + #include "sandbox/policy/linux/sandbox_linux.h" + #include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" + ++#ifndef F_LINUX_SPECIFIC_BASE ++#define F_LINUX_SPECIFIC_BASE 1024 ++#endif ++#ifndef F_SEAL_SEAL ++#define F_SEAL_SEAL 0x0001 ++#endif ++#ifndef F_SEAL_SHRINK ++#define F_SEAL_SHRINK 0x0002 ++#endif ++#ifndef F_SEAL_GROW ++#define F_SEAL_GROW 0x0004 ++#endif ++#ifndef F_ADD_SEALS ++#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) ++#endif ++ + using sandbox::bpf_dsl::Allow; + using sandbox::bpf_dsl::Arg; + using sandbox::bpf_dsl::Error; diff --git a/chromium-browser-stable.spec b/chromium-browser-stable.spec index cb6729a..6e9e564 100644 --- a/chromium-browser-stable.spec +++ b/chromium-browser-stable.spec @@ -1,5 +1,5 @@ # This spec file is based on other spec files, ebuilds, PKGBUILDs available from -# [1] https://repos.fedorapeople.org/repos/spot/chromium/ +# [1] https://build.opensuse.org/package/show/openSUSE:Factory/chromium # [2] https://copr.fedoraproject.org/coprs/churchyard/chromium-russianfedora-tested/ # [3] https://www.archlinux.org/packages/extra/x86_64/chromium/ # [4] https://src.fedoraproject.org/rpms/chromium/ @@ -43,11 +43,11 @@ %define google_default_client_secret mRHXPjlS4cLpp1beCiXoYbLZ # GOST patches and sources -%define chromium_gost_commit 6d10ff4bc437bda11dc2da2464cc463d7ce956d3 -%define msspi_commit 10624dde20efaa083af2a4c9de4251eeceb9730a +%define chromium_gost_ver 86.0.4240.111 +%define msspi_ver 0.1.36 %define _gostsourcedir %{_builddir}/chromium-gost -%define xcb_version 1.14 +%define xcb_version 1.14.1 %if %{mdvver} <= 201410 %bcond_without native_clang @@ -64,8 +64,8 @@ Summary: A fast web browser based on the Blink engine Name: chromium-browser-stable -Version: 85.0.4183.121 -Release: 2 +Version: 86.0.4240.111 +Release: 1 License: BSD, LGPL Group: Networking/WWW Url: https://www.chromium.org/Home @@ -86,8 +86,8 @@ Source997: depot_tools.tar.xz Source999: new-system-icons.tar.xz %if %{with gost} -Source1101: https://github.com/deemru/chromium-gost/archive/%{chromium_gost_commit}.tar.gz?/chromium-gost-%{chromium_gost_commit}.tar.gz -Source1102: https://github.com/deemru/msspi/archive/%{msspi_commit}.tar.gz?/msspi-%{msspi_commit}.tar.gz +Source1101: https://github.com/deemru/chromium-gost/archive/%{chromium_gost_ver}.tar.gz?/chromium-gost-%{chromium_gost_ver}.tar.gz +Source1102: https://github.com/deemru/msspi/archive/%{msspi_ver}.tar.gz?/msspi-%{msspi_ver}.tar.gz %endif # needs with gost @@ -150,12 +150,10 @@ Patch627: chromium-68.0.3440.106-rosa-user-agent.patch Patch629: chromium-60.0.3112.78-no-libpng-prefix.patch # Fix errors build in 69 Patch631: chromium-69.0.3497.100-build-error-in-clang6.patch -# error: constexpr variable 'kMinDelta' must be initialized by a constant expression -Patch633: chromium-84.0.4147.89-clang8.patch -# Issue 1095962: Aw, Snap! in Chromium compiled with system ffmpeg 4.3 -Patch634: chromium-84-mediaalloc.patch -# https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/chromium/patches/ -Patch635: dont-use-ANGLE-by-default.patch +# https://chromium-review.googlesource.com/c/chromium/src/+/2427349 +Patch636: remove-dead-reloc-in-nonalloc-LD-flags.patch +# Fix build /sandbox/policy/linux/bpf_gpu_policy_linux.cc +Patch637: chromium-86.0.4240.80-fcntl-h.patch BuildRequires: bison %if %{with clang} @@ -401,14 +399,9 @@ cp -f %{_gostsourcedir}/src/msspi/third_party/cprocsp/include/* third_party/bori %endif %if %{without native_clang} %patch631 -p1 -b .clang6 -%if %{mdvver} <= 201610 -%patch633 -p1 -b .clang8 -%endif -%endif -%patch634 -p1 -b .ffmpeg43 -%if 0%{?libva} -#%%patch635 -p1 %endif +%patch636 -p1 +%patch637 -p1 -b .fcntl # fatal error: 'fuzzer/FuzzedDataProvider.h' file not found # (Available in Clang10) @@ -451,7 +444,9 @@ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/node tar xf %{SOURCE20} export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-%{xcb_version}" +%if 0%{?ffmpeg} %define system_gn_list ffmpeg +%endif # flac libxslt snappy yasm zlib # opus # icu diff --git a/chromium-compiler-r4.patch b/chromium-compiler-r4.patch index 4e2eb71..64291ff 100644 --- a/chromium-compiler-r4.patch +++ b/chromium-compiler-r4.patch @@ -10,7 +10,7 @@ Subject: [PATCH] Disable various compiler configs diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -256,8 +256,6 @@ +@@ -258,8 +258,6 @@ configs += [ # See the definitions below. @@ -19,34 +19,46 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn ":compiler_codegen", ":compiler_deterministic", ] -@@ -478,20 +476,6 @@ +@@ -490,17 +488,6 @@ # platforms can be added later if needed. - if (is_linux && use_lld && use_text_section_splitting) { + if ((is_linux || is_chromeos) && use_lld && use_text_section_splitting) { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - - if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] +- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] - - cflags += [ - # TODO(hans): Remove this once Clang generates better optimized debug info - # by default. https://crbug.com/765793 -- "-Xclang", - "-mllvm", -- "-Xclang", - "-instcombine-lower-dbg-declare=0", - ] } # C11/C++11 compiler flags setup. -@@ -1512,22 +1512,12 @@ +@@ -1518,11 +1518,6 @@ + # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not + # recognize. + cflags += [ +- # An ABI compat warning we don't care about, https://crbug.com/1102157 +- # TODO(thakis): Push this to the (few) targets that need it, +- # instead of having a global flag. +- "-Wno-psabi", +- + # Ignore warnings about MSVC optimization pragmas. + # TODO(thakis): Only for no_chromium_code? http://crbug.com/912662 + "-Wno-ignored-pragma-optimize", +@@ -1538,25 +1533,12 @@ # TODO(https://crbug.com/1028110): Evaluate and possible enable. "-Wno-deprecated-copy", - - # TODO(https://crbug.com/1050281): Clean up, enable. - "-Wno-non-c-typedef-for-linkage", +- +- # TODO(https://crbug.com/1114873): Clean up, enable. +- "-Wno-string-concatenation", ] cflags_c += [ @@ -63,7 +75,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn } } } -@@ -1547,7 +1494,7 @@ +@@ -1576,7 +1553,7 @@ defines = [ "_HAS_NODISCARD" ] } } else { @@ -72,7 +84,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn if (treat_warnings_as_errors) { cflags += [ "-Werror" ] -@@ -1555,10 +1502,6 @@ +@@ -1584,10 +1561,6 @@ # the actual linker. Make sure these warnings are treated as errors as # well. ldflags = [ "-Werror" ] @@ -83,7 +95,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn } # In Chromium code, we define __STDC_foo_MACROS in order to get the -@@ -1567,15 +1510,6 @@ +@@ -1596,15 +1569,6 @@ "__STDC_CONSTANT_MACROS", "__STDC_FORMAT_MACROS", ] @@ -99,7 +111,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn if (is_mac) { cflags_objc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1662,12 +1596,6 @@ +@@ -1691,12 +1655,6 @@ # suppressing them individually, we just blanket suppress them here. "-Wno-unused-variable", ] diff --git a/dont-use-ANGLE-by-default.patch b/dont-use-ANGLE-by-default.patch deleted file mode 100644 index c99b32f..0000000 --- a/dont-use-ANGLE-by-default.patch +++ /dev/null @@ -1,26 +0,0 @@ -A field trial currently enables the passthrough command decoder, which causes -gl_factory.cc to try kGLImplementationEGLANGLE first, which causes Chromium to fail -to load libGLESv2.so on NixOS. It somehow does not try kGLImplementationDesktopGL, -and so there is no GL support at all. - -Revert to using the validating command decoder, which prevents gl_factory.cc -from touching allowed_impls, allowing it to successfully use kGLImplementationDesktopGL. - -diff --git a/ui/gl/gl_utils.cc b/ui/gl/gl_utils.cc -index 697cbed5fe2d..8419bdb21a2f 100644 ---- a/ui/gl/gl_utils.cc -+++ b/ui/gl/gl_utils.cc -@@ -71,9 +71,10 @@ bool UsePassthroughCommandDecoder(const base::CommandLine* command_line) { - } else if (switch_value == kCmdDecoderValidatingName) { - return false; - } else { -- // Unrecognized or missing switch, use the default. -- return base::FeatureList::IsEnabled( -- features::kDefaultPassthroughCommandDecoder); -+ // Ignore the field trial that enables it; disable it until -+ // gl_factory.cc kGLImplementationEGLANGLE issues are sorted -+ // out on NixOS. -+ return false; - } - } - diff --git a/remove-dead-reloc-in-nonalloc-LD-flags.patch b/remove-dead-reloc-in-nonalloc-LD-flags.patch new file mode 100644 index 0000000..1adf339 --- /dev/null +++ b/remove-dead-reloc-in-nonalloc-LD-flags.patch @@ -0,0 +1,37 @@ +From 74b0cb5b86f7d7f8f7c1172d85b09096bef147b7 Mon Sep 17 00:00:00 2001 +From: Daniel Nicoara +Date: Thu, 24 Sep 2020 02:34:24 +0000 +Subject: [PATCH] Remove dead-reloc-in-nonalloc LD flags + +Breakpad change landed. Revert workaround. + +Bug: 1105559 +Test: components/crash/content/tools/generate_breakpad_symbols.py --build-dir=out/andrd --binary=out/andrd/lib.unstripped/libcontent_shell_content_view.so --symbols-dir=/tmp/foo --platform=android +Change-Id: I519534002898a97b15a57b9b87ac78ef3f216dee +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2427349 +Commit-Queue: Nico Weber +Reviewed-by: Nico Weber +Cr-Commit-Position: refs/heads/master@{#810066} +--- + build/config/compiler/BUILD.gn | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index aa9eca20bd2..42839cfba3f 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -396,14 +396,6 @@ config("compiler") { + "-Wl,--as-needed", + ] + } +- if (use_lld && !is_chromeos_device) { +- # TODO(thakis): Fix dump_syms to not need this and then remove it, +- # https://crbug.com/1105559 +- ldflags += [ +- "-Wl,-z,dead-reloc-in-nonalloc=*=0", +- "-Wl,-z,dead-reloc-in-nonalloc=.debug_ranges=1", +- ] +- } + } + + # Linux-specific compiler flags setup.