Étienne Mollier, on 2021-12-14: > However, once the sip file is caught, the package fails to build > from source due to various errors in the generated code. The > patch also addresses one of them in its second hunk. I think I > was stuck on some "overrides" related errors, but they were > interleaved within sip output, I can send a proper log later > this week after an overnight build if needed. I forgot I had one other patch to address PyString issues, part of the ftbfs. And also forgot to mention that I had to enforce -DSIP_LIBRARIES=/usr/lib/python3/dist-packages from the cmake call in d/rules. In hope this helps, -- Étienne Mollier <emollier@emlwks999.eu> Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/1, please excuse my verbosity.
--- ball.orig/source/PYTHON/pyCAPIKernel.C
+++ ball/source/PYTHON/pyCAPIKernel.C
@@ -78,14 +78,14 @@
if(type)
{
auto name = PyObject_GetAttrString(type, "__name__");
- auto sname = name ? PyString_AsString(name) : nullptr;
+ auto sname = name ? PyBytes_AsString(name) : nullptr;
if(sname) err << sname << ": ";
Py_DecRef(name);
Py_DecRef(type);
}
// error message
- auto svalue = value ? PyString_AsString(value) : nullptr;
+ auto svalue = value ? PyBytes_AsString(value) : nullptr;
err << (svalue ? svalue : "(no error message given)");
Py_DecRef(value);
@@ -121,7 +121,7 @@
auto cio = PyObject_GetAttrString(main_module_, "__BALL_CIO");
auto cio_val = PyObject_GetAttrString(cio, "getvalue");
auto cio_f = PyObject_CallFunction(cio_val, nullptr);
- auto ret = std::make_pair<bool, string>(true, PyString_AsString(cio_f));
+ auto ret = std::make_pair<bool, string>(true, PyBytes_AsString(cio_f));
Py_DecRef(cio_f);
Py_DecRef(cio_val);
Py_DecRef(cio);
@@ -177,7 +177,7 @@
for (const auto& pair: args)
{
- auto val = PyString_FromString(pair.second.c_str());
+ auto val = PyBytes_FromString(pair.second.c_str());
if (!val)
{
Log.error() << "[PyInterpreter] Could not create parameter "
@@ -217,7 +217,7 @@
return nullptr;
}
- auto mod_name = PyString_FromString(name.c_str());
+ auto mod_name = PyBytes_FromString(name.c_str());
PyObject* module = nullptr;
if (PyDict_Contains(module_dict, mod_name))
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/PDBAtom.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/PDBAtom.sip
@@ -48,7 +48,7 @@
virtual bool isValid() const throw();
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("PDBAtom ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("PDBAtom ") + sipCpp->getName()
+ " { " + sipCpp->getElement().getSymbol() + " @ ("
+ String(sipCpp->getPosition().x) + " " + String(sipCpp->getPosition().y) + " "
+ String(sipCpp->getPosition().z) + " }").c_str());
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/angle.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/angle.sip
@@ -46,6 +46,6 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(sipCpp->toRadian()).c_str());
+ sipRes = PyBytes_FromString(String(sipCpp->toRadian()).c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/atom.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/atom.sip
@@ -23,12 +23,12 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(*sipCpp).c_str());
+ sipRes = PyBytes_FromString(String(*sipCpp).c_str());
%End
SIP_PYOBJECT __repr__();
%MethodCode
- sipRes = PyString_FromString(String(*sipCpp).c_str());
+ sipRes = PyBytes_FromString(String(*sipCpp).c_str());
%End
};
@@ -148,7 +148,7 @@
// convert the atom to a string representation
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("Atom ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Atom ") + sipCpp->getName()
+ " { " + sipCpp->getElement().getSymbol() + " @ ("
+ String(sipCpp->getPosition().x) + " " + String(sipCpp->getPosition().y) + " "
+ String(sipCpp->getPosition().z) + ") }").c_str());
@@ -156,7 +156,7 @@
SIP_PYOBJECT __repr__();
%MethodCode
- sipRes = PyString_FromString(String(String("Atom ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Atom ") + sipCpp->getName()
+ " { " + sipCpp->getElement().getSymbol() + " @ ("
+ String(sipCpp->getPosition().x) + " " + String(sipCpp->getPosition().y) + " "
+ String(sipCpp->getPosition().z) + " }").c_str());
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/atomContainer.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/atomContainer.sip
@@ -69,7 +69,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("AtomContainer ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("AtomContainer ") + sipCpp->getName()
+ " { " + String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/bond.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/bond.sip
@@ -103,6 +103,6 @@
}
tmp += " }";
}
- return PyString_FromString(tmp.c_str());
+ return PyBytes_FromString(tmp.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/box3.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/box3.sip
@@ -29,6 +29,6 @@
tmp += String(sipCpp->getPoint().x) + " ";
tmp += String(sipCpp->getPoint().y) + " ";
tmp += String(sipCpp->getPoint().z) + ") }";
- sipRes = PyString_FromString(tmp.c_str());
+ sipRes = PyBytes_FromString(tmp.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/chain.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/chain.sip
@@ -44,7 +44,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("Chain ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Chain ") + sipCpp->getName()
+ " { " + String(sipCpp->countResidues()) + " residues }").c_str());
%End
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/file.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/file.sip
@@ -66,7 +66,7 @@
case (int)std::ios::in: mode_string = "std::ios::in"; break;
default: mode_string = "";
}
- sipRes = PyString_FromString(mode_string);
+ sipRes = PyBytes_FromString(mode_string);
%End
%ConvertToTypeCode
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/fragment.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/fragment.sip
@@ -18,7 +18,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("Fragment ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Fragment ") + sipCpp->getName()
+ " { " + String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/molecule.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/molecule.sip
@@ -40,7 +40,7 @@
SIP_PYOBJECT __repr__();
%MethodCode
- sipRes = PyString_FromString(String(String("Molecule ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Molecule ") + sipCpp->getName()
+ " { " + String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/nucleicAcid.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/nucleicAcid.sip
@@ -27,14 +27,14 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("NucleicAcid ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("NucleicAcid ") + sipCpp->getName()
+ " { " + String(sipCpp->countNucleotides()) + " nucleotides, "
+ String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
SIP_PYOBJECT __repr__();
%MethodCode
- sipRes = PyString_FromString(String(String("NucleicAcid ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("NucleicAcid ") + sipCpp->getName()
+ " { " + String(sipCpp->countNucleotides()) + " nucleotides, "
+ String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/options.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/options.sip
@@ -38,7 +38,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("Options ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Options ") + sipCpp->getName()
+ " { " + String(sipCpp->getSize()) + " entries }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/peptideBuilder.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/peptideBuilder.sip
@@ -22,7 +22,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString((String("{ ") + sipCpp->getType() + " " +
+ sipRes = PyBytes_FromString((String("{ ") + sipCpp->getType() + " " +
String(sipCpp->getPhi().toDegree()) + " " +
String(sipCpp->getPsi().toDegree()) + " " +
String(sipCpp->getOmega().toDegree()) + " }").c_str());
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/property.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/property.sip
@@ -25,7 +25,7 @@
%MethodCode
if(sipCpp == 0)
{
- sipRes = PyString_FromString("");
+ sipRes = PyBytes_FromString("");
}
else
{
@@ -60,7 +60,7 @@
output += BALL::String("Smart Object, Value: ") + BALL::String((unsigned long) &*sipCpp->getSmartObject());
break;
}
- sipRes = PyString_FromString(output.c_str());
+ sipRes = PyBytes_FromString(output.c_str());
}
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/protein.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/protein.sip
@@ -54,7 +54,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("Protein ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("Protein ") + sipCpp->getName()
+ " { " + String(sipCpp->countResidues()) + " residues }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/residue.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/residue.sip
@@ -67,7 +67,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("Residue ") + sipCpp->getName() + sipCpp->getID()
+ sipRes = PyBytes_FromString(String(String("Residue ") + sipCpp->getName() + sipCpp->getID()
+ " { " + String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/secondaryStructure.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/secondaryStructure.sip
@@ -49,13 +49,13 @@
SIP_PYOBJECT __str__();
%MethodCode
- return PyString_FromString(String(String("SecondaryStructure ") + sipCpp->getName()
+ return PyBytes_FromString(String(String("SecondaryStructure ") + sipCpp->getName()
+ " { " + String(sipCpp->countResidues()) + " residues }").c_str());
%End
SIP_PYOBJECT __repr__();
%MethodCode
- return PyString_FromString(String(String("SecondaryStructure ") + sipCpp->getName()
+ return PyBytes_FromString(String(String("SecondaryStructure ") + sipCpp->getName()
+ " { " + String(sipCpp->countResidues()) + " residues }").c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/simpleBox3.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/simpleBox3.sip
@@ -40,6 +40,6 @@
tmp += String(sipCpp->b.x) + " ";
tmp += String(sipCpp->b.y) + " ";
tmp += String(sipCpp->b.z) + ") }";
- sipRes = PyString_FromString(tmp.c_str());
+ sipRes = PyBytes_FromString(tmp.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/string.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/string.sip
@@ -166,11 +166,11 @@
%MethodCode
if (sipCpp == 0)
{
- sipRes = PyString_FromString("");
+ sipRes = PyBytes_FromString("");
}
else
{
- sipRes = PyString_FromString(sipCpp->c_str());
+ sipRes = PyBytes_FromString(sipCpp->c_str());
}
%End
@@ -178,17 +178,17 @@
%MethodCode
if (sipCpp == 0)
{
- sipRes = PyString_FromString("");
+ sipRes = PyBytes_FromString("");
}
else
{
- sipRes = PyString_FromString(sipCpp->c_str());
+ sipRes = PyBytes_FromString(sipCpp->c_str());
}
%End
%ConvertToTypeCode
if (sipIsErr == NULL)
- return (PyString_Check(sipPy) || BALL_IS_SUBCLASS_INSTANCE(sipPy, String));
+ return (PyBytes_Check(sipPy) || BALL_IS_SUBCLASS_INSTANCE(sipPy, String));
if (sipPy == Py_None)
{
@@ -196,9 +196,9 @@
return 1;
}
- if (PyString_Check(sipPy))
+ if (PyBytes_Check(sipPy))
{
- *sipCppPtr = new String(PyString_AS_STRING(sipPy));
+ *sipCppPtr = new String(PyBytes_AS_STRING(sipPy));
return 1;
}
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/system.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/system.sip
@@ -67,7 +67,7 @@
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("System ") + sipCpp->getName()
+ sipRes = PyBytes_FromString(String(String("System ") + sipCpp->getName()
+ " { " + String(sipCpp->countMolecules()) + " molecules, "
+ String(sipCpp->countAtoms()) + " atoms }").c_str());
%End
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/timeStamp.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/timeStamp.sip
@@ -30,7 +30,7 @@
String usec_str(sipCpp->getMicroSeconds() / 1.0e6);
time_str.append(usec_str.after("."));
- sipRes = PyString_FromString(time_str.c_str());
+ sipRes = PyBytes_FromString(time_str.c_str());
%End
};
@@ -61,6 +61,6 @@
String usec_str(sipCpp->getTime().getMicroSeconds() / 1.0e6);
time_str.append(usec_str.after("."));
- sipRes = PyString_FromString(time_str.c_str());
+ sipRes = PyBytes_FromString(time_str.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/vector2.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/vector2.sip
@@ -56,6 +56,6 @@
tmp = "(";
tmp += String(sipCpp->x) + " ";
tmp += String(sipCpp->y) + ")";
- sipRes = PyString_FromString(tmp.c_str());
+ sipRes = PyBytes_FromString(tmp.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/vector3.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/vector3.sip
@@ -66,6 +66,6 @@
tmp += String(sipCpp->x) + " ";
tmp += String(sipCpp->y) + " ";
tmp += String(sipCpp->z) + ")";
- sipRes = PyString_FromString(tmp.c_str());
+ sipRes = PyBytes_FromString(tmp.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/BALL/version.sip
+++ ball/source/PYTHON/EXTENSIONS/BALL/version.sip
@@ -21,6 +21,6 @@
SIP_PYOBJECT __str__();
%MethodCode
- return PyString_FromString(VersionInfo::getVersion());
+ return PyBytes_FromString(VersionInfo::getVersion());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/VIEW/colorRGBA.sip
+++ ball/source/PYTHON/EXTENSIONS/VIEW/colorRGBA.sip
@@ -43,7 +43,7 @@
String s("ColorRGBA {");
s += (String) *sipCpp;
s += " }";
- sipRes = PyString_FromString(s.c_str());
+ sipRes = PyBytes_FromString(s.c_str());
%End
SIP_PYOBJECT __repr__();
@@ -51,6 +51,6 @@
String s("ColorRGBA {");
s += (String) *sipCpp;
s += " }";
- sipRes = PyString_FromString(s.c_str());
+ sipRes = PyBytes_FromString(s.c_str());
%End
};
--- ball.orig/source/PYTHON/EXTENSIONS/VIEW/geometricObject.sip
+++ ball/source/PYTHON/EXTENSIONS/VIEW/geometricObject.sip
@@ -61,7 +61,7 @@
// convert to a string representation
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("GeometricObject")
+ sipRes = PyBytes_FromString(String(String("GeometricObject")
+ " { "
+ " Composite: " + String((long int)sipCpp->getComposite())
+ " }").c_str());
@@ -69,7 +69,7 @@
SIP_PYOBJECT __repr__();
%MethodCode
- sipRes = PyString_FromString(String(String("GeometricObject")
+ sipRes = PyBytes_FromString(String(String("GeometricObject")
+ " { "
+ " Composite: " + String((long int)sipCpp->getComposite())
+ " }").c_str());
--- ball.orig/source/PYTHON/EXTENSIONS/VIEW/gridVisualisation.sip
+++ ball/source/PYTHON/EXTENSIONS/VIEW/gridVisualisation.sip
@@ -38,7 +38,7 @@
// convert to a string representation
SIP_PYOBJECT __str__();
%MethodCode
- sipRes = PyString_FromString(String(String("GridVisualisation ")
+ sipRes = PyBytes_FromString(String(String("GridVisualisation ")
+ " { "
+ " Grid: " + String((long int)sipCpp->getGrid())
+ " Texture: " + String(sipCpp->getTexture())
@@ -47,7 +47,7 @@
SIP_PYOBJECT __repr__();
%MethodCode
- sipRes = PyString_FromString(String(String("GridVisualisation ")
+ sipRes = PyBytes_FromString(String(String("GridVisualisation ")
+ " { "
+ " Grid: " + String((long int)sipCpp->getGrid())
+ " Texture: " + String(sipCpp->getTexture())
Attachment:
signature.asc
Description: PGP signature