diff options
author | Thomas Andrejak | 2016-04-30 19:01:18 +0200 |
---|---|---|
committer | Thomas Andrejak | 2016-04-30 19:01:18 +0200 |
commit | 6b1d430522584c09b36057443e8f9e9a39308732 (patch) | |
tree | 62f3f73aaf3b769c7e31e50b26a08aee7b9b9fc1 | |
parent | a3656a527a4777508252b984226bd233d4e1abe0 (diff) | |
download | aur-6b1d430522584c09b36057443e8f9e9a39308732.tar.gz |
Add support for all bindings
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | python_swig.patch | 1698 | ||||
-rw-r--r-- | ruby.patch | 24 | ||||
-rw-r--r-- | ruby_swig.patch | 39 |
5 files changed, 1794 insertions, 13 deletions
@@ -6,12 +6,24 @@ pkgbase = libprelude arch = i686 arch = x86_64 license = GPLv2 - makedepends = swig depends = gnutls depends = python2 - options = !libtool - source = https://www.prelude-siem.org/attachments/download/569/libprelude-3.0.0.tar.gz + depends = python3 + depends = gtk-doc + depends = lua + depends = ruby + backup = etc/prelude/default/client.conf + backup = etc/prelude/default/global.conf + backup = etc/prelude/default/idmef-client.conf + backup = etc/prelude/default/tls.conf + source = https://www.prelude-siem.org/pkg/src/3.0.0/libprelude-3.0.0.tar.gz + source = ruby.patch + source = ruby_swig.patch + source = python_swig.patch md5sums = c93f5735c3dd162835b5597542f05282 + md5sums = 76a67088c8fc3b09cf47faa4b5d82d6b + md5sums = 5c6260da1c4de6c7779e0f572994df51 + md5sums = 7a841d6ec5b2657a2a8d991a00f17a05 pkgname = libprelude @@ -1,5 +1,6 @@ # Contributor: William Rea <sillywilly@gmail.com> # Contributor: Connor Behan <connor.behan@gmail.com> +# Contributor: Thomas Andrejak <thomas.andrejak@gmail.com> pkgname=libprelude pkgver=3.0.0 @@ -7,24 +8,31 @@ pkgrel=1 pkgdesc="Provides the framework for using the Prelude system" arch=('i686' 'x86_64') url="http://www.prelude-siem.org" -options=('!libtool') license=('GPLv2') -depends=('gnutls' 'python2') -makedepends=('swig') -source=(https://www.prelude-siem.org/attachments/download/569/$pkgname-$pkgver.tar.gz) +depends=('gnutls' 'python2' 'python3' 'gtk-doc' 'lua' 'ruby') +backup=('etc/prelude/default/client.conf' + 'etc/prelude/default/global.conf' + 'etc/prelude/default/idmef-client.conf' + 'etc/prelude/default/tls.conf') +source=("https://www.prelude-siem.org/pkg/src/3.0.0/$pkgname-$pkgver.tar.gz" + "ruby.patch" "ruby_swig.patch" "python_swig.patch") build() { - cd "$srcdir"/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" CPP="cpp -P" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --without-perl --without-lua --with-python=/usr/bin/python2 - - #sed -i '1 i\#include <cstddef>' bindings/python/_PreludeEasy.cxx + --enable-gtk-doc make } package() { - cd "$srcdir"/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install } -md5sums=('c93f5735c3dd162835b5597542f05282') +prepare() { + patch -p0 <ruby.patch + patch -p0 <python_swig.patch + patch -p0 <ruby_swig.patch +} + +md5sums=('c93f5735c3dd162835b5597542f05282' '76a67088c8fc3b09cf47faa4b5d82d6b' '5c6260da1c4de6c7779e0f572994df51' '7a841d6ec5b2657a2a8d991a00f17a05') diff --git a/python_swig.patch b/python_swig.patch new file mode 100644 index 000000000000..a26511897298 --- /dev/null +++ b/python_swig.patch @@ -0,0 +1,1698 @@ +--- libprelude-3.0.0/bindings/python/prelude.py 2016-04-28 12:03:15.703333327 +0200 ++++ libprelude-3.0.0/bindings/python/prelude.py.new 2016-04-28 12:02:56.816666658 +0200 +@@ -1,5 +1,5 @@ + # This file was automatically generated by SWIG (http://www.swig.org). +-# Version 3.0.6 ++# Version 3.0.8 + # + # Do not make changes to this file unless you know what you are doing--modify + # the SWIG interface file instead. +@@ -75,7 +75,7 @@ + def _swig_repr(self): + try: + strthis = "proxy of " + self.this.__repr__() +- except: ++ except Exception: + strthis = "" + return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) + +--- libprelude-3.0.0/bindings/python/_prelude.cxx 2016-04-28 12:03:15.703333327 +0200 ++++ libprelude-3.0.0/bindings/python/_prelude.cxx.new 2016-04-28 12:03:03.326666667 +0200 +@@ -1,6 +1,6 @@ + /* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). +- * Version 3.0.6 ++ * Version 3.0.8 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make +@@ -12,7 +12,11 @@ + #define TARGET_LANGUAGE_OUTPUT_TYPE PyObject ** + + ++ ++#ifndef SWIGPYTHON + #define SWIGPYTHON ++#endif ++ + #define SWIG_PYTHON_THREADS + #define SWIG_PYTHON_NO_BUILD_NONE + #define SWIG_PYTHON_DIRECTOR_NO_VTABLE +@@ -1332,7 +1336,7 @@ + + /* Unpack the argument tuple */ + +-SWIGINTERN int ++SWIGINTERN Py_ssize_t + SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs) + { + if (!args) { +@@ -1346,7 +1350,7 @@ + } + if (!PyTuple_Check(args)) { + if (min <= 1 && max >= 1) { +- int i; ++ Py_ssize_t i; + objs[0] = args; + for (i = 1; i < max; ++i) { + objs[i] = 0; +@@ -1366,7 +1370,7 @@ + name, (min == max ? "" : "at most "), (int)max, (int)l); + return 0; + } else { +- int i; ++ Py_ssize_t i; + for (i = 0; i < l; ++i) { + objs[i] = PyTuple_GET_ITEM(args, i); + } +@@ -1707,16 +1711,32 @@ + if (destroy) { + /* destroy is always a VARARGS method */ + PyObject *res; ++ ++ /* PyObject_CallFunction() has the potential to silently drop ++ the active active exception. In cases of unnamed temporary ++ variable or where we just finished iterating over a generator ++ StopIteration will be active right now, and this needs to ++ remain true upon return from SwigPyObject_dealloc. So save ++ and restore. */ ++ ++ PyObject *val = NULL, *type = NULL, *tb = NULL; ++ PyErr_Fetch(&val, &type, &tb); ++ + if (data->delargs) { +- /* we need to create a temporary object to carry the destroy operation */ +- PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0); +- res = SWIG_Python_CallFunctor(destroy, tmp); +- Py_DECREF(tmp); ++ /* we need to create a temporary object to carry the destroy operation */ ++ PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0); ++ res = SWIG_Python_CallFunctor(destroy, tmp); ++ Py_DECREF(tmp); + } else { +- PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); +- PyObject *mself = PyCFunction_GET_SELF(destroy); +- res = ((*meth)(mself, v)); ++ PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); ++ PyObject *mself = PyCFunction_GET_SELF(destroy); ++ res = ((*meth)(mself, v)); + } ++ if (!res) ++ PyErr_WriteUnraisable(destroy); ++ ++ PyErr_Restore(val, type, tb); ++ + Py_XDECREF(res); + } + #if !defined(SWIG_PYTHON_SILENT_MEMLEAK) +@@ -1740,6 +1760,7 @@ + next = tmp; + #endif + if (!SwigPyObject_Check(next)) { ++ PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject"); + return NULL; + } + sobj->next = next; +@@ -1895,7 +1916,9 @@ + (unaryfunc)SwigPyObject_oct, /*nb_oct*/ + (unaryfunc)SwigPyObject_hex, /*nb_hex*/ + #endif +-#if PY_VERSION_HEX >= 0x03000000 /* 3.0 */ ++#if PY_VERSION_HEX >= 0x03050000 /* 3.5 */ ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */ ++#elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */ + #elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */ +@@ -1975,10 +1998,19 @@ + 0, /* tp_del */ + #endif + #if PY_VERSION_HEX >= 0x02060000 +- 0, /* tp_version */ ++ 0, /* tp_version_tag */ ++#endif ++#if PY_VERSION_HEX >= 0x03040000 ++ 0, /* tp_finalize */ + #endif + #ifdef COUNT_ALLOCS +- 0,0,0,0 /* tp_alloc -> tp_next */ ++ 0, /* tp_allocs */ ++ 0, /* tp_frees */ ++ 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ 0, /* tp_prev */ ++#endif ++ 0 /* tp_next */ + #endif + }; + swigpyobject_type = tmp; +@@ -2154,10 +2186,19 @@ + 0, /* tp_del */ + #endif + #if PY_VERSION_HEX >= 0x02060000 +- 0, /* tp_version */ ++ 0, /* tp_version_tag */ ++#endif ++#if PY_VERSION_HEX >= 0x03040000 ++ 0, /* tp_finalize */ + #endif + #ifdef COUNT_ALLOCS +- 0,0,0,0 /* tp_alloc -> tp_next */ ++ 0, /* tp_allocs */ ++ 0, /* tp_frees */ ++ 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ 0, /* tp_prev */ ++#endif ++ 0 /* tp_next */ + #endif + }; + swigpypacked_type = tmp; +@@ -2685,13 +2726,11 @@ + { + PyObject *dict; + if (!PyModule_Check(m)) { +- PyErr_SetString(PyExc_TypeError, +- "PyModule_AddObject() needs module as first arg"); ++ PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg"); + return SWIG_ERROR; + } + if (!o) { +- PyErr_SetString(PyExc_TypeError, +- "PyModule_AddObject() needs non-NULL value"); ++ PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value"); + return SWIG_ERROR; + } + +@@ -2975,9 +3014,18 @@ + wrapper##_closure(PyObject *a) { \ + SwigPyObject *sobj; \ + sobj = (SwigPyObject *)a; \ +- Py_XDECREF(sobj->dict); \ ++ Py_XDECREF(sobj->dict); \ + if (sobj->own) { \ +- PyObject *o = wrapper(a, NULL); \ ++ PyObject *o; \ ++ PyObject *val = 0, *type = 0, *tb = 0; \ ++ PyErr_Fetch(&val, &type, &tb); \ ++ o = wrapper(a, NULL); \ ++ if (!o) { \ ++ PyObject *deallocname = PyString_FromString(#wrapper); \ ++ PyErr_WriteUnraisable(deallocname); \ ++ Py_DECREF(deallocname); \ ++ } \ ++ PyErr_Restore(val, type, tb); \ + Py_XDECREF(o); \ + } \ + if (PyType_IS_GC(a->ob_type)) { \ +@@ -3030,7 +3078,7 @@ + + #define SWIGPY_TERNARYCALLFUNC_CLOSURE(wrapper) \ + SWIGINTERN PyObject * \ +-wrapper##_closure(PyObject *callable_object, PyObject *args, PyObject *) { \ ++wrapper##_closure(PyObject *callable_object, PyObject *args, PyObject *) { \ + return wrapper(callable_object, args); \ + } + +@@ -3090,7 +3138,7 @@ + return result; \ + } + +-#define SWIGPY_FUNPACK_SSIZEARGFUNC_CLOSURE(wrapper) \ ++#define SWIGPY_FUNPACK_SSIZEARGFUNC_CLOSURE(wrapper) \ + SWIGINTERN PyObject * \ + wrapper##_closure(PyObject *a, Py_ssize_t b) { \ + PyObject *arg, *result; \ +@@ -3399,10 +3447,19 @@ + 0, /* tp_del */ + #endif + #if PY_VERSION_HEX >= 0x02060000 +- 0, /* tp_version */ ++ 0, /* tp_version_tag */ ++#endif ++#if PY_VERSION_HEX >= 0x03040000 ++ 0, /* tp_finalize */ + #endif + #ifdef COUNT_ALLOCS +- 0,0,0,0 /* tp_alloc -> tp_next */ ++ 0, /* tp_allocs */ ++ 0, /* tp_frees */ ++ 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ 0, /* tp_prev */ ++#endif ++ 0 /* tp_next */ + #endif + }; + staticvar_type = tmp; +@@ -3574,7 +3631,7 @@ + #endif + #define SWIG_name "_prelude" + +-#define SWIGVERSION 0x030006 ++#define SWIGVERSION 0x030008 + #define SWIG_VERSION SWIGVERSION + + +@@ -3814,9 +3871,11 @@ + if (PyFloat_Check(obj)) { + if (val) *val = PyFloat_AsDouble(obj); + return SWIG_OK; ++#if PY_VERSION_HEX < 0x03000000 + } else if (PyInt_Check(obj)) { + if (val) *val = PyInt_AsLong(obj); + return SWIG_OK; ++#endif + } else if (PyLong_Check(obj)) { + double v = PyLong_AsDouble(obj); + if (!PyErr_Occurred()) { +@@ -3908,18 +3967,7 @@ + return SWIG_OK; + } else { + PyErr_Clear(); +-#if PY_VERSION_HEX >= 0x03000000 +- { +- long v = PyLong_AsLong(obj); +- if (!PyErr_Occurred()) { +- if (v < 0) { +- return SWIG_OverflowError; +- } +- } else { +- PyErr_Clear(); +- } +- } +-#endif ++ return SWIG_OverflowError; + } + } + #ifdef SWIG_PYTHON_CAST_MODE +@@ -3976,16 +4024,20 @@ + SWIGINTERN int + SWIG_AsVal_long (PyObject *obj, long* val) + { ++#if PY_VERSION_HEX < 0x03000000 + if (PyInt_Check(obj)) { + if (val) *val = PyInt_AsLong(obj); + return SWIG_OK; +- } else if (PyLong_Check(obj)) { ++ } else ++#endif ++ if (PyLong_Check(obj)) { + long v = PyLong_AsLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_OK; + } else { + PyErr_Clear(); ++ return SWIG_OverflowError; + } + } + #ifdef SWIG_PYTHON_CAST_MODE +@@ -4160,7 +4212,7 @@ + MYPY_OBJOBJPROC_CLOSURE(_wrap_IDMEF___contains__) + + +-namespace swig { ++namespace swig { + template <class Type> + struct noconst_traits { + typedef Type noconst_type; +@@ -4174,7 +4226,7 @@ + /* + type categories + */ +- struct pointer_category { }; ++ struct pointer_category { }; + struct value_category { }; + + /* +@@ -4187,12 +4239,12 @@ + return traits<typename noconst_traits<Type >::noconst_type >::type_name(); + } + +- template <class Type> ++ template <class Type> + struct traits_info { + static swig_type_info *type_query(std::string name) { + name += " *"; + return SWIG_TypeQuery(name.c_str()); +- } ++ } + static swig_type_info *type_info() { + static swig_type_info *info = type_query(type_name<Type>()); + return info; +@@ -4213,17 +4265,17 @@ + std::string ptrname = name; + ptrname += " *"; + return ptrname; +- } ++ } + static const char* type_name() { + static std::string name = make_ptr_name(swig::type_name<Type>()); + return name.c_str(); + } + }; + +- template <class Type, class Category> ++ template <class Type, class Category> + struct traits_as { }; +- +- template <class Type, class Category> ++ ++ template <class Type, class Category> + struct traits_check { }; + + } +@@ -4567,6 +4619,12 @@ + return pos; + } + ++ template <class Sequence> ++ inline void ++ erase(Sequence* seq, const typename Sequence::iterator& position) { ++ seq->erase(position); ++ } ++ + template <class Sequence, class Difference> + inline Sequence* + getslice(const Sequence* self, Difference i, Difference j, Py_ssize_t step) { +@@ -4941,7 +4999,7 @@ + template <class T> + struct SwigPySequence_Ref + { +- SwigPySequence_Ref(PyObject* seq, int index) ++ SwigPySequence_Ref(PyObject* seq, Py_ssize_t index) + : _seq(seq), _index(index) + { + } +@@ -4953,7 +5011,7 @@ + return swig::as<T>(item, true); + } catch (std::exception& e) { + char msg[1024]; +- sprintf(msg, "in sequence element %d ", _index); ++ sprintf(msg, "in sequence element %d ", (int)_index); + if (!PyErr_Occurred()) { + ::SWIG_Error(SWIG_TypeError, swig::type_name<T>()); + } +@@ -4971,7 +5029,7 @@ + + private: + PyObject* _seq; +- int _index; ++ Py_ssize_t _index; + }; + + template <class T> +@@ -4992,13 +5050,13 @@ + typedef Reference reference; + typedef T value_type; + typedef T* pointer; +- typedef int difference_type; ++ typedef Py_ssize_t difference_type; + + SwigPySequence_InputIterator() + { + } + +- SwigPySequence_InputIterator(PyObject* seq, int index) ++ SwigPySequence_InputIterator(PyObject* seq, Py_ssize_t index) + : _seq(seq), _index(index) + { + } +@@ -5078,6 +5136,7 @@ + difference_type _index; + }; + ++ // STL container wrapper around a Python sequence + template <class T> + struct SwigPySequence_Cont + { +@@ -5085,8 +5144,8 @@ + typedef const SwigPySequence_Ref<T> const_reference; + typedef T value_type; + typedef T* pointer; +- typedef int difference_type; +- typedef int size_type; ++ typedef Py_ssize_t difference_type; ++ typedef size_t size_type; + typedef const pointer const_pointer; + typedef SwigPySequence_InputIterator<T, reference> iterator; + typedef SwigPySequence_InputIterator<T, const_reference> const_iterator; +@@ -5147,13 +5206,13 @@ + + bool check(bool set_err = true) const + { +- int s = size(); +- for (int i = 0; i < s; ++i) { ++ Py_ssize_t s = size(); ++ for (Py_ssize_t i = 0; i < s; ++i) { + swig::SwigVar_PyObject item = PySequence_GetItem(_seq, i); + if (!swig::check<value_type>(item)) { + if (set_err) { + char msg[1024]; +- sprintf(msg, "in sequence element %d", i); ++ sprintf(msg, "in sequence element %d", (int)i); + SWIG_Error(SWIG_RuntimeError, msg); + } + return false; +@@ -5341,6 +5400,7 @@ + return SWIG_OK; + } else { + PyErr_Clear(); ++ res = SWIG_OverflowError; + } + } else { + unsigned long v; +@@ -5411,7 +5471,7 @@ + + + namespace swig { +- template <> struct traits<Prelude::Connection > { ++ template <> struct traits< Prelude::Connection > { + typedef pointer_category category; + static const char* type_name() { return"Prelude::Connection"; } + }; +@@ -5483,10 +5543,9 @@ + #endif + size_type size = seq.size(); + if (size <= (size_type)INT_MAX) { +- PyObject *obj = PyTuple_New((int)size); +- int i = 0; +- for (const_iterator it = seq.begin(); +- it != seq.end(); ++it, ++i) { ++ PyObject *obj = PyTuple_New((Py_ssize_t)size); ++ Py_ssize_t i = 0; ++ for (const_iterator it = seq.begin(); it != seq.end(); ++it, ++i) { + PyTuple_SetItem(obj,i,swig::from<value_type>(*it)); + } + return obj; +@@ -5517,7 +5576,7 @@ + + + namespace swig { +- template <> struct traits<std::vector<Prelude::Connection, std::allocator< Prelude::Connection > > > { ++ template <> struct traits<std::vector< Prelude::Connection, std::allocator< Prelude::Connection > > > { + typedef pointer_category category; + static const char* type_name() { + return "std::vector<" "Prelude::Connection" "," "std::allocator< Prelude::Connection >" " >"; +@@ -5558,7 +5617,7 @@ + + + namespace swig { +- template <> struct traits<Prelude::IDMEF > { ++ template <> struct traits< Prelude::IDMEF > { + typedef pointer_category category; + static const char* type_name() { return"Prelude::IDMEF"; } + }; +@@ -5566,7 +5625,7 @@ + + + namespace swig { +- template <> struct traits<std::vector<Prelude::IDMEF, std::allocator< Prelude::IDMEF > > > { ++ template <> struct traits<std::vector< Prelude::IDMEF, std::allocator< Prelude::IDMEF > > > { + typedef pointer_category category; + static const char* type_name() { + return "std::vector<" "Prelude::IDMEF" "," "std::allocator< Prelude::IDMEF >" " >"; +@@ -5576,7 +5635,7 @@ + + + namespace swig { +- template <> struct traits<Prelude::IDMEFValue > { ++ template <> struct traits< Prelude::IDMEFValue > { + typedef pointer_category category; + static const char* type_name() { return"Prelude::IDMEFValue"; } + }; +@@ -5584,7 +5643,7 @@ + + + namespace swig { +- template <> struct traits<std::vector<Prelude::IDMEFValue, std::allocator< Prelude::IDMEFValue > > > { ++ template <> struct traits<std::vector< Prelude::IDMEFValue, std::allocator< Prelude::IDMEFValue > > > { + typedef pointer_category category; + static const char* type_name() { + return "std::vector<" "Prelude::IDMEFValue" "," "std::allocator< Prelude::IDMEFValue >" " >"; +@@ -5604,6 +5663,7 @@ + return SWIG_OK; + } else { + PyErr_Clear(); ++ res = SWIG_OverflowError; + } + } else { + long v; +@@ -5863,17 +5923,17 @@ + + + namespace swig { +- template <> struct traits<std::string > { ++ template <> struct traits< std::string > { + typedef value_category category; + static const char* type_name() { return"std::string"; } +- }; +- template <> struct traits_asval<std::string > { ++ }; ++ template <> struct traits_asval< std::string > { + typedef std::string value_type; +- static int asval(PyObject *obj, value_type *val) { ++ static int asval(PyObject *obj, value_type *val) { + return SWIG_AsVal_std_string (obj, val); + } + }; +- template <> struct traits_from<std::string > { ++ template <> struct traits_from< std::string > { + typedef std::string value_type; + static PyObject *from(const value_type& val) { + return SWIG_From_std_string (val); +@@ -5883,7 +5943,7 @@ + + + namespace swig { +- template <> struct traits<std::vector<std::string, std::allocator< std::string > > > { ++ template <> struct traits<std::vector< std::string, std::allocator< std::string > > > { + typedef pointer_category category; + static const char* type_name() { + return "std::vector<" "std::string" "," "std::allocator< std::string >" " >"; +@@ -6088,8 +6148,10 @@ + + + SWIGINTERN PyObject *_wrap_SwigPyIterator_incr(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"SwigPyIterator_incr",0,2,argv+1))) SWIG_fail; + argv[0] = self; +@@ -6180,8 +6242,10 @@ + + + SWIGINTERN PyObject *_wrap_SwigPyIterator_decr(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"SwigPyIterator_decr",0,2,argv+1))) SWIG_fail; + argv[0] = self; +@@ -6705,8 +6769,10 @@ + + + SWIGINTERN PyObject *_wrap_SwigPyIterator___sub__(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"SwigPyIterator___sub__",0,2,argv+1))) SWIG_fail; + argv[0] = self; +@@ -6789,8 +6855,10 @@ + + + SWIGINTERN PyObject *_wrap_checkVersion(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"checkVersion",0,1,argv))) SWIG_fail; + --argc; +@@ -6929,8 +6997,10 @@ + + + SWIGINTERN int _wrap_new_ClientProfile(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_ClientProfile",0,1,argv))) SWIG_fail; + --argc; +@@ -7805,8 +7875,10 @@ + + + SWIGINTERN int _wrap_new_Connection(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_Connection",0,2,argv))) SWIG_fail; + --argc; +@@ -8666,8 +8738,10 @@ + + + SWIGINTERN int _wrap_new_ConnectionPool(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_ConnectionPool",0,2,argv))) SWIG_fail; + --argc; +@@ -8847,7 +8921,7 @@ + SWIG_fail; + } + } +- resultobj = swig::from(static_cast< std::vector<Prelude::Connection,std::allocator< Prelude::Connection > > >(result)); ++ resultobj = swig::from(static_cast< std::vector< Prelude::Connection,std::allocator< Prelude::Connection > > >(result)); + return resultobj; + fail: + return NULL; +@@ -9354,8 +9428,10 @@ + + + SWIGINTERN int _wrap_new_Client(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_Client",0,1,argv))) SWIG_fail; + --argc; +@@ -10412,8 +10488,10 @@ + + + SWIGINTERN int _wrap_new_PreludeError(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_PreludeError",0,1,argv))) SWIG_fail; + --argc; +@@ -10883,8 +10961,10 @@ + + + SWIGINTERN int _wrap_new_IDMEFCriteria(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_IDMEFCriteria",0,1,argv))) SWIG_fail; + --argc; +@@ -11281,7 +11361,7 @@ + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { +- std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *ptr = (std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *)0; ++ std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *ptr = (std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *)0; + res1 = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IDMEFValue" "', argument " "1"" of type '" "std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > const &""'"); +@@ -11351,7 +11431,7 @@ + + if ((nobjs < 1) || (nobjs > 1)) SWIG_fail; + { +- std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; ++ std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; + res1 = swig::asptr(swig_obj[0], &ptr); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IDMEFValue" "', argument " "1"" of type '" "std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > const &""'"); +@@ -11631,8 +11711,10 @@ + + + SWIGINTERN int _wrap_new_IDMEFValue(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_IDMEFValue",0,1,argv))) SWIG_fail; + --argc; +@@ -11765,7 +11847,7 @@ + if (argc == 1) { + int _v = 0; + { +- int res = swig::asptr(argv[0], (std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > >**)(0)); ++ int res = swig::asptr(argv[0], (std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > >**)(0)); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_12; +@@ -11945,7 +12027,7 @@ + } + arg1 = reinterpret_cast< Prelude::IDMEFValue * >(argp1); + { +- std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; ++ std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; + res2 = swig::asptr(swig_obj[1], &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IDMEFValue___eq__" "', argument " "2"" of type '" "std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > const &""'"); +@@ -12188,8 +12270,10 @@ + + + SWIGINTERN PyObject *_wrap_IDMEFValue___eq__(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"IDMEFValue___eq__",0,2,argv+1))) SWIG_fail; + argv[0] = self; +@@ -12398,8 +12482,10 @@ + + + SWIGINTERN int _wrap_new_IDMEFPath(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_IDMEFPath",0,2,argv))) SWIG_fail; + --argc; +@@ -12500,7 +12586,7 @@ + } + arg2 = reinterpret_cast< Prelude::IDMEF * >(argp2); + { +- std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *ptr = (std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *)0; ++ std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *ptr = (std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *)0; + res3 = swig::asptr(swig_obj[2], &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IDMEFPath_set" "', argument " "3"" of type '" "std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > const &""'"); +@@ -12603,7 +12689,7 @@ + } + arg2 = reinterpret_cast< Prelude::IDMEF * >(argp2); + { +- std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; ++ std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; + res3 = swig::asptr(swig_obj[2], &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IDMEFPath_set" "', argument " "3"" of type '" "std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > const &""'"); +@@ -13027,8 +13113,10 @@ + + + SWIGINTERN PyObject *_wrap_IDMEFPath_set(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[4]; ++ Py_ssize_t argc; ++ PyObject *argv[4] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"IDMEFPath_set",0,3,argv+1))) SWIG_fail; + argv[0] = self; +@@ -13147,7 +13235,7 @@ + if (argc == 3) { + int _v = 0; + { +- int res = swig::asptr(argv[2], (std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > >**)(0)); ++ int res = swig::asptr(argv[2], (std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > >**)(0)); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_10; +@@ -14073,8 +14161,10 @@ + + + SWIGINTERN int _wrap_new_IDMEFTime(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_IDMEFTime",0,1,argv))) SWIG_fail; + --argc; +@@ -14320,8 +14410,10 @@ + + + SWIGINTERN PyObject *_wrap_IDMEFTime_set(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"IDMEFTime_set",0,2,argv+1))) SWIG_fail; + argv[0] = self; +@@ -15104,8 +15196,10 @@ + + + SWIGINTERN int _wrap_new_IDMEFClass(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_IDMEFClass",0,1,argv))) SWIG_fail; + --argc; +@@ -15266,8 +15360,10 @@ + + + SWIGINTERN PyObject *_wrap_IDMEFClass_get(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[3]; ++ Py_ssize_t argc; ++ PyObject *argv[3] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"IDMEFClass_get",0,2,argv+1))) SWIG_fail; + argv[0] = self; +@@ -15608,7 +15704,7 @@ + SWIG_fail; + } + } +- resultobj = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result)); ++ resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); + return resultobj; + fail: + return NULL; +@@ -15833,8 +15929,10 @@ + + + SWIGINTERN int _wrap_new_IDMEF(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[2]; ++ Py_ssize_t argc; ++ PyObject *argv[2] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"new_IDMEF",0,1,argv))) SWIG_fail; + --argc; +@@ -15890,7 +15988,7 @@ + } + arg2 = reinterpret_cast< char * >(buf2); + { +- std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *ptr = (std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *)0; ++ std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *ptr = (std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > *)0; + res3 = swig::asptr(swig_obj[2], &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IDMEF_set" "', argument " "3"" of type '" "std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > > const &""'"); +@@ -15993,7 +16091,7 @@ + } + arg2 = reinterpret_cast< char * >(buf2); + { +- std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector<Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; ++ std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *ptr = (std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > *)0; + res3 = swig::asptr(swig_obj[2], &ptr); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IDMEF_set" "', argument " "3"" of type '" "std::vector< Prelude::IDMEFValue,std::allocator< Prelude::IDMEFValue > > const &""'"); +@@ -16419,8 +16517,10 @@ + + + SWIGINTERN PyObject *_wrap_IDMEF_set(PyObject *self, PyObject *args) { +- int argc; +- PyObject *argv[4]; ++ Py_ssize_t argc; ++ PyObject *argv[4] = { ++ 0 ++ }; + + if (!(argc = SWIG_Python_UnpackTuple(args,"IDMEF_set",0,3,argv+1))) SWIG_fail; + argv[0] = self; +@@ -16539,7 +16639,7 @@ + if (argc == 3) { + int _v = 0; + { +- int res = swig::asptr(argv[2], (std::vector<Prelude::IDMEF,std::allocator< Prelude::IDMEF > >**)(0)); ++ int res = swig::asptr(argv[2], (std::vector< Prelude::IDMEF,std::allocator< Prelude::IDMEF > >**)(0)); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_10; +@@ -17213,7 +17313,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) (binaryfunc) _wrap_SwigPyIterator___add__, /* nb_add */ + (binaryfunc) (binaryfunc) _wrap_SwigPyIterator___sub___closure, /* nb_subtract */ +@@ -17268,6 +17387,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -17308,6 +17431,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__swig__SwigPyIterator_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__swig__SwigPyIterator_type}; +@@ -17420,7 +17547,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -17475,6 +17621,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -17515,6 +17665,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__ClientProfile_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__ClientProfile_type}; +@@ -17626,7 +17780,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -17681,6 +17854,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -17721,6 +17898,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__Connection_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__Connection_type}; +@@ -17828,7 +18009,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -17883,6 +18083,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -17923,6 +18127,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__ConnectionPool_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__ConnectionPool_type}; +@@ -18033,7 +18241,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -18088,6 +18315,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -18128,6 +18359,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__Client_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__Client_type}; +@@ -18228,7 +18463,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif ++ }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ + }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -18283,6 +18537,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -18323,6 +18581,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__PreludeLog_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__PreludeLog_type}; +@@ -18419,7 +18681,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -18474,6 +18755,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -18514,6 +18799,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__PreludeError_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__PreludeError_type}; +@@ -18608,7 +18897,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif ++ }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ + }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -18663,6 +18971,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -18703,6 +19015,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__ClientEasy_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__ClientEasy_type}; +@@ -18797,7 +19113,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif ++ }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ + }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -18852,6 +19187,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -18892,6 +19231,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEFCriterion_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEFCriterion_type}; +@@ -18991,7 +19334,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -19046,6 +19408,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -19086,6 +19452,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEFCriteria_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEFCriteria_type}; +@@ -19200,7 +19570,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -19255,6 +19644,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -19295,6 +19688,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEFValue_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEFValue_type}; +@@ -19407,7 +19804,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -19462,6 +19878,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -19502,6 +19922,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEFPath_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEFPath_type}; +@@ -19622,7 +20046,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -19677,6 +20120,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -19717,6 +20164,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEFTime_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEFTime_type}; +@@ -19823,7 +20274,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -19878,6 +20348,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) (lenfunc) _wrap_IDMEFClass_getChildCount_closure, /* mp_length */ +@@ -19918,6 +20392,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEFClass_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEFClass_type}; +@@ -20028,7 +20506,26 @@ + #if PY_VERSION_HEX >= 0x02060000 + (int) 0, /* tp_version_tag */ + #endif ++#if PY_VERSION_HEX >= 0x03040000 ++ (destructor) 0, /* tp_finalize */ ++#endif ++#ifdef COUNT_ALLOCS ++ (Py_ssize_t) 0, /* tp_allocs */ ++ (Py_ssize_t) 0, /* tp_frees */ ++ (Py_ssize_t) 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ (struct _typeobject*) 0, /* tp_prev */ ++#endif ++ (struct _typeobject*) 0, /* tp_next */ ++#endif + }, ++#if PY_VERSION_HEX >= 0x03050000 ++ { ++ (unaryfunc) 0, /* am_await */ ++ (unaryfunc) 0, /* am_aiter */ ++ (unaryfunc) 0, /* am_anext */ ++ }, ++#endif + { + (binaryfunc) 0, /* nb_add */ + (binaryfunc) 0, /* nb_subtract */ +@@ -20083,6 +20580,10 @@ + #if PY_VERSION_HEX >= 0x02050000 + (unaryfunc) 0, /* nb_index */ + #endif ++#if PY_VERSION_HEX >= 0x03050000 ++ (binaryfunc) 0, /* nb_matrix_multiply */ ++ (binaryfunc) 0, /* nb_inplace_matrix_multiply */ ++#endif + }, + { + (lenfunc) 0, /* mp_length */ +@@ -20123,6 +20624,10 @@ + }, + (PyObject*) 0, /* ht_name */ + (PyObject*) 0, /* ht_slots */ ++#if PY_VERSION_HEX >= 0x03030000 ++ (PyObject*) 0, /* ht_qualname */ ++ (struct _dictkeysobject*) 0, /* ht_cached_keys */ ++#endif + }; + + SWIGINTERN SwigPyClientData SwigPyBuiltin__Prelude__IDMEF_clientdata = {0, 0, 0, 0, 0, 0, (PyTypeObject *)&SwigPyBuiltin__Prelude__IDMEF_type}; +@@ -20739,10 +21244,19 @@ + 0, /* tp_del */ + #endif + #if PY_VERSION_HEX >= 0x02060000 +- 0, /* tp_version */ ++ 0, /* tp_version_tag */ ++#endif ++#if PY_VERSION_HEX >= 0x03040000 ++ 0, /* tp_finalize */ + #endif + #ifdef COUNT_ALLOCS +- 0,0,0,0 /* tp_alloc -> tp_next */ ++ 0, /* tp_allocs */ ++ 0, /* tp_frees */ ++ 0, /* tp_maxalloc */ ++#if PY_VERSION_HEX >= 0x02050000 ++ 0, /* tp_prev */ ++#endif ++ 0 /* tp_next */ + #endif + }; + varlink_type = tmp; diff --git a/ruby.patch b/ruby.patch new file mode 100644 index 000000000000..6a0886d32042 --- /dev/null +++ b/ruby.patch @@ -0,0 +1,24 @@ +--- libprelude-3.0.0/configure 2016-04-23 00:04:31.791000363 +0200 ++++ libprelude-3.0.0/configure 2016-04-28 11:34:46.723333332 +0200 +@@ -21843,7 +21843,8 @@ + + + RUBY_INCLUDES=`$RUBY -r rbconfig -e 'if RbConfig::CONFIG["archdir"] then print " -I" + RbConfig::CONFIG["archdir"] end +- if RbConfig::CONFIG["rubyhdrdir"] then print " -I" + RbConfig::CONFIG["rubyhdrdir"] end'` ++ if RbConfig::CONFIG["rubyhdrdir"] then print " -I" + RbConfig::CONFIG["rubyhdrdir"] end ++ if RbConfig::CONFIG["rubyhdrdir"] then print " -I" + RbConfig::CONFIG["rubyhdrdir"] + "/" + RbConfig::CONFIG["sitearch"] end'` + + + +--- libprelude-3.0.0/m4/am_path_ruby.m4 2016-04-22 23:26:58.614000363 +0200 ++++ libprelude-3.0.0/m4/am_path_ruby.m4 2016-04-28 11:35:05.476666650 +0200 +@@ -100,7 +100,8 @@ + AC_SUBST([rbexecdir], [$am_cv_ruby_rbexecdir]) + + RUBY_INCLUDES=`$RUBY -r rbconfig -e 'if RbConfig::CONFIG[["archdir"]] then print " -I" + RbConfig::CONFIG[["archdir"]] end +- if RbConfig::CONFIG[["rubyhdrdir"]] then print " -I" + RbConfig::CONFIG[["rubyhdrdir"]] end'` ++ if RbConfig::CONFIG[["rubyhdrdir"]] then print " -I" + RbConfig::CONFIG[["rubyhdrdir"]] end ++ if RbConfig::CONFIG["rubyhdrdir"] then print " -I" + RbConfig::CONFIG["rubyhdrdir"] + "/" + RbConfig::CONFIG["sitearch"] end'` + AC_SUBST([RUBY_INCLUDES]) + + dnl pkgrbexecdir -- $(rbexecdir)/$(PACKAGE) diff --git a/ruby_swig.patch b/ruby_swig.patch new file mode 100644 index 000000000000..1b30a8c3138f --- /dev/null +++ b/ruby_swig.patch @@ -0,0 +1,39 @@ +--- libprelude-3.0.0/bindings/ruby/Prelude.cxx 2016-04-22 23:26:58.270000362 +0200 ++++ libprelude-3.0.0/bindings/ruby/Prelude.cxx 2016-04-28 11:37:20.826666666 +0200 +@@ -867,7 +867,17 @@ + #define SWIG_NullReferenceError -13 + + +- ++#ifdef __cplusplus ++// Work around C++ incompatibility in Ruby 2.3.0 headers: ++// https://bugs.ruby-lang.org/issues/11962 ++# include <ruby/config.h> ++# ifdef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P ++# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P ++# endif ++# ifdef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P ++# undef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P ++# endif ++#endif + #include <ruby.h> + + /* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which +@@ -2596,6 +2606,17 @@ + + extern "C" { + ++#ifdef __cplusplus ++// Work around C++ incompatibility in Ruby 2.3.0 headers: ++// https://bugs.ruby-lang.org/issues/11962 ++# include <ruby/config.h> ++# ifdef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P ++# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P ++# endif ++# ifdef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P ++# undef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P ++# endif ++#endif + #include <ruby.h> + /* + * cannot put libmissing into the include path, as it will trigger |