Gentoo Archives: gentoo-commits

From: Michael Palimaka <kensington@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/qt:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/
Date: Sun, 04 Jun 2017 11:55:05
Message-Id: 1496577293.8a778f2b0396c2f4415d92bc688ec8fc55d83991.kensington@gentoo
1 commit: 8a778f2b0396c2f4415d92bc688ec8fc55d83991
2 Author: Mark Wright <gienah <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jun 4 11:54:14 2017 +0000
4 Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org>
5 CommitDate: Sun Jun 4 11:54:53 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=8a778f2b
7
8 dev-qt/qtwebengine: fix build with GCC 7
9
10 Gentoo-bug: 617896
11 Package-Manager: Portage-2.3.5, Repoman-2.3.2
12
13 .../files/qtwebengine-5.7.1-gcc-7.patch | 144 +++++++++++++++++++++
14 dev-qt/qtwebengine/qtwebengine-5.7.9999.ebuild | 1 +
15 2 files changed, 145 insertions(+)
16
17 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch
18 new file mode 100644
19 index 00000000..a5c3072a
20 --- /dev/null
21 +++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch
22 @@ -0,0 +1,144 @@
23 +From 64fdd317d4127142ad9e967197a2df6ac81ef55f Mon Sep 17 00:00:00 2001
24 +From: Allan Sandfeld Jensen <allan.jensen@××.io>
25 +Date: Wed, 29 Mar 2017 17:42:18 +0200
26 +Subject: [PATCH] Fix build with GCC 7.0
27 +MIME-Version: 1.0
28 +Content-Type: text/plain; charset=utf8
29 +Content-Transfer-Encoding: 8bit
30 +
31 +Fixes some ambiguities and outright wrong code GCC 7 doesn't accept but
32 +earlier compilers did.
33 +
34 +Task-number:QTBUG-59776
35 +Change-Id: I012f121842ac6cde49db0d571efc62aabe2115e3
36 +Reviewed-by: Michael Brüning <michael.bruning@××.io>
37 +---
38 + .../mojo/public/cpp/bindings/interface_ptr_info.h | 2 +-
39 + .../third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++
40 + chromium/v8/src/objects-body-descriptors.h | 2 +-
41 + chromium/v8/src/objects-inl.h | 19 +++++++++++++++++++
42 + chromium/v8/src/objects.h | 16 ++--------------
43 + 5 files changed, 25 insertions(+), 16 deletions(-)
44 +
45 +diff --git a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
46 +index 5bd29d5..c94a5ac 100644
47 +--- a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
48 ++++ b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
49 +@@ -34,7 +34,7 @@ class InterfacePtrInfo {
50 +
51 + InterfacePtrInfo& operator=(InterfacePtrInfo&& other) {
52 + if (this != &other) {
53 +- handle_ = other.handle_.Pass();
54 ++ handle_ = std::move(other.handle_);
55 + version_ = other.version_;
56 + other.version_ = 0u;
57 + }
58 +--
59 +2.7.4
60 +From 493441248c82d9f39d0947e3bbf4571736e1cf85 Mon Sep 17 00:00:00 2001
61 +From: Allan Sandfeld Jensen <allan.jensen@××.io>
62 +Date: Wed, 29 Mar 2017 15:53:00 +0200
63 +Subject: [PATCH 1/1] Fix build with GCC 7.0
64 +MIME-Version: 1.0
65 +Content-Type: text/plain; charset=utf8
66 +Content-Transfer-Encoding: 8bit
67 +
68 +Fixes a few problems with using undeclared functions and ambigious
69 +code.
70 +
71 +Task-number: QTBUG-59776
72 +Change-Id: I59813919b4867d5dd3499a45baed004a1a1c1a3c
73 +Reviewed-by: Michael Brüning <michael.bruning@××.io>
74 +---
75 + chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++
76 + .../third_party/pdfium/fpdfsdk/javascript/global.cpp | 8 ++++----
77 + chromium/v8/src/objects-body-descriptors.h | 2 +-
78 + chromium/v8/src/objects-inl.h | 18 ++++++++++++++++++
79 + chromium/v8/src/objects.h | 16 ++--------------
80 + 5 files changed, 27 insertions(+), 19 deletions(-)
81 +
82 +diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
83 +index e85c72f..6f94cd6 100644
84 +--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
85 ++++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
86 +@@ -542,6 +542,8 @@ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(LinkedHas
87 + return *this;
88 + }
89 +
90 ++inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b);
91 ++
92 + template<typename T, typename U, typename V, typename W>
93 + inline void LinkedHashSet<T, U, V, W>::swap(LinkedHashSet& other)
94 + {
95 +diff --git a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
96 +index 91cb888..a1c3634 100644
97 +--- a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
98 ++++ b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
99 +@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase {
100 +
101 + template <typename StaticVisitor>
102 + static inline void IterateBody(HeapObject* obj, int object_size) {
103 +- IterateBody(obj);
104 ++ IterateBody<StaticVisitor>(obj);
105 + }
106 + };
107 +
108 +diff --git a/src/3rdparty/chromium/v8/src/objects-inl.h b/src/3rdparty/chromium/v8/src/objects-inl.h
109 +index 58441d3..4c486ea 100644
110 +--- a/src/3rdparty/chromium/v8/src/objects-inl.h
111 ++++ b/src/3rdparty/chromium/v8/src/objects-inl.h
112 +@@ -7588,6 +7588,24 @@ bool GlobalDictionaryShape::IsDeleted(Dictionary* dict, int entry) {
113 + }
114 +
115 +
116 ++template <typename Derived, typename Shape, typename Key>
117 ++inline uint32_t HashTable<Derived,Shape,Key>::Hash(Key key) {
118 ++ if (Shape::UsesSeed) {
119 ++ return Shape::SeededHash(key, GetHeap()->HashSeed());
120 ++ } else {
121 ++ return Shape::Hash(key);
122 ++ }
123 ++}
124 ++
125 ++template <typename Derived, typename Shape, typename Key>
126 ++inline uint32_t HashTable<Derived,Shape,Key>::HashForObject(Key key, Object* object) {
127 ++ if (Shape::UsesSeed) {
128 ++ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
129 ++ } else {
130 ++ return Shape::HashForObject(key, object);
131 ++ }
132 ++}
133 ++
134 + bool ObjectHashTableShape::IsMatch(Handle<Object> key, Object* other) {
135 + return key->SameValue(other);
136 + }
137 +diff --git a/src/3rdparty/chromium/v8/src/objects.h b/src/3rdparty/chromium/v8/src/objects.h
138 +index 7d774be..42da5fa 100644
139 +--- a/src/3rdparty/chromium/v8/src/objects.h
140 ++++ b/src/3rdparty/chromium/v8/src/objects.h
141 +@@ -3194,21 +3194,9 @@ class HashTable : public HashTableBase {
142 + typedef Shape ShapeT;
143 +
144 + // Wrapper methods
145 +- inline uint32_t Hash(Key key) {
146 +- if (Shape::UsesSeed) {
147 +- return Shape::SeededHash(key, GetHeap()->HashSeed());
148 +- } else {
149 +- return Shape::Hash(key);
150 +- }
151 +- }
152 ++ inline uint32_t Hash(Key key);
153 +
154 +- inline uint32_t HashForObject(Key key, Object* object) {
155 +- if (Shape::UsesSeed) {
156 +- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
157 +- } else {
158 +- return Shape::HashForObject(key, object);
159 +- }
160 +- }
161 ++ inline uint32_t HashForObject(Key key, Object* object);
162 +
163 + // Returns a new HashTable object.
164 + MUST_USE_RESULT static Handle<Derived> New(
165 +--
166 +2.7.4
167
168 diff --git a/dev-qt/qtwebengine/qtwebengine-5.7.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.7.9999.ebuild
169 index 6662a5a0..1499b058 100644
170 --- a/dev-qt/qtwebengine/qtwebengine-5.7.9999.ebuild
171 +++ b/dev-qt/qtwebengine/qtwebengine-5.7.9999.ebuild
172 @@ -77,6 +77,7 @@ PATCHES=(
173 "${FILESDIR}/${PN}-5.7.0-fix-system-ffmpeg.patch"
174 "${FILESDIR}/${PN}-5.7.0-icu58.patch"
175 "${FILESDIR}/${PN}-5.7.0-undef-madv_free.patch"
176 + "${FILESDIR}/${PN}-5.7.1-gcc-7.patch"
177 )
178
179 src_prepare() {