summaryrefslogtreecommitdiff
path: root/extra/pyqt
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-07-23 18:13:37 +0200
committerMichał Masłowski <mtjm@mtjm.eu>2012-07-23 18:13:37 +0200
commitcc565b7309a5708f2375b5f6926d173fd122119d (patch)
treec1d4adcda7f0b767537620aea02633158e17218a /extra/pyqt
parentc25ed1401d3fa3dd6827c33bc11b660dcd425f23 (diff)
parenta65eb6fe2ea0ffa22c65de34506c88aeeb3c88ee (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community-testing/electricsheep/PKGBUILD community/bitcoin/PKGBUILD community/gnash/PKGBUILD community/mongodb/PKGBUILD community/xmlrpc-c/PKGBUILD community/xmoto/PKGBUILD core/kbd/PKGBUILD extra/elfutils/PKGBUILD extra/gtk2/PKGBUILD extra/hddtemp/PKGBUILD extra/libpst/PKGBUILD extra/mkvtoolnix/PKGBUILD extra/php-apc/PKGBUILD extra/pulseaudio/PKGBUILD extra/pyqt/PKGBUILD extra/quota-tools/PKGBUILD extra/rhythmbox/PKGBUILD extra/virtuoso/PKGBUILD extra/vlc/PKGBUILD extra/xf86-video-siliconmotion/PKGBUILD kde-unstable/soprano/PKGBUILD libre/epdfview-libre/PKGBUILD libre/pacman/PKGBUILD multilib/lib32-libpulse/PKGBUILD multilib/wine/PKGBUILD multilib/zsnes/PKGBUILD testing/bash/PKGBUILD testing/bison/PKGBUILD testing/dbus-core/PKGBUILD testing/dbus/PKGBUILD testing/readline/PKGBUILD testing/systemd/PKGBUILD
Diffstat (limited to 'extra/pyqt')
-rw-r--r--extra/pyqt/PKGBUILD16
-rw-r--r--extra/pyqt/fix-pyuic4.patch91
2 files changed, 102 insertions, 5 deletions
diff --git a/extra/pyqt/PKGBUILD b/extra/pyqt/PKGBUILD
index c2d6b4ff0..ba1efbddd 100644
--- a/extra/pyqt/PKGBUILD
+++ b/extra/pyqt/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 162740 2012-06-29 11:34:16Z andrea $
+# $Id: PKGBUILD 163679 2012-07-17 18:11:04Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
@@ -6,17 +6,23 @@
pkgbase=pyqt
pkgname=('pyqt-common' 'pyqt' 'python2-pyqt')
pkgver=4.9.4
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
license=('GPL')
makedepends=('qt' 'python-sip' 'python-dbus' 'python2-sip' 'phonon'
'python-opengl' 'qt-assistant-compat' 'qtwebkit' 'python2-dbus')
- source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz")
-md5sums=('a0b6a820633366365af5124ddbd059c7')
+source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz"
+ 'fix-pyuic4.patch')
+md5sums=('a0b6a820633366365af5124ddbd059c7'
+ '097651aea0bafded5abdfd6d62afd2ad')
build() {
- cd "${srcdir}"
+ # FS#30728
+ cd "${srcdir}"/PyQt-x11-gpl-${pkgver}
+ patch -p1 -i "${srcdir}"/fix-pyuic4.patch
+ cd ..
+
cp -r PyQt-x11-gpl-${pkgver} Py2Qt-x11-gpl-${pkgver}
cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
diff --git a/extra/pyqt/fix-pyuic4.patch b/extra/pyqt/fix-pyuic4.patch
new file mode 100644
index 000000000..2173443d8
--- /dev/null
+++ b/extra/pyqt/fix-pyuic4.patch
@@ -0,0 +1,91 @@
+# HG changeset patch
+# User Phil Thompson <phil at riverbankcomputing.com>
+# Date 2012-07-13 13:39:28 +0100
+# Node ID 29b668ada14c1428a3bbfe8f0324c6626bd5ac9a
+# Parent fd0f3da9d79ca9858d10a20c15fb85456cb832d7
+Fixed a regression in pyuic's handling of custom widgets.
+
+diff --git a/pyuic/uic/Compiler/qobjectcreator.py b/pyuic/uic/Compiler/qobjectcreator.py
+--- a/pyuic/uic/Compiler/qobjectcreator.py
++++ b/pyuic/uic/Compiler/qobjectcreator.py
+@@ -1,6 +1,6 @@
+ #############################################################################
+ ##
+-## Copyright (C) 2011 Riverbank Computing Limited.
++## Copyright (C) 2012 Riverbank Computing Limited.
+ ## Copyright (C) 2006 Thorsten Marek.
+ ## All right reserved.
+ ##
+@@ -100,7 +100,6 @@
+ assert widgetClass not in self._widgets
+ self._widgets[widgetClass] = (baseClass, module)
+
+-
+ def _resolveBaseclass(self, baseClass):
+ try:
+ for x in range(0, 10):
+@@ -114,19 +113,17 @@
+ except KeyError:
+ raise ValueError("unknown baseclass %s" % baseClass)
+
+-
+ def search(self, cls):
+ try:
+- self._usedWidgets.add(cls)
+ baseClass = self._resolveBaseclass(self._widgets[cls][0])
+ DEBUG("resolved baseclass of %s: %s" % (cls, baseClass))
+-
+- return type(cls, (baseClass,),
+- {"module" : ""})
+-
+ except KeyError:
+ return None
+
++ self._usedWidgets.add(cls)
++
++ return type(cls, (baseClass, ), {"module" : ""})
++
+ def _writeImportCode(self):
+ imports = {}
+ for widget in self._usedWidgets:
+diff --git a/pyuic/uic/objcreator.py b/pyuic/uic/objcreator.py
+--- a/pyuic/uic/objcreator.py
++++ b/pyuic/uic/objcreator.py
+@@ -102,19 +102,26 @@
+ self._modules.append(self._customWidgets)
+
+ def createQObject(self, classname, *args, **kwargs):
+- # Handle scoped names, typically static factory methods.
+- parts = classname.split('.')
+- factory = self.findQObjectType(parts[0])
++ # Handle regular and custom widgets.
++ factory = self.findQObjectType(classname)
+
+- if factory is not None:
+- for part in parts[1:]:
+- factory = getattr(factory, part, None)
+- if factory is None:
+- break
+- else:
+- return self._cpolicy.instantiate(factory, *args, **kwargs)
++ if factory is None:
++ # Handle scoped names, typically static factory methods.
++ parts = classname.split('.')
+
+- raise NoSuchWidgetError(classname)
++ if len(parts) > 1:
++ factory = self.findQObjectType(parts[0])
++
++ if factory is not None:
++ for part in parts[1:]:
++ factory = getattr(factory, part, None)
++ if factory is None:
++ break
++
++ if factory is None:
++ raise NoSuchWidgetError(classname)
++
++ return self._cpolicy.instantiate(factory, *args, **kwargs)
+
+ def invoke(self, rname, method, args=()):
+ return self._cpolicy.invoke(rname, method, args)