diff options
author | Grey Christoforo | 2015-08-23 15:51:36 +0100 |
---|---|---|
committer | Grey Christoforo | 2015-08-23 15:51:36 +0100 |
commit | 5eaeefa0795af37e72cffee60f5b3e385d3bf913 (patch) | |
tree | 2db65fb74000af0374c1a9037640c3de5fc57d32 | |
parent | 918d98e89166d154aee8031d0fa8b9b227363027 (diff) | |
download | aur-5eaeefa0795af37e72cffee60f5b3e385d3bf913.tar.gz |
add patch to fix qt5 issue
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | qt5.patch | 149 |
3 files changed, 159 insertions, 2 deletions
@@ -14,7 +14,9 @@ pkgbase = uranium depends = python-numpy depends = arcus source = https://github.com/Ultimaker/uranium/archive/15.06.03.tar.gz + source = qt5.patch md5sums = 60c583b462494c2de015a678ba134eb3 + md5sums = e4975dddd0524845b9574b4142274f5a pkgname = uranium @@ -9,8 +9,14 @@ arch=('i686' 'x86_64') license=('GPLv3') depends=('python' 'qt5-quickcontrols' 'pyqt5-common' 'python-pyqt5' 'python-numpy' 'arcus') makedepends=('cmake') -source=("https://github.com/Ultimaker/${pkgname}/archive/${pkgver}.tar.gz") -md5sums=('60c583b462494c2de015a678ba134eb3') +source=("https://github.com/Ultimaker/${pkgname}/archive/${pkgver}.tar.gz" qt5.patch) +md5sums=('60c583b462494c2de015a678ba134eb3' + 'e4975dddd0524845b9574b4142274f5a') + +prepare(){ + cd Uranium-${pkgver} + patch -Np1 -i ../qt5.patch +} build() { cd Uranium-${pkgver} diff --git a/qt5.patch b/qt5.patch new file mode 100644 index 000000000000..cee63bf90f98 --- /dev/null +++ b/qt5.patch @@ -0,0 +1,149 @@ +From 041ae0ee89b9af5a53c20589a51c70a7a9e761d7 Mon Sep 17 00:00:00 2001 +From: Arjen Hiemstra <ahiemstra@heimr.nl> +Date: Thu, 23 Jul 2015 16:37:07 +0200 +Subject: [PATCH] Fix issues related to PyQt 5.5 + +--- + UM/Qt/Bindings/AngledCornerRectangle.py | 63 +++++++++++++++++++-------------- + UM/Qt/ListModel.py | 14 ++++---- + 2 files changed, 44 insertions(+), 33 deletions(-) + +diff --git a/UM/Qt/Bindings/AngledCornerRectangle.py b/UM/Qt/Bindings/AngledCornerRectangle.py +index 00481b5..e6b01dd 100644 +--- a/UM/Qt/Bindings/AngledCornerRectangle.py ++++ b/UM/Qt/Bindings/AngledCornerRectangle.py +@@ -1,7 +1,7 @@ + # Copyright (c) 2015 Ultimaker B.V. + # Uranium is released under the terms of the AGPLv3 or higher. + +-from PyQt5.QtCore import pyqtSlot, pyqtProperty, pyqtSignal ++from PyQt5.QtCore import pyqtSlot, pyqtProperty, pyqtSignal, PYQT_VERSION + from PyQt5.QtGui import QColor + from PyQt5.QtQuick import QQuickItem, QSGGeometryNode, QSGGeometry, QSGFlatColorMaterial, QSGSimpleRectNode + +@@ -17,6 +17,7 @@ def __init__(self, parent = None): + self._geometry = None + self._material = None + self._node = None ++ self._attributes = None + + def getCornerSize(self): + return self._corner_size +@@ -43,38 +44,46 @@ def color(self): + return self._color + + def updatePaintNode(self, paint_node, update_data): +- self._node = QSGGeometryNode() ++ if PYQT_VERSION < 0x050500: ++ self._node = QSGGeometryNode() + +- self._geometry = QSGGeometry(QSGGeometry.defaultAttributes_Point2D(), 6, 12) +- self._geometry.setDrawingMode(0x0004) +- self._geometry.vertexDataAsPoint2D()[0].set(self._corner_size, 0) +- self._geometry.vertexDataAsPoint2D()[1].set(0, self._corner_size) +- self._geometry.vertexDataAsPoint2D()[2].set(0, self.height()) +- self._geometry.vertexDataAsPoint2D()[3].set(self.width() - self._corner_size, self.height()) +- self._geometry.vertexDataAsPoint2D()[4].set(self.width(), self.height() - self._corner_size) +- self._geometry.vertexDataAsPoint2D()[5].set(self.width(), 0) ++ attribs = QSGGeometry.defaultAttributes_Point2D() ++ self._geometry = QSGGeometry(attribs, 6, 12) ++ self._geometry.setDrawingMode(0x0004) ++ self._geometry.vertexDataAsPoint2D()[0].set(self._corner_size, 0) ++ self._geometry.vertexDataAsPoint2D()[1].set(0, self._corner_size) ++ self._geometry.vertexDataAsPoint2D()[2].set(0, self.height()) ++ self._geometry.vertexDataAsPoint2D()[3].set(self.width() - self._corner_size, self.height()) ++ self._geometry.vertexDataAsPoint2D()[4].set(self.width(), self.height() - self._corner_size) ++ self._geometry.vertexDataAsPoint2D()[5].set(self.width(), 0) + +- self._geometry.indexDataAsUShort()[0] = 0 +- self._geometry.indexDataAsUShort()[1] = 1 +- self._geometry.indexDataAsUShort()[2] = 2 ++ self._geometry.indexDataAsUShort()[0] = 0 ++ self._geometry.indexDataAsUShort()[1] = 1 ++ self._geometry.indexDataAsUShort()[2] = 2 + +- self._geometry.indexDataAsUShort()[3] = 0 +- self._geometry.indexDataAsUShort()[4] = 2 +- self._geometry.indexDataAsUShort()[5] = 3 ++ self._geometry.indexDataAsUShort()[3] = 0 ++ self._geometry.indexDataAsUShort()[4] = 2 ++ self._geometry.indexDataAsUShort()[5] = 3 + +- self._geometry.indexDataAsUShort()[6] = 0 +- self._geometry.indexDataAsUShort()[7] = 3 +- self._geometry.indexDataAsUShort()[8] = 4 ++ self._geometry.indexDataAsUShort()[6] = 0 ++ self._geometry.indexDataAsUShort()[7] = 3 ++ self._geometry.indexDataAsUShort()[8] = 4 + +- self._geometry.indexDataAsUShort()[9] = 0 +- self._geometry.indexDataAsUShort()[10] = 4 +- self._geometry.indexDataAsUShort()[11] = 5 ++ self._geometry.indexDataAsUShort()[9] = 0 ++ self._geometry.indexDataAsUShort()[10] = 4 ++ self._geometry.indexDataAsUShort()[11] = 5 + +- self._node.setGeometry(self._geometry) ++ self._node.setGeometry(self._geometry) + +- self._material = QSGFlatColorMaterial() +- self._material.setColor(self._color) ++ self._material = QSGFlatColorMaterial() ++ self._material.setColor(self._color) + +- self._node.setMaterial(self._material) ++ self._node.setMaterial(self._material) ++ else: ++ if paint_node is None: ++ paint_node = QSGSimpleRectNode() + +- return self._node ++ paint_node.setRect(0, 0, self.width(), self.height()) ++ paint_node.setColor(self._color) ++ ++ return paint_node +diff --git a/UM/Qt/ListModel.py b/UM/Qt/ListModel.py +index c2fb363..5d71bc5 100644 +--- a/UM/Qt/ListModel.py ++++ b/UM/Qt/ListModel.py +@@ -1,7 +1,7 @@ + # Copyright (c) 2015 Ultimaker B.V. + # Uranium is released under the terms of the AGPLv3 or higher. + +-from PyQt5.QtCore import QObject, QAbstractListModel, QVariant, QModelIndex, pyqtSlot, pyqtProperty ++from PyQt5.QtCore import QObject, QAbstractListModel, QVariant, QModelIndex, pyqtSlot, pyqtProperty, QByteArray + + ## Convenience base class for models of a list of items. + # +@@ -21,16 +21,18 @@ def rowCount(self, parent = None): + return len(self._items) + + def addRoleName(self,role,name): +- self._role_names[role] = name +- ++ # Qt roleNames expects a QByteArray. PyQt 5.5 does not convert str to bytearray implicitly so ++ # force the conversion manually. ++ self._role_names[role] = name.encode("utf-8") ++ + def roleNames(self): + return self._role_names +- ++ + ## Reimplemented from QAbstractListModel + def data(self, index, role): + if not index.isValid(): + return QVariant() +- return self._items[index.row()][self._role_names[role]] ++ return self._items[index.row()][self._role_names[role].decode("utf-8")] + + ## Get an item from the list + @pyqtSlot(int, result="QVariantMap") +@@ -70,7 +72,7 @@ def clear(self): + self.beginResetModel() + self._items.clear() + self.endResetModel() +- ++ + @pyqtSlot(int, str, QVariant) + def setProperty(self, index, property, value): + self._items[index][property] = value |