1 |
commit: 440760ba33c5090a70acc9f676affc3b80f96112 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Sep 3 20:25:43 2018 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Sep 3 20:25:43 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=440760ba |
7 |
|
8 |
media-libs/libqaccessibilityclient: Fix build with GCC-8 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/665180 |
11 |
Package-Manager: Portage-2.3.49, Repoman-2.3.10 |
12 |
|
13 |
.../files/libqaccessibilityclient-0.2.0-gcc8.patch | 100 +++++++++++++++++++++ |
14 |
.../libqaccessibilityclient-0.2.0.ebuild | 4 +- |
15 |
2 files changed, 103 insertions(+), 1 deletion(-) |
16 |
|
17 |
diff --git a/media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch b/media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch |
18 |
new file mode 100644 |
19 |
index 00000000000..74c97982e4c |
20 |
--- /dev/null |
21 |
+++ b/media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch |
22 |
@@ -0,0 +1,100 @@ |
23 |
+From 34f6084ff3ba1dd025cae17e5d114caff1d7fa6f Mon Sep 17 00:00:00 2001 |
24 |
+From: Frederik Gladhorn <frederik.gladhorn@××.io> |
25 |
+Date: Tue, 25 Jul 2017 16:27:12 +0200 |
26 |
+Subject: Compile with clang and make sure qHash works with AccessibleObject |
27 |
+ |
28 |
+Clang didn't like the complicated friend declaration. To make sure it's |
29 |
+not broken again, add one test to verify that we can use AO in hashes, |
30 |
+since apps might want to do that. |
31 |
+--- |
32 |
+ src/qaccessibilityclient/accessibleobject.cpp | 4 ---- |
33 |
+ src/qaccessibilityclient/accessibleobject.h | 17 ++++++++++------- |
34 |
+ tests/auto/tst_accessibilityclient.cpp | 9 +++++++++ |
35 |
+ 3 files changed, 19 insertions(+), 11 deletions(-) |
36 |
+ |
37 |
+diff --git a/src/qaccessibilityclient/accessibleobject.cpp b/src/qaccessibilityclient/accessibleobject.cpp |
38 |
+index b2b005b..b8c9d33 100644 |
39 |
+--- a/src/qaccessibilityclient/accessibleobject.cpp |
40 |
++++ b/src/qaccessibilityclient/accessibleobject.cpp |
41 |
+@@ -534,7 +534,3 @@ QACCESSIBILITYCLIENT_EXPORT QDebug QAccessibleClient::operator<<(QDebug d, const |
42 |
+ return d.space(); |
43 |
+ } |
44 |
+ #endif |
45 |
+- |
46 |
+-uint qHash(const QAccessibleClient::AccessibleObject& object) { |
47 |
+- return qHash(object.d); |
48 |
+-} |
49 |
+diff --git a/src/qaccessibilityclient/accessibleobject.h b/src/qaccessibilityclient/accessibleobject.h |
50 |
+index a0d0db4..ee2e5ad 100644 |
51 |
+--- a/src/qaccessibilityclient/accessibleobject.h |
52 |
++++ b/src/qaccessibilityclient/accessibleobject.h |
53 |
+@@ -27,8 +27,6 @@ namespace QAccessibleClient { |
54 |
+ class AccessibleObject; |
55 |
+ } |
56 |
+ |
57 |
+-uint qHash(const QAccessibleClient::AccessibleObject& object); |
58 |
+- |
59 |
+ #include <qlist.h> |
60 |
+ #include <QSharedPointer> |
61 |
+ #include <qaction.h> |
62 |
+@@ -40,6 +38,11 @@ namespace QAccessibleClient { |
63 |
+ class AccessibleObjectPrivate; |
64 |
+ class RegistryPrivate; |
65 |
+ |
66 |
++ |
67 |
++#ifndef QT_NO_DEBUG_STREAM |
68 |
++ QACCESSIBILITYCLIENT_EXPORT QDebug operator<<(QDebug, const AccessibleObject &); |
69 |
++#endif |
70 |
++ |
71 |
+ /** |
72 |
+ This class represents an accessible object. |
73 |
+ |
74 |
+@@ -746,13 +749,13 @@ private: |
75 |
+ friend class RegistryPrivate; |
76 |
+ friend class CacheWeakStrategy; |
77 |
+ friend class CacheStrongStrategy; |
78 |
+- friend QDebug QAccessibleClient::operator<<(QDebug, const AccessibleObject &); |
79 |
+- friend uint ::qHash(const AccessibleObject& object); |
80 |
+-}; |
81 |
+- |
82 |
+ #ifndef QT_NO_DEBUG_STREAM |
83 |
+-QACCESSIBILITYCLIENT_EXPORT QDebug operator<<(QDebug, const AccessibleObject &); |
84 |
++ friend QDebug QAccessibleClient::operator<<(QDebug, const AccessibleObject &); |
85 |
+ #endif |
86 |
++ friend uint qHash(const QAccessibleClient::AccessibleObject& object) { |
87 |
++ return qHash(object.d); |
88 |
++ } |
89 |
++}; |
90 |
+ |
91 |
+ } |
92 |
+ |
93 |
+diff --git a/tests/auto/tst_accessibilityclient.cpp b/tests/auto/tst_accessibilityclient.cpp |
94 |
+index ad98c0e..c377982 100644 |
95 |
+--- a/tests/auto/tst_accessibilityclient.cpp |
96 |
++++ b/tests/auto/tst_accessibilityclient.cpp |
97 |
+@@ -75,6 +75,7 @@ private Q_SLOTS: |
98 |
+ |
99 |
+ void tst_registry(); |
100 |
+ void tst_accessibleObject(); |
101 |
++ void tst_hashable(); |
102 |
+ void tst_application(); |
103 |
+ void tst_navigation(); |
104 |
+ void tst_focus(); |
105 |
+@@ -145,6 +146,14 @@ void AccessibilityClientTest::tst_accessibleObject() |
106 |
+ QVERIFY(!invalid2.isValid()); |
107 |
+ } |
108 |
+ |
109 |
++void AccessibilityClientTest::tst_hashable() |
110 |
++{ |
111 |
++ AccessibleObject testObject; |
112 |
++ QHash<AccessibleObject, int> testHash; |
113 |
++ testHash[testObject] = 1; |
114 |
++ QCOMPARE(testHash[testObject], 1); |
115 |
++} |
116 |
++ |
117 |
+ void AccessibilityClientTest::tst_application() |
118 |
+ { |
119 |
+ QString appName = QLatin1String("Lib QAccessibleClient test"); |
120 |
+-- |
121 |
+cgit v0.11.2 |
122 |
+ |
123 |
|
124 |
diff --git a/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild b/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild |
125 |
index de1d15f27a1..e18e8169c11 100644 |
126 |
--- a/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild |
127 |
+++ b/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild |
128 |
@@ -1,4 +1,4 @@ |
129 |
-# Copyright 1999-2017 Gentoo Foundation |
130 |
+# Copyright 1999-2018 Gentoo Foundation |
131 |
# Distributed under the terms of the GNU General Public License v2 |
132 |
|
133 |
EAPI=6 |
134 |
@@ -22,6 +22,8 @@ DEPEND=" |
135 |
" |
136 |
RDEPEND="${DEPEND}" |
137 |
|
138 |
+PATCHES=( "${FILESDIR}/${P}-gcc8.patch" ) |
139 |
+ |
140 |
src_prepare() { |
141 |
kde5_src_prepare |
142 |
cmake_comment_add_subdirectory tests |