From c7086701331066727aabebd31b5998e6f81c6183 Mon Sep 17 00:00:00 2001
From: Alessio Sergi <al3hex@gmail.com>
Date: Sun, 16 Nov 2014 02:06:46 +0100
Subject: [PATCH] python-PyQt4: update to 4.11.3

---
 srcpkgs/python-PyQt4-phonon                   |  1 +
 srcpkgs/python-PyQt4/files/pyuic4             |  3 -
 .../patches/disable-pyuic4-wrapper.patch      | 53 ---------------
 srcpkgs/python-PyQt4/template                 | 66 ++++++++++++-------
 srcpkgs/python3.4-PyQt4-phonon                |  1 +
 5 files changed, 46 insertions(+), 78 deletions(-)
 create mode 120000 srcpkgs/python-PyQt4-phonon
 delete mode 100644 srcpkgs/python-PyQt4/files/pyuic4
 delete mode 100644 srcpkgs/python-PyQt4/patches/disable-pyuic4-wrapper.patch
 create mode 120000 srcpkgs/python3.4-PyQt4-phonon

diff --git a/srcpkgs/python-PyQt4-phonon b/srcpkgs/python-PyQt4-phonon
new file mode 120000
index 00000000000..fe02248deea
--- /dev/null
+++ b/srcpkgs/python-PyQt4-phonon
@@ -0,0 +1 @@
+python-PyQt4
\ No newline at end of file
diff --git a/srcpkgs/python-PyQt4/files/pyuic4 b/srcpkgs/python-PyQt4/files/pyuic4
deleted file mode 100644
index 228ee0ce8e2..00000000000
--- a/srcpkgs/python-PyQt4/files/pyuic4
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env python
-# there's no main function, so just import the module
-import PyQt4.uic.pyuic
diff --git a/srcpkgs/python-PyQt4/patches/disable-pyuic4-wrapper.patch b/srcpkgs/python-PyQt4/patches/disable-pyuic4-wrapper.patch
deleted file mode 100644
index 7607d8f18ab..00000000000
--- a/srcpkgs/python-PyQt4/patches/disable-pyuic4-wrapper.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- configure-ng.py.orig	2014-09-11 19:36:11.000000000 +0200
-+++ configure-ng.py	2014-10-21 00:47:10.948729709 +0200
-@@ -1355,9 +1355,6 @@
-             generate_application_makefile(target_config, verbose, tool)
-             subdirs.append(tool)
-
--        # Generate the pyuic4 wrapper.
--        pyuic_wrapper = generate_pyuic4_wrapper(target_config)
--
-     # Generate the Qt Designer plugin.
-     if not target_config.no_designer_plugin and 'QtDesigner' in target_config.pyqt_modules:
-         if generate_plugin_makefile(target_config, verbose, 'designer', target_config.designer_plugin_dir, "Qt Designer"):
-@@ -1412,20 +1409,13 @@
- INSTALLS += init_py
- ''' % (' '.join(subdirs), source_path('__init__.py'), target_config.pyqt_module_dir))
-
--    # Install the uic module and the pyuic4 wrapper.
-+    # Install the uic module.
-     out_f.write('''
- uic_package.files = %s
- uic_package.path = %s/PyQt4
- INSTALLS += uic_package
- ''' % (source_path('pyuic', 'uic'), target_config.pyqt_module_dir))
-
--    if not target_config.no_tools:
--        out_f.write('''
--pyuic4.files = %s
--pyuic4.path = %s
--INSTALLS += pyuic4
--''' % (pyuic_wrapper, target_config.pyqt_bin_dir))
--
-     # Install the QScintilla .api file.
-     if target_config.qsci_api:
-         out_f.write('''
-@@ -1444,18 +1434,6 @@
-
-     out_f.close()
-
--    # Make the pyuic4 wrapper executable on platforms that support it.  This
--    # means that qmake will try and strip it after installing it resulting in
--    # an (ignored) error.  However if we did it after running qmake then (on
--    # Linux) the execute bits would be stripped on installation.
--    if not target_config.no_tools and target_config.py_platform != 'win32':
--        inform("Making the %s wrapper executable..." % pyuic_wrapper)
--
--        sbuf = os.stat(pyuic_wrapper)
--        mode = sbuf.st_mode
--        mode |= (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
--        os.chmod(pyuic_wrapper, mode)
--
-     # Generate the top-level makefile.
-     inform("Generating the top-level Makefile...")
-     run_qmake(target_config, verbose, toplevel_pro)
diff --git a/srcpkgs/python-PyQt4/template b/srcpkgs/python-PyQt4/template
index e50f33cd203..6c95c99968e 100644
--- a/srcpkgs/python-PyQt4/template
+++ b/srcpkgs/python-PyQt4/template
@@ -1,30 +1,33 @@
 # Template file for 'python-PyQt4'
 pkgname=python-PyQt4
-version=4.11.2
+version=4.11.3
 revision=1
 wrksrc="PyQt-x11-gpl-${version}"
-maintainer="Dominik Honnef <dominik@honnef.co>"
-hostmakedepends="
- python-devel python3.4-devel python-sip-devel python3.4-sip-devel qt-qmake qt-devel"
-makedepends="${hostmakedepends}"
-depends="python-sip"
+hostmakedepends="pkg-config python-devel python3.4-devel"
+makedepends="${hostmakedepends} python-sip-devel python3.4-sip-devel
+ qt-qmake qt-devel dbus-devel python-dbus-devel MesaLib-devel phonon-devel"
+depends="python-sip python-dbus"
 replaces="python-PyQt4<4.11.1_2"
-license="GPL-2, GPL-3"
+short_desc="Python2 bindings for the Qt4 toolkit"
+maintainer="Alessio Sergi <al3hex@gmail.com>"
 homepage="http://www.riverbankcomputing.co.uk/software/pyqt/intro"
 update_pkgname="PyQt-x11-gpl"
-short_desc="Python2 bindings for the Qt4 toolkit"
+license="GPL-2, GPL-3"
 distfiles="${SOURCEFORGE_SITE}/pyqt/PyQt-x11-gpl-${version}.tar.gz"
-checksum=05dfc4060d25f81e5d45fb020ad59d21af7dc4c01ace4d2b37f3b49493d03f6e
+checksum=853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686
 
-_do_pyqt_build() {
-	local v=$1 tools=${2:-yes} suffix=$3 tools_flag
-	[[ "$tools" != "yes" ]] && tools_flag="--no-tools"
+_do_pyqt4_build() {
+	local pyver=${1:-2.7} pysufx= tools=
 
-	python${v} configure-ng.py \
-		--confirm-license --assume-shared $tools_flag \
+	if [ "$pyver" != "2.7" ]; then
+		pysufx="m"
+		tools="--no-tools"
+	fi
+
+	python${pyver} configure-ng.py --confirm-license --assume-shared $tools \
 		CC="${CC}" CFLAGS="${CFLAGS}" CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
 		LINK="${CXX}" LINK_SHLIB="${CXX}" LFLAGS="${LDFLAGS}" STRIP="" \
-		INCDIR="${XBPS_CROSS_BASE}/usr/include/python${v}${suffix}"
+		INCDIR="${XBPS_CROSS_BASE}/usr/include/python${pyver}${pysufx}"
 	make ${makejobs}
 }
 
@@ -41,11 +44,12 @@ pre_build() {
 
 do_build() {
 	# build python-pyqt4
-	_do_pyqt_build 2.7
+	cd ${wrksrc}
+	_do_pyqt4_build
 
 	# build python3.4-pyqt4
 	cd ${wrksrc}/python3.4-PyQt4-build
-	_do_pyqt_build 3.4 no "m"
+	_do_pyqt4_build 3.4
 }
 
 do_install() {
@@ -62,8 +66,9 @@ do_install() {
 }
 
 post_install() {
-	# install pyuic4 wrapper
-	vbin ${FILESDIR}/pyuic4
+	# install python3-pyuic4 wrapper
+	sed -i 's,python2.7,python3.4,g' pyuic4
+	vbin pyuic4 python3-pyuic4
 }
 
 python-PyQt4-devel-tools_package() {
@@ -73,19 +78,27 @@ python-PyQt4-devel-tools_package() {
 	pkg_install() {
 		vmove usr/bin/pylupdate4
 		vmove usr/bin/pyrcc4
-		vmove usr/bin/pyuic4
 	}
 }
 
 python-PyQt4-devel_package() {
 	replaces="python-PyQt4<4.11.1_2"
-	depends="python-sip-devel ${sourcepkg}>=${version}_${revision}"
+	depends="python-sip-devel python3.4-sip-devel
+	 python-PyQt4>=${version}_${revision} python3.4-PyQt4>=${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/share/sip
 	}
 }
 
+python-PyQt4-phonon_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - Python2 bindings for Phonon"
+	pkg_install() {
+		vmove usr/lib/python2.7/site-packages/PyQt4/phonon.so
+	}
+}
+
 python-PyQt4-doc_package() {
 	noarch=yes
 	replaces="python-PyQt4<4.11.1_2"
@@ -97,9 +110,18 @@ python-PyQt4-doc_package() {
 
 python3.4-PyQt4_package() {
 	replaces="python3.4-PyQt4<4.11.1_2"
-	depends="python3.4-sip"
+	depends="python3.4-sip python3.4-dbus"
 	short_desc="${short_desc/Python2/Python3.4}"
 	pkg_install() {
+		vmove usr/bin/python3-pyuic4
 		vmove usr/lib/python3.4
 	}
 }
+
+python3.4-PyQt4-phonon_package() {
+	depends="python3.4-PyQt4>=${version}_${revision}"
+	short_desc+=" - Python3.4 bindings for Phonon"
+	pkg_install() {
+		vmove usr/lib/python3.4/site-packages/PyQt4/phonon.so
+	}
+}
diff --git a/srcpkgs/python3.4-PyQt4-phonon b/srcpkgs/python3.4-PyQt4-phonon
new file mode 120000
index 00000000000..fe02248deea
--- /dev/null
+++ b/srcpkgs/python3.4-PyQt4-phonon
@@ -0,0 +1 @@
+python-PyQt4
\ No newline at end of file