diff options
author | Stephan Hartmann <stha09@googlemail.com> | 2019-10-01 15:08:23 +0200 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2019-10-01 16:19:06 -0400 |
commit | 271d3c45ed4e2800eefc7c6d7a9031d235e7994a (patch) | |
tree | f0b48c484908353cac89bd7dfd1965a757180317 /www-client | |
parent | dev-libs/oniguruma: security cleanup (diff) | |
download | gentoo-271d3c45ed4e2800eefc7c6d7a9031d235e7994a.tar.gz gentoo-271d3c45ed4e2800eefc7c6d7a9031d235e7994a.tar.bz2 gentoo-271d3c45ed4e2800eefc7c6d7a9031d235e7994a.zip |
www-client/chromium: fix component-build for stable channel
Closes: https://github.com/gentoo/gentoo/pull/13116
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Stephan Hartmann <stha09@googlemail.com>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/chromium/chromium-77.0.3865.90.ebuild | 5 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-77-gcc-alignas.patch | 72 |
2 files changed, 77 insertions, 0 deletions
diff --git a/www-client/chromium/chromium-77.0.3865.90.ebuild b/www-client/chromium/chromium-77.0.3865.90.ebuild index 8e52aecdb552..0dbd8e2289d9 100644 --- a/www-client/chromium/chromium-77.0.3865.90.ebuild +++ b/www-client/chromium/chromium-77.0.3865.90.ebuild @@ -154,6 +154,7 @@ PATCHES=( "${FILESDIR}/chromium-77-no-cups.patch" "${FILESDIR}/chromium-77-gcc-abstract.patch" "${FILESDIR}/chromium-77-gcc-include.patch" + "${FILESDIR}/chromium-77-gcc-alignas.patch" ) pre_build_checks() { @@ -162,6 +163,10 @@ pre_build_checks() { if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then die "At least gcc 8.0 is required" fi + # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. + if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then + die "Component build with tcmalloc requires FEATURES=-usersandbox." + fi fi # Check build requirements, bug #541816 and bug #471810 . diff --git a/www-client/chromium/files/chromium-77-gcc-alignas.patch b/www-client/chromium/files/chromium-77-gcc-alignas.patch new file mode 100644 index 000000000000..3693ef50bed4 --- /dev/null +++ b/www-client/chromium/files/chromium-77-gcc-alignas.patch @@ -0,0 +1,72 @@ +From 6b633c4b14850df376d5cec571699018772f358e Mon Sep 17 00:00:00 2001 +From: Tomas Popela <tomas.popela@gmail.com> +Date: Tue, 17 Sep 2019 19:48:48 +0000 +Subject: [PATCH] GCC: Can't use alignas() together with __attribute__() + +It's because GCC has problems when mixing the alignas() together with +__attribute__() (that is used to export the symbols). The best +solution is to use ALIGNAS() macro from //base/compiler_specific.h +together with alignof() to have the equal functionality that compiles on +GCC as well as on clang. + +Bug: 819294 +Change-Id: Ieb169592a2965f17a18bfc88d28418eb723a4e5a +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1806735 +Auto-Submit: Tomáš Popela <tomas.popela@gmail.com> +Commit-Queue: Alex Clarke <alexclarke@chromium.org> +Reviewed-by: Alex Clarke <alexclarke@chromium.org> +Cr-Commit-Position: refs/heads/master@{#697330} +--- + +diff --git a/base/task/promise/dependent_list.h b/base/task/promise/dependent_list.h +index 020bdbfc..3245c1c 100644 +--- a/base/task/promise/dependent_list.h ++++ b/base/task/promise/dependent_list.h +@@ -59,7 +59,7 @@ + + // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can + // be used to store additional state (see static_asserts below). +- class BASE_EXPORT alignas(8) Node { ++ class BASE_EXPORT ALIGNAS(8) Node { + public: + Node(); + explicit Node(Node&& other) noexcept; + +From 8148fd96ae04a1150a9c6012634dcd2a7335f87a Mon Sep 17 00:00:00 2001 +From: Tomas Popela <tomas.popela@gmail.com> +Date: Tue, 20 Aug 2019 05:23:14 +0000 +Subject: [PATCH] GCC: Can't use alignas() together with __attribute__() + +It's because GCC has problems when mixing the alignas() together with +__attribute__() (that is used to export the symbols). The best +solution is to use ALIGNAS() macro from //base/compiler_specific.h +together with alignof() to have the equal functionality that compiles on +GCC as well as on clang. + +This is a regression after https://crrev.com/659933. + +Bug: 994581 +Change-Id: Ia376866ff9ac57d52d2e907fa325ae5a51893d07 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758064 +Reviewed-by: Eric Willigers <ericwilligers@chromium.org> +Commit-Queue: Eric Willigers <ericwilligers@chromium.org> +Commit-Queue: Tomáš Popela <tomas.popela@gmail.com> +Auto-Submit: Tomáš Popela <tomas.popela@gmail.com> +Cr-Commit-Position: refs/heads/master@{#688417} +--- + +diff --git a/third_party/blink/renderer/core/css/css_property_value_set.h b/third_party/blink/renderer/core/css/css_property_value_set.h +index 67b353d..1bd404e 100644 +--- a/third_party/blink/renderer/core/css/css_property_value_set.h ++++ b/third_party/blink/renderer/core/css/css_property_value_set.h +@@ -175,8 +175,8 @@ + DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); + }; + +-class CORE_EXPORT alignas(Member<const CSSValue>) alignas( +- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet ++class CORE_EXPORT ALIGNAS(alignof(Member<const CSSValue>)) ++ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet + : public CSSPropertyValueSet { + public: + ImmutableCSSPropertyValueSet(const CSSPropertyValue*, |