From 35231fe5b5b2d3343f6e4193acad800cfb7c48b4 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Thu, 21 Feb 2019 00:18:34 +0100 Subject: Make PyQt4 and QScintilla compile again --- deps/sip/patches/PyQt4_sip_regression.patch | 71 +++++++++++++++++++++++++++++ deps/sip/sip.SlackBuild | 6 ++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 deps/sip/patches/PyQt4_sip_regression.patch (limited to 'deps/sip') diff --git a/deps/sip/patches/PyQt4_sip_regression.patch b/deps/sip/patches/PyQt4_sip_regression.patch new file mode 100644 index 0000000..e656ff4 --- /dev/null +++ b/deps/sip/patches/PyQt4_sip_regression.patch @@ -0,0 +1,71 @@ +# HG changeset patch +# User Phil Thompson +# Date 1550579387 0 +# Node ID 7bd4d19479adc46c40e8d43629aaac871fae6cd7 +# Parent 4ab117a13343cd8d8f5804600936f445fb2d59ef +Fixed a code generation regression specific to PyQt4. + +diff -r 4ab117a13343 -r 7bd4d19479ad sipgen/gencode.c +--- a/sipgen/gencode.c Tue Feb 12 09:27:11 2019 +0000 ++++ b/sipgen/gencode.c Tue Feb 19 12:29:47 2019 +0000 +@@ -295,7 +295,7 @@ + static int emptyIfaceFile(sipSpec *pt, ifaceFileDef *iff); + static void declareLimitedAPI(int py_debug, moduleDef *mod, FILE *fp); + static int generatePluginSignalsTable(sipSpec *pt, classDef *cd, +- const char *pyqt_prefix, FILE *fp); ++ int pyqt_version, FILE *fp); + static int generatePyQt5ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp); + static int generatePyQt4ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp); + static void generateGlobalFunctionTableEntries(sipSpec *pt, moduleDef *mod, +@@ -15542,7 +15542,7 @@ + * Generate the PyQt4/5 signals table. + */ + static int generatePluginSignalsTable(sipSpec *pt, classDef *cd, +- const char *pyqt_prefix, FILE *fp) ++ int pyqt_version, FILE *fp) + { + int is_signals = FALSE; + +@@ -15586,8 +15586,8 @@ + "\n" + "\n" + "/* Define this type's signals. */\n" +-"static const %sQtSignal signals_%C[] = {\n" +- , pyqt_prefix, classFQCName(cd)); ++"static const pyqt%dQtSignal signals_%C[] = {\n" ++ , pyqt_version, classFQCName(cd)); + } + + /* +@@ -15628,9 +15628,9 @@ + + if (is_signals) + prcode(fp, +-" {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}\n" ++" {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, %s}\n" + "};\n" +- ); ++ , (pyqt_version == 5 ? "SIP_NULLPTR" : "0")); + } + + return is_signals; +@@ -15643,7 +15643,7 @@ + */ + static int generatePyQt5ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp) + { +- int is_signals = generatePluginSignalsTable(pt, cd, "pyqt5", fp); ++ int is_signals = generatePluginSignalsTable(pt, cd, 5, fp); + + prcode(fp, + "\n" +@@ -15696,7 +15696,7 @@ + */ + static int generatePyQt4ClassPlugin(sipSpec *pt, classDef *cd, FILE *fp) + { +- int is_signals = generatePluginSignalsTable(pt, cd, "pyqt4", fp); ++ int is_signals = generatePluginSignalsTable(pt, cd, 4, fp); + + prcode(fp, + "\n" + + diff --git a/deps/sip/sip.SlackBuild b/deps/sip/sip.SlackBuild index cda5235..38e620a 100755 --- a/deps/sip/sip.SlackBuild +++ b/deps/sip/sip.SlackBuild @@ -27,7 +27,7 @@ PKGNAM=sip VERSION=${VERSION:-4.19.14} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:-" -j$(nproc) "} @@ -70,6 +70,10 @@ cd $TMP rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 + +# Get PyQt4 to compile: +cat $CWD/patches/PyQt4_sip_regression.patch | patch -p1 --verbose || exit 1 + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -- cgit v1.2.3