summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-09-03 22:25:43 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2018-09-03 22:25:43 +0200
commit440760ba33c5090a70acc9f676affc3b80f96112 (patch)
treeeb33ac302671eb493942071e82a1828b100cbaa3
parentmedia-sound/cantata: Drop old (diff)
downloadgentoo-440760ba.tar.gz
gentoo-440760ba.tar.bz2
gentoo-440760ba.zip
media-libs/libqaccessibilityclient: Fix build with GCC-8
Closes: https://bugs.gentoo.org/665180 Package-Manager: Portage-2.3.49, Repoman-2.3.10
-rw-r--r--media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch100
-rw-r--r--media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild4
2 files changed, 103 insertions, 1 deletions
diff --git a/media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch b/media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch
new file mode 100644
index 000000000000..74c97982e4c7
--- /dev/null
+++ b/media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch
@@ -0,0 +1,100 @@
+From 34f6084ff3ba1dd025cae17e5d114caff1d7fa6f Mon Sep 17 00:00:00 2001
+From: Frederik Gladhorn <frederik.gladhorn@qt.io>
+Date: Tue, 25 Jul 2017 16:27:12 +0200
+Subject: Compile with clang and make sure qHash works with AccessibleObject
+
+Clang didn't like the complicated friend declaration. To make sure it's
+not broken again, add one test to verify that we can use AO in hashes,
+since apps might want to do that.
+---
+ src/qaccessibilityclient/accessibleobject.cpp | 4 ----
+ src/qaccessibilityclient/accessibleobject.h | 17 ++++++++++-------
+ tests/auto/tst_accessibilityclient.cpp | 9 +++++++++
+ 3 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/src/qaccessibilityclient/accessibleobject.cpp b/src/qaccessibilityclient/accessibleobject.cpp
+index b2b005b..b8c9d33 100644
+--- a/src/qaccessibilityclient/accessibleobject.cpp
++++ b/src/qaccessibilityclient/accessibleobject.cpp
+@@ -534,7 +534,3 @@ QACCESSIBILITYCLIENT_EXPORT QDebug QAccessibleClient::operator<<(QDebug d, const
+ return d.space();
+ }
+ #endif
+-
+-uint qHash(const QAccessibleClient::AccessibleObject& object) {
+- return qHash(object.d);
+-}
+diff --git a/src/qaccessibilityclient/accessibleobject.h b/src/qaccessibilityclient/accessibleobject.h
+index a0d0db4..ee2e5ad 100644
+--- a/src/qaccessibilityclient/accessibleobject.h
++++ b/src/qaccessibilityclient/accessibleobject.h
+@@ -27,8 +27,6 @@ namespace QAccessibleClient {
+ class AccessibleObject;
+ }
+
+-uint qHash(const QAccessibleClient::AccessibleObject& object);
+-
+ #include <qlist.h>
+ #include <QSharedPointer>
+ #include <qaction.h>
+@@ -40,6 +38,11 @@ namespace QAccessibleClient {
+ class AccessibleObjectPrivate;
+ class RegistryPrivate;
+
++
++#ifndef QT_NO_DEBUG_STREAM
++ QACCESSIBILITYCLIENT_EXPORT QDebug operator<<(QDebug, const AccessibleObject &);
++#endif
++
+ /**
+ This class represents an accessible object.
+
+@@ -746,13 +749,13 @@ private:
+ friend class RegistryPrivate;
+ friend class CacheWeakStrategy;
+ friend class CacheStrongStrategy;
+- friend QDebug QAccessibleClient::operator<<(QDebug, const AccessibleObject &);
+- friend uint ::qHash(const AccessibleObject& object);
+-};
+-
+ #ifndef QT_NO_DEBUG_STREAM
+-QACCESSIBILITYCLIENT_EXPORT QDebug operator<<(QDebug, const AccessibleObject &);
++ friend QDebug QAccessibleClient::operator<<(QDebug, const AccessibleObject &);
+ #endif
++ friend uint qHash(const QAccessibleClient::AccessibleObject& object) {
++ return qHash(object.d);
++ }
++};
+
+ }
+
+diff --git a/tests/auto/tst_accessibilityclient.cpp b/tests/auto/tst_accessibilityclient.cpp
+index ad98c0e..c377982 100644
+--- a/tests/auto/tst_accessibilityclient.cpp
++++ b/tests/auto/tst_accessibilityclient.cpp
+@@ -75,6 +75,7 @@ private Q_SLOTS:
+
+ void tst_registry();
+ void tst_accessibleObject();
++ void tst_hashable();
+ void tst_application();
+ void tst_navigation();
+ void tst_focus();
+@@ -145,6 +146,14 @@ void AccessibilityClientTest::tst_accessibleObject()
+ QVERIFY(!invalid2.isValid());
+ }
+
++void AccessibilityClientTest::tst_hashable()
++{
++ AccessibleObject testObject;
++ QHash<AccessibleObject, int> testHash;
++ testHash[testObject] = 1;
++ QCOMPARE(testHash[testObject], 1);
++}
++
+ void AccessibilityClientTest::tst_application()
+ {
+ QString appName = QLatin1String("Lib QAccessibleClient test");
+--
+cgit v0.11.2
+
diff --git a/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild b/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild
index de1d15f27a17..e18e8169c11e 100644
--- a/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild
+++ b/media-libs/libqaccessibilityclient/libqaccessibilityclient-0.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -22,6 +22,8 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=( "${FILESDIR}/${P}-gcc8.patch" )
+
src_prepare() {
kde5_src_prepare
cmake_comment_add_subdirectory tests