dev-util/kdevelop-pg-qt: Fix build against Qt 5.14.0
authorAndreas Sturmlechner <asturm@gentoo.org>
Sat, 26 Oct 2019 12:15:57 +0000 (14:15 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 26 Oct 2019 12:41:23 +0000 (14:41 +0200)
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
dev-util/kdevelop-pg-qt/files/kdevelop-pg-qt-2.2.0-qt-5.14.patch [new file with mode: 0644]
dev-util/kdevelop-pg-qt/kdevelop-pg-qt-2.2.0.ebuild

diff --git a/dev-util/kdevelop-pg-qt/files/kdevelop-pg-qt-2.2.0-qt-5.14.patch b/dev-util/kdevelop-pg-qt/files/kdevelop-pg-qt-2.2.0-qt-5.14.patch
new file mode 100644 (file)
index 0000000..5a4dec3
--- /dev/null
@@ -0,0 +1,60 @@
+From d05d0b19e9d6f47fee3e11d837c2c21125589763 Mon Sep 17 00:00:00 2001
+From: Alexey Min <alexey.min@gmail.com>
+Date: Thu, 24 Oct 2019 14:34:45 +0300
+Subject: Fix build with Qt 5.14
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Summary:
+Trying to build kdevelop-pg-qt with Qt 5.14 results in an error:
+```
+.../kdev-pg/kdev-pg-regexp.cpp:44:23: error: redefinition of ‘struct std::hash<QBitArray>’
+     template<> struct hash< type >                          \
+                       ^~~~~~~~~~~~
+.../kdev-pg/kdev-pg-regexp.cpp:53:1: note: in expansion of macro ‘q_Hash_to_tr1_hash’
+ q_Hash_to_tr1_hash(QBitArray)
+ ^~~~~~~~~~~~~~~~~~
+In file included from .../prefix514/include/QtCore/qvector.h:47:0,
+                 from .../prefix514/include/QtCore/QVector:1,
+                 from .../kdevelop-pg-qt/include/kdev-pg-char-sets.h:36,
+                 from .../kdevelop-pg-qt/kdev-pg/kdev-pg-regexp.cpp:20:
+.../prefix514/include/QtCore/qhashfunctions.h:209:1: note: previous definition of ‘struct std::hash<QBitArray>’
+ QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH_BY_CREF(QBitArray)
+ ^
+```
+
+std::hash<QBitArray> is already specialized in Qt 5.14, so avoid redefinition with conditional compilation
+
+Test Plan: try to build with Qt 5.14
+
+Reviewers: apol
+
+Reviewed By: apol
+
+Subscribers: kdevelop-devel
+
+Tags: #kdevelop
+
+Differential Revision: https://phabricator.kde.org/D24914
+---
+ kdev-pg/kdev-pg-regexp.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/kdev-pg/kdev-pg-regexp.cpp b/kdev-pg/kdev-pg-regexp.cpp
+index 8cc0b95..9fee81c 100644
+--- a/kdev-pg/kdev-pg-regexp.cpp
++++ b/kdev-pg/kdev-pg-regexp.cpp
+@@ -50,7 +50,10 @@ namespace std                                               \
+     };                                                      \
+ }
++#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
++// Qt >= 5.14 already has std::hash for QBitArray
+ q_Hash_to_tr1_hash(QBitArray)
++#endif
+ namespace KDevPG
+ {
+-- 
+cgit v1.1
index 05aa96fc8afde72ede4f06055b7b862169639b3e..4fac1ce848d0d66da21afdc8343e5b5db6bbbee1 100644 (file)
@@ -16,6 +16,8 @@ HOMEPAGE="https://www.kdevelop.org/"
 LICENSE="LGPL-2+ LGPL-2.1+"
 IUSE=""
 
+PATCHES=( "${FILESDIR}/${P}-qt-5.14.patch" )
+
 BDEPEND="
        sys-devel/bison
        sys-devel/flex