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
|
# $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>
pkgbase=pyqt5
pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5')
pkgver=5.8
_pkgver=$pkgver
pkgrel=2.parabola1
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"
'opengles-hack.patch')
md5sums=('ac04c0bfc1f05f5a1c2a1edd2640235c'
'de7b2781874ff0c7c0d710f718cfa01a'
'ad09b1c84c26d5e92de192477cb3a2d1')
prepare() {
pushd PyQt5_gpl-${_pkgver}
patch -Np1 -i "${srcdir}/pyqt-5.8-segfault.patch"
if [[ "$CARCH" =~ ^arm*|^aarch64$ ]]; then
patch -p1 -i ../opengles-hack.patch
fi
# Support Qt 5.8
# patch -p1 -i ../pyqt-qt5.8.patch
popd
# Support new versions of Qt - don't remove, needs to be reapplied after every new Qt release
# patch -p1 -i ../pyqt-support-new-qt.patch
# 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, without nonfree qt5-webengine support"
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, without nonfree qt5-webengine support"
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, without nonfree qt5-webengine support"
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
}
|