1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# $Id: PKGBUILD 291120 2017-03-20 15:54:10Z arojas $
# Maintainer (Arch): Felix Yan <felixonmars@archlinux.org>
# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org>
# Contributor (Arch): Yichao Yu <yyc1992@gmail.com>
# Contributor (Arch): Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor (Arch): riai <riai@bigfoot.com> Ben <ben@benmazer.net>
# Maintainer: André Silva <emulatorman@parabola.nu>
# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
# Rationale: build without support for nonfree qt5-webengine.
#
# Differences between extra/pyqt5 and this:
# - We a apply opengles-hack.patch on ARM
# - We don't list qt5-webengine as a dependency. The configure
# script will pick up on it not being there, and automatically
# disable that module.
# - We apply a patch to the configure to make it print which modules
# it decides to enable/disable, so the package maintainer can tell
# if something went wrong earlier.
pkgbase=pyqt5
pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5')
pkgver=5.8
_pkgver=$pkgver
pkgrel=2.parabola2
arch=('i686' 'x86_64' 'armv7h')
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
license=('GPL')
makedepends=('python-sip' 'python2-sip' 'python-opengl' 'python2-opengl'
'python2-dbus' 'python-dbus' 'qt5-connectivity'
'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg'
'qt5-webkit' 'qt5-websockets' 'qt5-x11extras')
source=("http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-$pkgver/PyQt5_gpl-$pkgver.tar.gz" "pyqt-5.8-segfault.patch")
md5sums=('ac04c0bfc1f05f5a1c2a1edd2640235c'
'de7b2781874ff0c7c0d710f718cfa01a')
source+=('pyqt5-verbose-configure.patch')
md5sums+=('741c4b3ed85e4bf306ae2e73826d8a8b')
source_armv7h=('opengles-hack.patch')
md5sums_armv7h=('ad09b1c84c26d5e92de192477cb3a2d1')
prepare() {
pushd PyQt5_gpl-${_pkgver}
patch -Np1 -i "${srcdir}/pyqt-5.8-segfault.patch"
case "$CARCH" in
armv7h) patch -p1 -i ../opengles-hack.patch;;
esac
patch -Np1 -i "${srcdir}/pyqt5-verbose-configure.patch"
popd
# The additional include path was removed due to this line, I don't really know why they are doing this...
sed -i '/target_config.dbus_inc_dirs = \[\]/d' PyQt5_gpl-${_pkgver}/configure.py
cp -a PyQt5_gpl-${_pkgver}{,-py2}
}
build() {
cd "$srcdir"/PyQt5_gpl-${_pkgver}
python configure.py \
--confirm-license \
--no-sip-files \
--qsci-api \
-q /usr/bin/qmake-qt5
# Thanks Gerardo for the rpath fix
find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
make
cd "$srcdir"/PyQt5_gpl-${_pkgver}-py2
python2 configure.py \
--confirm-license \
--no-sip-files \
--qsci-api \
-q /usr/bin/qmake-qt5
# Thanks Gerardo for the rpath fix
find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
make
}
package_pyqt5-common(){
pkgdesc="Common PyQt files shared between python-pyqt5 and python2-pyqt5"
depends=('qt5-base')
cd PyQt5_gpl-${_pkgver}
install -Dm644 PyQt5.api "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt5.api
install -d "${pkgdir}"/usr/share/sip/PyQt5
cp -a sip/* "${pkgdir}"/usr/share/sip/PyQt5
}
package_python-pyqt5(){
pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit"
depends=('python-sip' 'pyqt5-common')
optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications'
'python-dbus: for python-dbus mainloop support'
'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
'qt5-tools: QtHelp, QtDesigner'
'qt5-svg: QtSvg'
'qt5-webkit: QtWebKit, QtWebKitWidgets'
'qt5-xmlpatterns: QtXmlPatterns'
'qt5-declarative: QtQml, qmlplugin'
'qt5-serialport: QtSerialPort')
cd PyQt5_gpl-${_pkgver}
# INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
# Provided by pyqt-common
rm "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt5.api
}
package_python2-pyqt5(){
pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit"
depends=('python2-sip' 'pyqt5-common')
optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications'
'python-dbus: for python-dbus mainloop support'
'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
'qt5-tools: QtHelp, QtDesigner'
'qt5-svg: QtSvg'
'qt5-webkit: QtWebKit, QtWebKitWidgets'
'qt5-xmlpatterns: QtXmlPatterns'
'qt5-declarative: QtQml, qmlplugin'
'qt5-serialport: QtSerialPort')
cd PyQt5_gpl-${_pkgver}-py2
# INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
# Fix conflicts with python-pyqt5
mv "${pkgdir}"/usr/bin/{,python2-}pyuic5
mv "${pkgdir}"/usr/bin/{,python2-}pylupdate5
mv "${pkgdir}"/usr/bin/{,python2-}pyrcc5
rm "${pkgdir}"/usr/lib/qt/plugins/designer/libpyqt5.so
rm "${pkgdir}"/usr/lib/qt/plugins/PyQt5/libpyqt5qmlplugin.so
rm "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt5.api
}
|