From 440760ba33c5090a70acc9f676affc3b80f96112 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Mon, 3 Sep 2018 22:25:43 +0200 Subject: [PATCH] media-libs/libqaccessibilityclient: Fix build with GCC-8 Closes: https://bugs.gentoo.org/665180 Package-Manager: Portage-2.3.49, Repoman-2.3.10 --- .../libqaccessibilityclient-0.2.0-gcc8.patch | 100 ++++++++++++++++++ .../libqaccessibilityclient-0.2.0.ebuild | 4 +- 2 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 media-libs/libqaccessibilityclient/files/libqaccessibilityclient-0.2.0-gcc8.patch 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 +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 + #include + #include +@@ -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 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 -- 2.26.2