diff options
-rw-r--r-- | www-client/chromium/Manifest | 4 | ||||
-rw-r--r-- | www-client/chromium/chromium-108.0.5343.2.ebuild (renamed from www-client/chromium/chromium-108.0.5327.0.ebuild) | 34 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-108-EnumTable-crash.patch | 76 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch | 35 |
4 files changed, 129 insertions, 20 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index a59f7af5c078..9124f9a4e521 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -4,6 +4,6 @@ DIST chromium-106.0.5249.61.tar.xz 1621965008 BLAKE2B f15043eeefb898809adf580c6e DIST chromium-106.0.5249.91.tar.xz 1611228868 BLAKE2B 75703b23a0538bdae74b2ac42e36e6d13297e3b6aaead6e5a8b97ed8f2cdd2d5883752c6d90f13fd1c2fb68828558f269c0c4f7ece4587de30e2ea8d878a9073 SHA512 741e3a3331a7e3f666bdbaa16cc8a1d829d73396bd34cb8f5f030e7704970dd5b5c4e274a1f69d05c1a9cfac148bc7740f56648c53bb20b782e6edd9b248a92c DIST chromium-107-patchset-1.tar.xz 5736 BLAKE2B 581ca307d63635ef91aaa907aeebb8c735be6d6bbfcc3fe064fed7531b8848b5d918e017031ee606ed3bd8f0fc23aa6d2f8af4b36d33483dbeee2b5c8eacac82 SHA512 acbfb41c31a510a689cad3b0686e24925b018bd7a2a8f56f74b730dc36d878c266a11b3bb76b131e66f7b859f483ff00e16cbaae1b2b6944010c7396310c03b8 DIST chromium-107.0.5304.29.tar.xz 1688306728 BLAKE2B 2e00ce9cdfe41ed20004ccdf11f7d0f5824f1b23ac706e18c3891ff189983815f1ccbd26e1a12862db0688f6bc045fcf49d7694043883a608b182994cd8f2cec SHA512 871c373b44b18167126deef82ec835e33772c27d5c9d89585a1752efdcade8696c3be5d2735999838b13e3ce2e06d431f30f3591e861d1dcd7a80281817851eb -DIST chromium-108-patchset-1.tar.xz 6344 BLAKE2B d5febda6415d0573d86f1c85dcf4449ab63633605b8d3cb5815bee0ed26dba8348554f8c7e06eb0450932c1062d388d5ad8817ef698afeb978bce1a98fcb3c5b SHA512 d5f47692388c66099d6af75c781866bc45e05ffb7fa91c354243fcd1dd83f5de3279706809b3f65039e07d2c3b03d86b7dadcf6d14d93d9aa53562f1b8318b01 -DIST chromium-108.0.5327.0.tar.xz 1672115480 BLAKE2B c92636436fb8017d4a6b5e7daa7518384149ea6478998e511dd04e17c1cc788cfa2fe5484c1f732e134d4f351fa9f37f68bab306904307cf2de5158f825a5efe SHA512 a073b08ea7cff74440510c08cc90105a80f91f8bdf49e74de9f048be54821a7ef246078775260ffeff00c925a849d9958c0643e9bdc1f31edc798d4bb0928efa +DIST chromium-108-patchset-2.tar.xz 6480 BLAKE2B 2a40bb741fdd305b3525b790f82c2b36f6c909680788527a31aa2a11f519ff630aa12ffe7c53553b717f1909978c77e7db07a02a86c8e7d12d63375402802d7a SHA512 3fe182f0f928baaf0f5521efa8763080de765240b5608d5126e84e49335eb5edc788ab406aa71f5fa97c371afe1f6808e93e2e082c7f65169b5f157ff6c3e00b +DIST chromium-108.0.5343.2.tar.xz 1669214708 BLAKE2B e022bb908b15a5ae645d23cc5ab1e268ab87b77af3ae9ac352f6dc2fc9ba36f9e212cd53f4e3fdb18bb114f89ffada3f0fbee2b2fd46b6824fccaa68e21d930a SHA512 ff74eae98a44ebfc77a729ee65b4d338fcc39f04f2168247eed039d5c19c945d90c2b6aa5a12ca96d493c5116c2dcf9c959c74ffe2dc25ea6717176f699342b2 DIST chromium-profiler-0.1.tar 269066240 BLAKE2B 6897387b63ff9a724b67f2e8799fe803dc75da376da809e752d19d6f5cf98bd84ac24161d07ac4a967577279e9ad5a8a46f0825332a7ee933a27693d6dc95611 SHA512 3fb6132599d28455d1b5c04d856ea7623e49b0b0b96f021c31d0952c4ba57d69d0a1cae6f0b91470a235221c89cc0d3bb38303ff02594ed0739712e6e2f8dbcc diff --git a/www-client/chromium/chromium-108.0.5327.0.ebuild b/www-client/chromium/chromium-108.0.5343.2.ebuild index c7fa92deec98..c9925bfbc5d4 100644 --- a/www-client/chromium/chromium-108.0.5327.0.ebuild +++ b/www-client/chromium/chromium-108.0.5343.2.ebuild @@ -12,11 +12,11 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu VIRTUALX_REQUIRED="pgo" -inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://chromium.org/" -PATCHSET="1" +PATCHSET="2" PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}" SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz @@ -167,7 +167,7 @@ BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] ') >=app-arch/gzip-1.7 - libcxx? ( >=sys-devel/clang-12 ) + libcxx? ( >=sys-devel/clang-13 ) lto? ( $(depend_clang_llvm_versions 13 14 15) ) pgo? ( >=dev-python/selenium-3.141.0 @@ -190,7 +190,7 @@ BDEPEND=" : ${CHROMIUM_FORCE_CLANG=no} if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" + BDEPEND+=" >=sys-devel/clang-13" fi if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then @@ -254,7 +254,7 @@ pre_build_checks() { local -x CPP="$(tc-getCXX) -E" if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" + die "At least gcc 10.4 is required" fi if use pgo && tc-is-cross-compiler; then die "The pgo USE flag cannot be used when cross-compiling" @@ -262,8 +262,8 @@ pre_build_checks() { if needs_clang || tc-is-clang; then tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" + if ! ver_test "$(clang-major-version)" -ge 13; then + die "At least clang 13 is required" fi fi if [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use js-type-check; then @@ -296,7 +296,7 @@ pkg_pretend() { pre_build_checks if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland") + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") for myiuse in ${headless_unused_flags[@]}; do use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." done @@ -322,9 +322,10 @@ src_prepare() { local PATCHES=( "${WORKDIR}/patches" "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" "${FILESDIR}/chromium-98-gtk4-build.patch" "${FILESDIR}/chromium-107-system-zlib.patch" + "${FILESDIR}/chromium-108-EnumTable-crash.patch" + "${FILESDIR}/chromium-108-revert-GlobalMediaControlsCastStartStop.patch" "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" "${FILESDIR}/chromium-shim_headers.patch" "${FILESDIR}/chromium-cross-compile.patch" @@ -433,7 +434,6 @@ src_prepare() { third_party/fusejs third_party/fxdiv third_party/highway - third_party/libgifcodec third_party/liburlpattern third_party/libzip third_party/gemmlowp @@ -591,18 +591,14 @@ src_prepare() { third_party/libaom/source/libaom/third_party/x86inc ) fi + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi if use libcxx; then keeplibs+=( third_party/re2 ) fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi if use wayland && ! use headless ; then keeplibs+=( third_party/wayland ) - # only need the .gn files - rm -r third_party/wayland/src || die fi if use arm64 || use ppc64 ; then keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) @@ -926,7 +922,7 @@ chromium_configure() { myconf_gn+=" use_system_libdrm=true" myconf_gn+=" use_system_minigbm=true" myconf_gn+=" use_xkbcommon=true" - use qt5 && export PATH="${PATH}:/usr/$(get_libdir)/qt5/bin" + use qt5 && export PATH="${PATH}:$(qt5_get_bindir)" myconf_gn+=" use_qt=$(usex qt5 true false)" myconf_gn+=" ozone_platform_x11=$(usex X true false)" myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" @@ -1073,6 +1069,8 @@ src_compile() { mv out/Release/chromedriver{.unstripped,} || die + rm -f out/Release/locales/*.pak.info || die + # Build manpage; bug #684550 sed -e 's|@@PACKAGE@@|chromium-browser|g; s|@@MENUNAME@@|Chromium|g;' \ diff --git a/www-client/chromium/files/chromium-108-EnumTable-crash.patch b/www-client/chromium/files/chromium-108-EnumTable-crash.patch new file mode 100644 index 000000000000..661ec33c1d0d --- /dev/null +++ b/www-client/chromium/files/chromium-108-EnumTable-crash.patch @@ -0,0 +1,76 @@ +diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h +index 842553a..89de703 100644 +--- a/components/media_router/common/providers/cast/channel/enum_table.h ++++ b/components/media_router/common/providers/cast/channel/enum_table.h +@@ -8,6 +8,7 @@ + #include <cstdint> + #include <cstring> + #include <ostream> ++#include <vector> + + #include "base/check_op.h" + #include "base/notreached.h" +@@ -187,7 +188,6 @@ class + inline constexpr GenericEnumTableEntry(int32_t value); + inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str); + +- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete; + GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; + + private: +@@ -253,7 +253,6 @@ class EnumTable { + constexpr Entry(E value, base::StringPiece str) + : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} + +- Entry(const Entry&) = delete; + Entry& operator=(const Entry&) = delete; + }; + +@@ -312,15 +311,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 +@@ -348,8 +346,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>(); + } + +@@ -364,7 +361,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) +@@ -376,8 +373,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())) diff --git a/www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch b/www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch new file mode 100644 index 000000000000..650e94816f49 --- /dev/null +++ b/www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch @@ -0,0 +1,35 @@ +From b58f0f2725a8c1a8a131f9984b5fd53b54119dba Mon Sep 17 00:00:00 2001 +From: Muyao Xu <muyaoxu@google.com> +Date: Thu, 20 Jan 2022 23:46:21 +0000 +Subject: [PATCH] [Zenith] Enable GlobalMediaControlsCastStartStop flag by + default + +The feature is rolled out to 100% stable through finch for M96+. +This CL enables it by default and fixes some unit tests failures. + +Bug: 1287242, 1287305 +Change-Id: I7e5c9625b77379fef253c41ef292a0dd6fc366fb +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3388416 +Reviewed-by: Takumi Fujimoto <takumif@chromium.org> +Commit-Queue: Muyao Xu <muyaoxu@google.com> +Cr-Commit-Position: refs/heads/main@{#961658} +--- + chrome/browser/media/router/media_router_feature.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc +index 862329e..47c8912 100644 +--- a/chrome/browser/media/router/media_router_feature.cc ++++ b/chrome/browser/media/router/media_router_feature.cc +@@ -54,7 +54,7 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop, + #else + BASE_FEATURE(kGlobalMediaControlsCastStartStop, + "GlobalMediaControlsCastStartStop", +- base::FEATURE_ENABLED_BY_DEFAULT); ++ base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) + + #endif // !BUILDFLAG(IS_ANDROID) +-- +2.35.1 + |