svn commit: r457851 - head/math/qtiplot/files
Raphael Kubo da Costa
rakuco at FreeBSD.org
Tue Jan 2 12:52:23 UTC 2018
Author: rakuco
Date: Tue Jan 2 12:52:21 2018
New Revision: 457851
URL: https://svnweb.freebsd.org/changeset/ports/457851
Log:
Add a patch to fix the build with newer versions of SIP.
We're currently testing an update to SIP 4.19.6, but it breaks qtiplot's build.
This patch, obtained via Debian and Gentoo, allows the port to build with both
SIP 4.19.2 (currently in the tree) as well as 4.19.6.
In the future, we might look into disabling Python scripting support: it tends
to break with almost every SIP update, and upstream has stopped releasing the
source code for newer qtiplot releases.
PR: 224739
Obtained from: https://anonscm.debian.org/git/debian-science/packages/qtiplot.git/tree/debian/patches/20_fix_FTBFS_sip4.19.patch
Obtained from: https://bugs.gentoo.org/641514#c2
Added:
head/math/qtiplot/files/patch-sip-4.19.6 (contents, props changed)
Added: head/math/qtiplot/files/patch-sip-4.19.6
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/qtiplot/files/patch-sip-4.19.6 Tue Jan 2 12:52:21 2018 (r457851)
@@ -0,0 +1,48 @@
+The patch name is an approximation; something changed between SIP 4.19.2 and
+SIP 4.19.6 that causes the build to fail and sipAPI.qti.h is no longer
+generated.
+
+Obtained from: https://anonscm.debian.org/git/debian-science/packages/qtiplot.git/tree/debian/patches/20_fix_FTBFS_sip4.19.patch
+Obtained from: https://bugs.gentoo.org/641514#c2
+--- qtiplot/src/scripting/PythonScripting.cpp.orig 2018-01-02 11:37:07 UTC
++++ qtiplot/src/scripting/PythonScripting.cpp
+@@ -58,7 +58,7 @@ typedef struct _traceback {
+ #include <QMessageBox>
+
+ // includes sip.h, which undefines Qt's "slots" macro since SIP 4.6
+-#include "sipAPIqti.h"
++#include "sip.h"
+ extern "C" void initqti();
+
+ const char* PythonScripting::langName = "Python";
+@@ -359,10 +359,11 @@ bool PythonScripting::setQObject(QObject *val, const c
+ if(!val) return false;
+ PyObject *pyobj=NULL;
+
+- PyGILState_STATE state = PyGILState_Ensure();
++ sipAPIDef sip_API;
+
+- sipWrapperType * klass = sipFindClass(val->className());
+- if (klass) pyobj = sipConvertFromInstance(val, klass, NULL);
++ PyGILState_STATE state = PyGILState_Ensure();
++ const auto klass = sip_API.api_find_class(val->className());
++ if (klass) pyobj = sip_API.api_convert_from_type(val, klass->wt_td, NULL);
+
+ if (pyobj) {
+ if (dict)
+--- qtiplot/src/scripting/qti.sip.orig 2018-01-02 11:37:07 UTC
++++ qtiplot/src/scripting/qti.sip
+@@ -3243,11 +3243,11 @@ class FFT : Filter (public)
+ %MethodCode
+ SIPQTI_APP(new sipFFT(app, a0, *a1, a2, a3))
+ %End
+- FFT(QwtPlotCurve *&) /NoDerived/;
++ FFT(QwtPlotCurve *) /NoDerived/;
+ %MethodCode
+ SIPQTI_APP(new sipFFT(app, a0))
+ %End
+- FFT(QwtPlotCurve *&, double, double) /NoDerived/;
++ FFT(QwtPlotCurve *, double, double) /NoDerived/;
+ %MethodCode
+ SIPQTI_APP(new sipFFT(app, a0, a1, a2))
+ %End
More information about the svn-ports-all
mailing list