diff options
Diffstat (limited to 'source/l/PyQt5')
-rwxr-xr-x | source/l/PyQt5/PyQt5.SlackBuild | 64 | ||||
-rw-r--r-- | source/l/PyQt5/patches/pyqt5-python2-crash.patch | 13 |
2 files changed, 22 insertions, 55 deletions
diff --git a/source/l/PyQt5/PyQt5.SlackBuild b/source/l/PyQt5/PyQt5.SlackBuild index 6d7ea4fa9..f9f608fa2 100755 --- a/source/l/PyQt5/PyQt5.SlackBuild +++ b/source/l/PyQt5/PyQt5.SlackBuild @@ -1,9 +1,7 @@ #!/bin/sh -# Slackware build script for PyQt - # Copyright 2008 Aleksandar Samardzic <asamardzic@gmail.com> -# Copyright 2008, 2009, 2010, 2011, 2015, 2016, 2017, 2020 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2015, 2016, 2017, 2020, 2023 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -30,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=PyQt5 VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-5} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -45,16 +43,22 @@ fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" elif [ "$ARCH" = "armv7hl" ]; then SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" else SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi # If the variable PRINT_PACKAGE_NAME is set, then this script will report what @@ -70,7 +74,6 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -PYTHON2LIB=$( python2 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null ) PYTHON3LIB=$( python3 -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())' 2>/dev/null ) rm -rf $PKG @@ -80,10 +83,6 @@ rm -rf ${PKGNAM}-$VERSION tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z || exit 1 cd ${PKGNAM}-$VERSION || exit 1 -# Remove code that is unneeded if Qt is not bundled and crashes on python2 -# https://www.riverbankcomputing.com/pipermail/pyqt/2019-July/041896.html -zcat $CWD/patches/pyqt5-python2-crash.patch.gz | patch -p1 --verbose || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -92,48 +91,29 @@ find . \ -exec chmod 644 {} \+ # This avoids compiling a version number into KDE's .la files: -export QTDIR=/usr/lib${LIBDIRSUFFIX}/qt5 export QT5DIR=/usr/lib${LIBDIRSUFFIX}/qt5 export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" -## I see no reason at this point to include python2 support. We'll see later if -## we can get away with that or not... -## AND... it appears that we might not be able to, at least Plasma 5 does not -## like to build that way, so we will add it back for now to fix using this -## package with ktown. Better to merge Plasma in a working state (hopefully -## soonish) and then worry about trying to get the last bits of python2 out -## of the distribution, though honestly that may not occur until Slackware 15.1. -python2 configure.py \ +sip-build \ --confirm-license \ - --verbose \ - --qsci-api \ - -q /usr/bin/qmake-qt5 \ + --no-make \ + --api-dir /usr/share/qt5/qsci/api/python \ + --pep484-pyi \ || exit 1 -make $NUMJOBS || make || exit 1 -# INSTALL_ROOT is needed for QtDesigner, the other Makefiles use DESTDIR -make -j1 install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1 - -mv $PKG/usr/bin/pyrcc5 $PKG/usr/bin/pyrcc5-py2 -mv $PKG/usr/bin/pyuic5 $PKG/usr/bin/pyuic5-py2 -mv $PKG/usr/bin/pylupdate5 $PKG/usr/bin/pylupdate5-py2 -rm -rf $PKG/$PYTHON2LIB/${PKGNAM}/uic/port_v3/ -make clean - -python3 configure.py \ - --confirm-license \ - --verbose \ - --qsci-api \ - -q /usr/bin/qmake-qt5 \ - || exit 1 +cd build || exit 1 +make $NUMJOBS || exit 1 +make INSTALL_ROOT=$PKG install || exit 1 +cd .. -make $NUMJOBS || make || exit 1 -# INSTALL_ROOT is needed for QtDesigner, the other Makefiles use DESTDIR -make -j1 install DESTDIR=$PKG INSTALL_ROOT=$PKG || exit 1 +# Remove obsolete python2 uic modules: +rm -rf $PKG/$PYTHON3LIB/PyQt5/uic/port_v2 -rm -rf $PKG/$PYTHON3LIB/${PKGNAM}/uic/port_v2/ +# Compile Python bytecode: +python -m compileall -d / $PKG/usr/lib$LIBDIRSUFFIX +python -O -m compileall -d / $PKG/usr/lib$LIBDIRSUFFIX find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null @@ -147,7 +127,7 @@ done mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a \ - ChangeLog LICENSE* NEWS* README* \ + ChangeLog LICENSE* NEWS* PKG-INFO* README* \ $PKG/usr/doc/$PKGNAM-$VERSION # If there's a ChangeLog, installing at least part of the recent history diff --git a/source/l/PyQt5/patches/pyqt5-python2-crash.patch b/source/l/PyQt5/patches/pyqt5-python2-crash.patch deleted file mode 100644 index 14462f756..000000000 --- a/source/l/PyQt5/patches/pyqt5-python2-crash.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ur PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in ---- PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in 2019-06-25 14:41:02.000000000 +0200 -+++ PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in 2019-07-01 17:06:34.882644535 +0200 -@@ -151,8 +151,4 @@ - // initialised first (at least for Windows) and this is the only way to - // guarantee things are done in the right order. - PyQtSlotProxy::mutex = new QMutex(QMutex::Recursive); -- -- // Load the embedded qt.conf file if there is a bundled copy of Qt. -- if (!qpycore_qt_conf()) -- Py_FatalError("PyQt5.QtCore: Unable to embed qt.conf"); - } - |