Update to SIP 4.18.1 snapshot

This commit is contained in:
Robin Dunn
2016-06-11 20:59:19 -07:00
parent ebaf3a0ddf
commit 2ea46e8c9a
5 changed files with 580 additions and 224 deletions

View File

@@ -1,7 +1,7 @@
#!/bin/bash
set -o errexit
#set -o xtrace
#set -o xtrace
PYVER=2.7
PYTHON=`which python$PYVER`
@@ -13,29 +13,34 @@ fi
MYBINDIR=$(dirname $(readlink -f $0))
cd $PROJECTS/sip/sip
SIPVER=`$PYTHON configure.py --version | grep -v "This is SIP"`
PLATFORM=`$PYTHON -c "import buildtools.config as bc; print(bc.getToolsPlatformName(True))"`
echo $PLATFORM
cd $PROJECTS/sip/sip
SIPVER=`$PYTHON configure.py --version | grep -v "This is SIP"`
if [ "$PLATFORM" = "darwin" ]; then
# try to ensure compatiblity back to 10.5 if we can
# try to ensure compatibility back to 10.6 if we can
xcode=$(xcode-select -print-path)
if [ -d $xcode/SDKs/MacOSX10.5.sdk ]; then
SDK=$xcode/SDKs/MacOSX10.5.sdk
elif [ -d $xcode/SDKs/MacOSX10.6.sdk ]; then
SDK=$xcode/SDKs/MacOSX10.6.sdk
elif [ -d $xcode/SDKs/MacOSX10.7.sdk ]; then
SDK=$xcode/SDKs/MacOSX10.7.sdk
fi
for v in 6 7 8 9 10 11 12; do
if [ -d $xcode/SDKs/MacOSX10.$v.sdk ]; then
SDK=$xcode/SDKs/MacOSX10.$v.sdk
break
elif [ -d $xcode/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.$v.sdk ]; then
SDK=$xcode/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.$v.sdk
break
fi
done
$PYTHON configure.py \
--deployment-target=10.5 \
--deployment-target=10.6 \
--sdk=$SDK \
--arch=i386 \
--universal \
--sip-module wx.siplib \
$*
make -C sipgen clean all
else
$PYTHON configure.py \
--sip-module wx.siplib \

View File

@@ -72,9 +72,9 @@ wxICON = 'docs/sphinx/_static/images/sphinxdocs/mondrian.png'
# Some tools will be downloaded for the builds. These are the versions and
# MD5s of the tool binaries currently in use.
sipCurrentVersion = '4.16.7'
sipCurrentVersion = '4.18.1.dev1606100655'
sipMD5 = {
'darwin' : '29874bb82327e556554e3ca8ddf8fa16',
'darwin' : '48f7370706c63036fac66da6439559e8',
'win32' : 'd19030b397034742694a6d229f056ad0',
'linux32' : '6f70956abd8f837b1d55dc5cfa9f6201',
'linux64' : '6ac7653c331462516abbc38c5b93e0ac',

View File

@@ -54,8 +54,8 @@ extern "C" {
/*
* Define the SIP version number.
*/
#define SIP_VERSION 0x041007
#define SIP_VERSION_STR "4.16.7"
#define SIP_VERSION 0x041201
#define SIP_VERSION_STR "4.18.1.dev1606100655"
/*
@@ -68,6 +68,11 @@ extern "C" {
*
* History:
*
* 11.3 Added sip_api_get_interpreter() to the public API.
*
* 11.1 Added sip_api_invoke_slot_ex().
* 11.2 Added sip_api_get_reference() to the private API.
*
* 11.1 Added sip_api_invoke_slot_ex().
*
* 11.0 Added the pyqt5QtSignal and pyqt5ClassTypeDef structures.
@@ -212,7 +217,7 @@ extern "C" {
* 0.0 Original version.
*/
#define SIP_API_MAJOR_NR 11
#define SIP_API_MINOR_NR 1
#define SIP_API_MINOR_NR 3
/* The name of the sip module. */
@@ -590,7 +595,8 @@ typedef enum {
/*
* The different Python slot types.
* The different Python slot types. New slots must be added to the end,
* otherwise the major version of the internal ABI must be changed.
*/
typedef enum {
str_slot, /* __str__ */
@@ -655,6 +661,11 @@ typedef enum {
iter_slot, /* __iter__ */
next_slot, /* __next__ */
setattr_slot, /* __setattr__, __delattr__ */
matmul_slot, /* __matmul__ (for Python v3.5 and later) */
imatmul_slot, /* __imatmul__ (for Python v3.5 and later) */
await_slot, /* __await__ (for Python v3.5 and later) */
aiter_slot, /* __aiter__ (for Python v3.5 and later) */
anext_slot, /* __anext__ (for Python v3.5 and later) */
} sipPySlotType;
@@ -1522,6 +1533,16 @@ typedef struct _sipAPIDef {
*/
PyObject *(*api_invoke_slot_ex)(const sipSlot *slot, PyObject *sigargs,
int check_receiver);
/*
* The following is not part of the public API.
*/
PyObject *(*api_get_reference)(PyObject *self, int key);
/*
* The following is part of the public API.
*/
PyInterpreterState *(*api_get_interpreter)();
} sipAPIDef;

File diff suppressed because it is too large Load Diff

View File

@@ -314,7 +314,11 @@ static PyNumberMethods sipVoidPtr_NumberMethods = {
0, /* nb_inplace_floor_divide */
0, /* nb_inplace_true_divide */
#if PY_VERSION_HEX >= 0x02050000
0 /* nb_index */
0, /* nb_index */
#endif
#if PY_VERSION_HEX >= 0x03050000
0, /* nb_matrix_multiply */
0, /* nb_inplace_matrix_multiply */
#endif
};
@@ -1063,10 +1067,14 @@ static int vp_convertor(PyObject *arg, struct vp_values *vp)
if (PyErr_Occurred())
{
#if PY_VERSION_HEX >= 0x03010000
PyErr_SetString(PyExc_TypeError, "a single integer, CObject, None, buffer protocol implementor or another sip.voidptr object is required");
#if defined(SIP_USE_PYCAPSULE)
#if defined(SIP_SUPPORT_PYCOBJECT)
PyErr_SetString(PyExc_TypeError, "a single integer, Capsule, CObject, None, bytes-like object or another sip.voidptr object is required");
#else
PyErr_SetString(PyExc_TypeError, "a single integer, Capsule, CObject, None, buffer protocol implementor or another sip.voidptr object is required");
PyErr_SetString(PyExc_TypeError, "a single integer, Capsule, None, bytes-like object or another sip.voidptr object is required");
#endif
#else
PyErr_SetString(PyExc_TypeError, "a single integer, CObject, None, bytes-like object or another sip.voidptr object is required");
#endif
return 0;
}