Date: Saturday, April 20, 2019 @ 19:54:26
  Author: arojas
Revision: 452344

archrelease: copy trunk to community-staging-x86_64

Added:
  deepin-qt5dxcb-plugin/repos/community-staging-x86_64/
  deepin-qt5dxcb-plugin/repos/community-staging-x86_64/PKGBUILD
    (from rev 452342, deepin-qt5dxcb-plugin/trunk/PKGBUILD)
  deepin-qt5dxcb-plugin/repos/community-staging-x86_64/qt-5.12.patch
    (from rev 452342, deepin-qt5dxcb-plugin/trunk/qt-5.12.patch)

---------------+
 PKGBUILD      |   35 ++++++++++++++++++++++++++++
 qt-5.12.patch |   68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 103 insertions(+)

Copied: deepin-qt5dxcb-plugin/repos/community-staging-x86_64/PKGBUILD (from rev 
452342, deepin-qt5dxcb-plugin/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD                           (rev 0)
+++ community-staging-x86_64/PKGBUILD   2019-04-20 19:54:26 UTC (rev 452344)
@@ -0,0 +1,35 @@
+# Maintainer: Felix Yan <felixonm...@archlinux.org>
+
+pkgname=deepin-qt5dxcb-plugin
+pkgver=1.1.26
+pkgrel=3
+pkgdesc='Qt platform plugins for DDE'
+arch=('x86_64')
+url="https://github.com/linuxdeepin/qt5dxcb-plugin";
+license=('GPL3')
+depends=('cairo' 'qt5-x11extras')
+makedepends=('qt5-xcb-private-headers' 'libglvnd')
+groups=('deepin')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/qt5dxcb-plugin/archive/$pkgver.tar.gz";
+        qt-5.12.patch)
+sha512sums=('8f796366d235437360c021c66c3532c2bb7e0f388acd89e1d4c20fbadf4734661d0aec19fdcf5ed4e299826d63cbdfb90def42305709ece10ba6efe55684e159'
+            
'0fc5d30bd9541e79db8991a2332ad0db6640d95067416f7b11c4cd7b6c1be2788e8f13f1ef989ddcd5ca57e3b798ac76d15d0f3081a811b6a7b6af7e0d39b691')
+
+prepare() {
+  cd qt5dxcb-plugin-$pkgver
+  patch -p1 -i ../qt-5.12.patch
+
+  rm -r platformplugin/libqt5xcbqpa-dev
+  sed -i 's|error(Not support Qt Version: .*)|INCLUDEPATH += 
/usr/include/qtxcb-private|' platformplugin/linux.pri
+}
+
+build() {
+  cd qt5dxcb-plugin-$pkgver
+  qmake-qt5 PREFIX=/usr
+  make
+}
+
+package() {
+  cd qt5dxcb-plugin-$pkgver
+  make INSTALL_ROOT="$pkgdir" install
+}

Copied: deepin-qt5dxcb-plugin/repos/community-staging-x86_64/qt-5.12.patch 
(from rev 452342, deepin-qt5dxcb-plugin/trunk/qt-5.12.patch)
===================================================================
--- community-staging-x86_64/qt-5.12.patch                              (rev 0)
+++ community-staging-x86_64/qt-5.12.patch      2019-04-20 19:54:26 UTC (rev 
452344)
@@ -0,0 +1,68 @@
+commit 1caec58eff37ae23a9461c74362a1c31ef0d2d86
+Author: Felix Yan <felixonm...@archlinux.org>
+Date:   Sun Apr 21 03:01:16 2019 +0800
+
+    fix: compatibility with Qt 5.12+
+    
+    Change-Id: Ied6745da56fa3a873d66a2d8e5385cd17c2fb273
+
+diff --git a/platformplugin/xcbnativeeventfilter.cpp 
b/platformplugin/xcbnativeeventfilter.cpp
+index 9df7d33..fc3045a 100644
+--- a/platformplugin/xcbnativeeventfilter.cpp
++++ b/platformplugin/xcbnativeeventfilter.cpp
+@@ -90,7 +90,7 @@ bool XcbNativeEventFilter::nativeEventFilter(const 
QByteArray &eventType, void *
+ #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
+     if (response_type == m_connection->xfixes_first_event + 
XCB_XFIXES_SELECTION_NOTIFY) {
+ #else
+-    if (response_type == m_connection->m_xfixesFirstEvent + 
XCB_XFIXES_SELECTION_NOTIFY) {
++    if (m_connection->isXFixesType(response_type, 
XCB_XFIXES_SELECTION_NOTIFY)) {
+ #endif
+         xcb_xfixes_selection_notify_event_t *xsn = 
(xcb_xfixes_selection_notify_event_t *)event;
+ 
+@@ -227,8 +227,13 @@ bool XcbNativeEventFilter::nativeEventFilter(const 
QByteArray &eventType, void *
+ #endif
+         default:
+             static auto updateScaleLogcailDpi = 
qApp->property("_d_updateScaleLogcailDpi").toULongLong();
++#if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
+             if (updateScaleLogcailDpi && 
DPlatformIntegration::xcbConnection()->has_randr_extension
+                     && response_type == 
DPlatformIntegration::xcbConnection()->xrandr_first_event + XCB_RANDR_NOTIFY) {
++#else
++            if (updateScaleLogcailDpi && 
DPlatformIntegration::xcbConnection()->hasXRender()
++                    && 
DPlatformIntegration::xcbConnection()->isXRandrType(response_type, 
XCB_RANDR_NOTIFY)) {
++#endif
+                 xcb_randr_notify_event_t *e = 
reinterpret_cast<xcb_randr_notify_event_t *>(event);
+                 xcb_randr_output_change_t output = e->u.oc;
+ 
+commit f5fe61fb6a641f8f34f6e916b6dda27657266646
+Author: Felix Yan <felixonm...@archlinux.org>
+Date:   Sun Apr 21 03:15:51 2019 +0800
+
+    fix: do not use methods because symbols are not exported
+    
+    Change-Id: Icfd0ad87bc01f69a8e9cc2ec9e38ee27be54c016
+
+diff --git a/platformplugin/xcbnativeeventfilter.cpp 
b/platformplugin/xcbnativeeventfilter.cpp
+index fc3045a..abf3d0a 100644
+--- a/platformplugin/xcbnativeeventfilter.cpp
++++ b/platformplugin/xcbnativeeventfilter.cpp
+@@ -90,7 +90,8 @@ bool XcbNativeEventFilter::nativeEventFilter(const 
QByteArray &eventType, void *
+ #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
+     if (response_type == m_connection->xfixes_first_event + 
XCB_XFIXES_SELECTION_NOTIFY) {
+ #else
+-    if (m_connection->isXFixesType(response_type, 
XCB_XFIXES_SELECTION_NOTIFY)) {
++    // cannot use isXFixesType because symbols from QXcbBasicConnection are 
not exported
++    if (response_type == m_connection->m_xfixesFirstEvent + 
XCB_XFIXES_SELECTION_NOTIFY) {
+ #endif
+         xcb_xfixes_selection_notify_event_t *xsn = 
(xcb_xfixes_selection_notify_event_t *)event;
+ 
+@@ -231,8 +232,9 @@ bool XcbNativeEventFilter::nativeEventFilter(const 
QByteArray &eventType, void *
+             if (updateScaleLogcailDpi && 
DPlatformIntegration::xcbConnection()->has_randr_extension
+                     && response_type == 
DPlatformIntegration::xcbConnection()->xrandr_first_event + XCB_RANDR_NOTIFY) {
+ #else
++            // cannot use isXRandrType because symbols from 
QXcbBasicConnection are not exported
+             if (updateScaleLogcailDpi && 
DPlatformIntegration::xcbConnection()->hasXRender()
+-                    && 
DPlatformIntegration::xcbConnection()->isXRandrType(response_type, 
XCB_RANDR_NOTIFY)) {
++                    && response_type == 
DPlatformIntegration::xcbConnection()->m_xrandrFirstEvent + XCB_RANDR_NOTIFY) {
+ #endif
+                 xcb_randr_notify_event_t *e = 
reinterpret_cast<xcb_randr_notify_event_t *>(event);
+                 xcb_randr_output_change_t output = e->u.oc;

Reply via email to