1 |
commit: 271d3c45ed4e2800eefc7c6d7a9031d235e7994a |
2 |
Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com> |
3 |
AuthorDate: Tue Oct 1 13:08:23 2019 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Oct 1 20:19:06 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=271d3c45 |
7 |
|
8 |
www-client/chromium: fix component-build for stable channel |
9 |
|
10 |
Closes: https://github.com/gentoo/gentoo/pull/13116 |
11 |
Package-Manager: Portage-2.3.69, Repoman-2.3.16 |
12 |
Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com> |
13 |
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> |
14 |
|
15 |
www-client/chromium/chromium-77.0.3865.90.ebuild | 5 ++ |
16 |
.../chromium/files/chromium-77-gcc-alignas.patch | 72 ++++++++++++++++++++++ |
17 |
2 files changed, 77 insertions(+) |
18 |
|
19 |
diff --git a/www-client/chromium/chromium-77.0.3865.90.ebuild b/www-client/chromium/chromium-77.0.3865.90.ebuild |
20 |
index 8e52aecdb55..0dbd8e2289d 100644 |
21 |
--- a/www-client/chromium/chromium-77.0.3865.90.ebuild |
22 |
+++ b/www-client/chromium/chromium-77.0.3865.90.ebuild |
23 |
@@ -154,6 +154,7 @@ PATCHES=( |
24 |
"${FILESDIR}/chromium-77-no-cups.patch" |
25 |
"${FILESDIR}/chromium-77-gcc-abstract.patch" |
26 |
"${FILESDIR}/chromium-77-gcc-include.patch" |
27 |
+ "${FILESDIR}/chromium-77-gcc-alignas.patch" |
28 |
) |
29 |
|
30 |
pre_build_checks() { |
31 |
@@ -162,6 +163,10 @@ pre_build_checks() { |
32 |
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then |
33 |
die "At least gcc 8.0 is required" |
34 |
fi |
35 |
+ # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. |
36 |
+ if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then |
37 |
+ die "Component build with tcmalloc requires FEATURES=-usersandbox." |
38 |
+ fi |
39 |
fi |
40 |
|
41 |
# Check build requirements, bug #541816 and bug #471810 . |
42 |
|
43 |
diff --git a/www-client/chromium/files/chromium-77-gcc-alignas.patch b/www-client/chromium/files/chromium-77-gcc-alignas.patch |
44 |
new file mode 100644 |
45 |
index 00000000000..3693ef50bed |
46 |
--- /dev/null |
47 |
+++ b/www-client/chromium/files/chromium-77-gcc-alignas.patch |
48 |
@@ -0,0 +1,72 @@ |
49 |
+From 6b633c4b14850df376d5cec571699018772f358e Mon Sep 17 00:00:00 2001 |
50 |
+From: Tomas Popela <tomas.popela@×××××.com> |
51 |
+Date: Tue, 17 Sep 2019 19:48:48 +0000 |
52 |
+Subject: [PATCH] GCC: Can't use alignas() together with __attribute__() |
53 |
+ |
54 |
+It's because GCC has problems when mixing the alignas() together with |
55 |
+__attribute__() (that is used to export the symbols). The best |
56 |
+solution is to use ALIGNAS() macro from //base/compiler_specific.h |
57 |
+together with alignof() to have the equal functionality that compiles on |
58 |
+GCC as well as on clang. |
59 |
+ |
60 |
+Bug: 819294 |
61 |
+Change-Id: Ieb169592a2965f17a18bfc88d28418eb723a4e5a |
62 |
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1806735 |
63 |
+Auto-Submit: Tomáš Popela <tomas.popela@×××××.com> |
64 |
+Commit-Queue: Alex Clarke <alexclarke@××××××××.org> |
65 |
+Reviewed-by: Alex Clarke <alexclarke@××××××××.org> |
66 |
+Cr-Commit-Position: refs/heads/master@{#697330} |
67 |
+--- |
68 |
+ |
69 |
+diff --git a/base/task/promise/dependent_list.h b/base/task/promise/dependent_list.h |
70 |
+index 020bdbfc..3245c1c 100644 |
71 |
+--- a/base/task/promise/dependent_list.h |
72 |
++++ b/base/task/promise/dependent_list.h |
73 |
+@@ -59,7 +59,7 @@ |
74 |
+ |
75 |
+ // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can |
76 |
+ // be used to store additional state (see static_asserts below). |
77 |
+- class BASE_EXPORT alignas(8) Node { |
78 |
++ class BASE_EXPORT ALIGNAS(8) Node { |
79 |
+ public: |
80 |
+ Node(); |
81 |
+ explicit Node(Node&& other) noexcept; |
82 |
+ |
83 |
+From 8148fd96ae04a1150a9c6012634dcd2a7335f87a Mon Sep 17 00:00:00 2001 |
84 |
+From: Tomas Popela <tomas.popela@×××××.com> |
85 |
+Date: Tue, 20 Aug 2019 05:23:14 +0000 |
86 |
+Subject: [PATCH] GCC: Can't use alignas() together with __attribute__() |
87 |
+ |
88 |
+It's because GCC has problems when mixing the alignas() together with |
89 |
+__attribute__() (that is used to export the symbols). The best |
90 |
+solution is to use ALIGNAS() macro from //base/compiler_specific.h |
91 |
+together with alignof() to have the equal functionality that compiles on |
92 |
+GCC as well as on clang. |
93 |
+ |
94 |
+This is a regression after https://crrev.com/659933. |
95 |
+ |
96 |
+Bug: 994581 |
97 |
+Change-Id: Ia376866ff9ac57d52d2e907fa325ae5a51893d07 |
98 |
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758064 |
99 |
+Reviewed-by: Eric Willigers <ericwilligers@××××××××.org> |
100 |
+Commit-Queue: Eric Willigers <ericwilligers@××××××××.org> |
101 |
+Commit-Queue: Tomáš Popela <tomas.popela@×××××.com> |
102 |
+Auto-Submit: Tomáš Popela <tomas.popela@×××××.com> |
103 |
+Cr-Commit-Position: refs/heads/master@{#688417} |
104 |
+--- |
105 |
+ |
106 |
+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 |
107 |
+index 67b353d..1bd404e 100644 |
108 |
+--- a/third_party/blink/renderer/core/css/css_property_value_set.h |
109 |
++++ b/third_party/blink/renderer/core/css/css_property_value_set.h |
110 |
+@@ -175,8 +175,8 @@ |
111 |
+ DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); |
112 |
+ }; |
113 |
+ |
114 |
+-class CORE_EXPORT alignas(Member<const CSSValue>) alignas( |
115 |
+- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet |
116 |
++class CORE_EXPORT ALIGNAS(alignof(Member<const CSSValue>)) |
117 |
++ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet |
118 |
+ : public CSSPropertyValueSet { |
119 |
+ public: |
120 |
+ ImmutableCSSPropertyValueSet(const CSSPropertyValue*, |