From 3c73b023a180f644cd340f1021f82dbe7b171681 Mon Sep 17 00:00:00 2001 From: milisbir Date: Wed, 18 Jul 2018 20:01:41 +0200 Subject: [PATCH] python-gobject2 --- .../pygobject-2.16.1-fixdetection.patch | 13 - .../pygobject-2.28.6-fixes-1.patch | 720 ------------------ talimatname/genel/p/python-gobject2/talimat | 15 +- 3 files changed, 7 insertions(+), 741 deletions(-) delete mode 100644 talimatname/genel/p/python-gobject2/pygobject-2.16.1-fixdetection.patch delete mode 100644 talimatname/genel/p/python-gobject2/pygobject-2.28.6-fixes-1.patch diff --git a/talimatname/genel/p/python-gobject2/pygobject-2.16.1-fixdetection.patch b/talimatname/genel/p/python-gobject2/pygobject-2.16.1-fixdetection.patch deleted file mode 100644 index 714144d62..000000000 --- a/talimatname/genel/p/python-gobject2/pygobject-2.16.1-fixdetection.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -p -up pygobject-2.16.1/pygtk.py.fixdetection pygobject-2.16.1/pygtk.py ---- pygobject-2.16.1/pygtk.py.fixdetection 2009-02-20 22:27:14.000000000 +0100 -+++ pygobject-2.16.1/pygtk.py 2009-02-23 09:44:55.000000000 +0100 -@@ -57,6 +57,9 @@ def _get_available_versions(): - # skip empty directories - if not os.listdir(pathname): - continue -+ # only accept directories containing gtk.py or gobject.so -+ if not glob.glob(os.path.join(pathname, "gtk.py")) and not glob.glob(os.path.join(pathname,"gobject.so")): -+ continue - - if not versions.has_key(filename[-3:]): - versions[filename[-3:]] = pathname diff --git a/talimatname/genel/p/python-gobject2/pygobject-2.28.6-fixes-1.patch b/talimatname/genel/p/python-gobject2/pygobject-2.28.6-fixes-1.patch deleted file mode 100644 index c43d99820..000000000 --- a/talimatname/genel/p/python-gobject2/pygobject-2.28.6-fixes-1.patch +++ /dev/null @@ -1,720 +0,0 @@ -Submitted By: Andrew Benton (gobject-introspection) and Armin K. , after thomas kaedin (git) -Date: 2012-03-29 (gobject-introspection) and 2014-03-04 (git) -Initial Package Version: 2.28.6 -Upstream Status: not submitted (gobject-introspection) and committed (git) -Origin: Andrew Benton (gobject-introspection) and upstream (git) -Tanım: Fixes compiling with recent versions of gobject-introspection; and upstream fixes - -diff -Naur pygobject-2.28.6.orig/configure.ac pygobject-2.28.6/configure.ac ---- pygobject-2.28.6.orig/configure.ac 2011-06-13 13:33:56.000000000 -0300 -+++ pygobject-2.28.6/configure.ac 2014-03-04 18:36:07.947079909 -0300 -@@ -85,7 +85,7 @@ - AM_PROG_CC_STDC - AM_PROG_CC_C_O - --# check that we have the minimum version of python necisary to build -+# check that we have the minimum version of python necessary to build - JD_PATH_PYTHON(python_min_ver) - - # check if we are building for python 3 -@@ -236,7 +236,7 @@ - AC_ARG_ENABLE(introspection, - AC_HELP_STRING([--enable-introspection], [Use introspection information]), - enable_introspection=$enableval, -- enable_introspection=yes) -+ enable_introspection=no) - if test "$enable_introspection" != no; then - AC_DEFINE(ENABLE_INTROSPECTION,1,Use introspection information) - PKG_CHECK_MODULES(GI, -@@ -262,6 +262,9 @@ - AC_SUBST(INTROSPECTION_SCANNER) - AC_SUBST(INTROSPECTION_COMPILER) - -+dnl Do not install codegen for Python 3. -+AM_CONDITIONAL(ENABLE_CODEGEN, test $build_py3k = false) -+ - dnl add required cflags ... - if test "x$GCC" = "xyes"; then - JH_ADD_CFLAG([-Wall]) -@@ -281,8 +284,6 @@ - Makefile - pygobject-2.0.pc - pygobject-2.0-uninstalled.pc -- codegen/Makefile -- codegen/pygobject-codegen-2.0 - docs/Makefile - docs/reference/entities.docbook - docs/xsl/fixxref.py -@@ -295,6 +296,13 @@ - examples/Makefile - tests/Makefile - PKG-INFO) -+ -+if test $build_py3k = false; then -+ AC_CONFIG_FILES( -+ codegen/Makefile -+ codegen/pygobject-codegen-2.0) -+fi -+ - AC_OUTPUT - - echo -diff -Naur pygobject-2.28.6.orig/gi/module.py pygobject-2.28.6/gi/module.py ---- pygobject-2.28.6.orig/gi/module.py 2011-06-13 13:30:25.000000000 -0300 -+++ pygobject-2.28.6/gi/module.py 2014-03-04 18:36:07.947079909 -0300 -@@ -24,7 +24,11 @@ - - import os - import gobject --import string -+try: -+ maketrans = ''.maketrans -+except AttributeError: -+ # fallback for Python 2 -+ from string import maketrans - - import gi - from .overrides import registry -@@ -124,7 +128,7 @@ - # Don't use upper() here to avoid locale specific - # identifier conversion (e. g. in Turkish 'i'.upper() == 'i') - # see https://bugzilla.gnome.org/show_bug.cgi?id=649165 -- ascii_upper_trans = string.maketrans( -+ ascii_upper_trans = maketrans( - 'abcdefgjhijklmnopqrstuvwxyz', - 'ABCDEFGJHIJKLMNOPQRSTUVWXYZ') - for value_info in info.get_values(): -diff -Naur pygobject-2.28.6.orig/gi/overrides/Gtk.py pygobject-2.28.6/gi/overrides/Gtk.py ---- pygobject-2.28.6.orig/gi/overrides/Gtk.py 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/gi/overrides/Gtk.py 2014-03-04 18:36:07.949079863 -0300 -@@ -35,6 +35,18 @@ - Gtk = modules['Gtk']._introspection_module - __all__ = [] - -+if Gtk._version == '2.0': -+ import warnings -+ warn_msg = "You have imported the Gtk 2.0 module. Because Gtk 2.0 \ -+was not designed for use with introspection some of the \ -+interfaces and API will fail. As such this is not supported \ -+by the pygobject development team and we encourage you to \ -+port your app to Gtk 3 or greater. PyGTK is the recomended \ -+python module to use with Gtk 2.0" -+ -+ warnings.warn(warn_msg, RuntimeWarning) -+ -+ - class Widget(Gtk.Widget): - - def translate_coordinates(self, dest_widget, src_x, src_y): -@@ -401,16 +413,22 @@ - def __init__(self, - parent=None, - flags=0, -- type=Gtk.MessageType.INFO, -+ message_type=Gtk.MessageType.INFO, - buttons=Gtk.ButtonsType.NONE, - message_format=None, - **kwds): - - if message_format != None: - kwds['text'] = message_format -+ -+ if 'type' in kwds: -+ import warnings -+ warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", DeprecationWarning) -+ message_type = kwds['type'] -+ - Gtk.MessageDialog.__init__(self, - _buttons_property=buttons, -- message_type=type, -+ message_type=message_type, - **kwds) - Dialog.__init__(self, parent=parent, flags=flags) - -@@ -619,12 +637,18 @@ - def forward_search(self, string, flags, limit): - success, match_start, match_end = super(TextIter, self).forward_search(string, - flags, limit) -- return (match_start, match_end,) -+ if success: -+ return (match_start, match_end) -+ else: -+ return None - - def backward_search(self, string, flags, limit): - success, match_start, match_end = super(TextIter, self).backward_search(string, - flags, limit) -- return (match_start, match_end,) -+ if success: -+ return (match_start, match_end) -+ else: -+ return None - - def begins_tag(self, tag=None): - return super(TextIter, self).begins_tag(tag) -diff -Naur pygobject-2.28.6.orig/gi/pygi-foreign-cairo.c pygobject-2.28.6/gi/pygi-foreign-cairo.c ---- pygobject-2.28.6.orig/gi/pygi-foreign-cairo.c 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/gi/pygi-foreign-cairo.c 2014-03-04 18:36:07.949079863 -0300 -@@ -30,7 +30,7 @@ - #include - #endif - --Pycairo_CAPI_t *Pycairo_CAPI; -+static Pycairo_CAPI_t *Pycairo_CAPI; - - #include "pygi-foreign.h" - -@@ -114,10 +114,15 @@ - Py_RETURN_NONE; - } - --static PyMethodDef _gi_cairo_functions[] = {}; -+static PyMethodDef _gi_cairo_functions[] = {0,}; - PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo") - { -+#if PY_VERSION_HEX < 0x03000000 - Pycairo_IMPORT; -+#else -+ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI"); -+#endif -+ - if (Pycairo_CAPI == NULL) - return PYGLIB_MODULE_ERROR_RETURN; - -diff -Naur pygobject-2.28.6.orig/gi/pygi-info.c pygobject-2.28.6/gi/pygi-info.c ---- pygobject-2.28.6.orig/gi/pygi-info.c 2011-06-13 13:30:25.000000000 -0300 -+++ pygobject-2.28.6/gi/pygi-info.c 2014-03-04 18:35:32.473899924 -0300 -@@ -162,9 +162,6 @@ - case GI_INFO_TYPE_CONSTANT: - type = &PyGIConstantInfo_Type; - break; -- case GI_INFO_TYPE_ERROR_DOMAIN: -- type = &PyGIErrorDomainInfo_Type; -- break; - case GI_INFO_TYPE_UNION: - type = &PyGIUnionInfo_Type; - break; -@@ -481,7 +478,6 @@ - case GI_INFO_TYPE_INVALID: - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CONSTANT: -- case GI_INFO_TYPE_ERROR_DOMAIN: - case GI_INFO_TYPE_VALUE: - case GI_INFO_TYPE_SIGNAL: - case GI_INFO_TYPE_PROPERTY: -@@ -860,7 +856,6 @@ - case GI_INFO_TYPE_INVALID: - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CONSTANT: -- case GI_INFO_TYPE_ERROR_DOMAIN: - case GI_INFO_TYPE_VALUE: - case GI_INFO_TYPE_SIGNAL: - case GI_INFO_TYPE_PROPERTY: -diff -Naur pygobject-2.28.6.orig/gio/gio-types.defs pygobject-2.28.6/gio/gio-types.defs ---- pygobject-2.28.6.orig/gio/gio-types.defs 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/gio/gio-types.defs 2014-03-04 18:36:07.950079840 -0300 -@@ -526,7 +526,7 @@ - ) - ) - --(define-enum MountMountFlags -+(define-flags MountMountFlags - (in-module "gio") - (c-name "GMountMountFlags") - (gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS") -@@ -545,7 +545,7 @@ - ) - ) - --(define-enum DriveStartFlags -+(define-flags DriveStartFlags - (in-module "gio") - (c-name "GDriveStartFlags") - (gtype-id "G_TYPE_DRIVE_START_FLAGS") -@@ -770,7 +770,7 @@ - ) - ) - --(define-enum SocketMsgFlags -+(define-flags SocketMsgFlags - (in-module "gio") - (c-name "GSocketMsgFlags") - (gtype-id "G_TYPE_SOCKET_MSG_FLAGS") -diff -Naur pygobject-2.28.6.orig/gobject/gobjectmodule.c pygobject-2.28.6/gobject/gobjectmodule.c ---- pygobject-2.28.6.orig/gobject/gobjectmodule.c 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/gobject/gobjectmodule.c 2014-03-04 18:36:07.952079793 -0300 -@@ -312,13 +312,6 @@ - pyglib_gil_state_release(state); - } - --static void --pyg_object_class_init(GObjectClass *class, PyObject *py_class) --{ -- class->set_property = pyg_object_set_property; -- class->get_property = pyg_object_get_property; --} -- - typedef struct _PyGSignalAccumulatorData { - PyObject *callable; - PyObject *user_data; -@@ -484,15 +477,14 @@ - } - - static PyObject * --add_signals (GType instance_type, PyObject *signals) -+add_signals (GObjectClass *klass, PyObject *signals) - { - gboolean ret = TRUE; -- GObjectClass *oclass; - Py_ssize_t pos = 0; - PyObject *key, *value, *overridden_signals = NULL; -+ GType instance_type = G_OBJECT_CLASS_TYPE (klass); - - overridden_signals = PyDict_New(); -- oclass = g_type_class_ref(instance_type); - while (PyDict_Next(signals, &pos, &key, &value)) { - const gchar *signal_name; - gchar *signal_name_canon, *c; -@@ -530,7 +522,6 @@ - if (!ret) - break; - } -- g_type_class_unref(oclass); - if (ret) - return overridden_signals; - else { -@@ -800,14 +791,12 @@ - } - - static gboolean --add_properties (GType instance_type, PyObject *properties) -+add_properties (GObjectClass *klass, PyObject *properties) - { - gboolean ret = TRUE; -- GObjectClass *oclass; - Py_ssize_t pos = 0; - PyObject *key, *value; - -- oclass = g_type_class_ref(instance_type); - while (PyDict_Next(properties, &pos, &key, &value)) { - const gchar *prop_name; - GType prop_type; -@@ -873,7 +862,7 @@ - Py_DECREF(slice); - - if (pspec) { -- g_object_class_install_property(oclass, 1, pspec); -+ g_object_class_install_property(klass, 1, pspec); - } else { - PyObject *type, *value, *traceback; - ret = FALSE; -@@ -883,7 +872,7 @@ - g_snprintf(msg, 256, - "%s (while registering property '%s' for GType '%s')", - PYGLIB_PyUnicode_AsString(value), -- prop_name, g_type_name(instance_type)); -+ prop_name, G_OBJECT_CLASS_NAME(klass)); - Py_DECREF(value); - value = PYGLIB_PyUnicode_FromString(msg); - } -@@ -892,11 +881,63 @@ - } - } - -- g_type_class_unref(oclass); - return ret; - } - - static void -+pyg_object_class_init(GObjectClass *class, PyObject *py_class) -+{ -+ PyObject *gproperties, *gsignals, *overridden_signals; -+ PyObject *class_dict = ((PyTypeObject*) py_class)->tp_dict; -+ -+ class->set_property = pyg_object_set_property; -+ class->get_property = pyg_object_get_property; -+ -+ /* install signals */ -+ /* we look this up in the instance dictionary, so we don't -+ * accidentally get a parent type's __gsignals__ attribute. */ -+ gsignals = PyDict_GetItemString(class_dict, "__gsignals__"); -+ if (gsignals) { -+ if (!PyDict_Check(gsignals)) { -+ PyErr_SetString(PyExc_TypeError, -+ "__gsignals__ attribute not a dict!"); -+ return; -+ } -+ if (!(overridden_signals = add_signals(class, gsignals))) { -+ return; -+ } -+ if (PyDict_SetItemString(class_dict, "__gsignals__", -+ overridden_signals)) { -+ return; -+ } -+ Py_DECREF(overridden_signals); -+ -+ PyDict_DelItemString(class_dict, "__gsignals__"); -+ } else { -+ PyErr_Clear(); -+ } -+ -+ /* install properties */ -+ /* we look this up in the instance dictionary, so we don't -+ * accidentally get a parent type's __gproperties__ attribute. */ -+ gproperties = PyDict_GetItemString(class_dict, "__gproperties__"); -+ if (gproperties) { -+ if (!PyDict_Check(gproperties)) { -+ PyErr_SetString(PyExc_TypeError, -+ "__gproperties__ attribute not a dict!"); -+ return; -+ } -+ if (!add_properties(class, gproperties)) { -+ return; -+ } -+ PyDict_DelItemString(class_dict, "__gproperties__"); -+ /* Borrowed reference. Py_DECREF(gproperties); */ -+ } else { -+ PyErr_Clear(); -+ } -+} -+ -+static void - pyg_register_class_init(GType gtype, PyGClassInitFunc class_init) - { - GSList *list; -@@ -1068,7 +1109,7 @@ - */ - static void - pyg_type_add_interfaces(PyTypeObject *class, GType instance_type, -- PyObject *bases, gboolean new_interfaces, -+ PyObject *bases, - GType *parent_interfaces, guint n_parent_interfaces) - { - int i; -@@ -1082,7 +1123,6 @@ - guint k; - PyObject *base = PyTuple_GET_ITEM(bases, i); - GType itype; -- gboolean is_new = TRUE; - const GInterfaceInfo *iinfo; - GInterfaceInfo iinfo_copy; - -@@ -1099,16 +1139,6 @@ - if (!G_TYPE_IS_INTERFACE(itype)) - continue; - -- for (k = 0; k < n_parent_interfaces; ++k) { -- if (parent_interfaces[k] == itype) { -- is_new = FALSE; -- break; -- } -- } -- -- if ((new_interfaces && !is_new) || (!new_interfaces && is_new)) -- continue; -- - iinfo = pyg_lookup_interface_info(itype); - if (!iinfo) { - gchar *error; -@@ -1129,7 +1159,7 @@ - int - pyg_type_register(PyTypeObject *class, const char *type_name) - { -- PyObject *gtype, *gsignals, *gproperties, *overridden_signals; -+ PyObject *gtype; - GType parent_type, instance_type; - GType *parent_interfaces; - guint n_parent_interfaces; -@@ -1216,88 +1246,22 @@ - } - - /* -- * Note: Interfaces to be implemented are searched twice. First -- * we register interfaces that are already implemented by a parent -- * type. The second time, the remaining interfaces are -- * registered, i.e. the ones that are not implemented by a parent -- * type. In between these two loops, properties and signals are -- * registered. It has to be done this way, in two steps, -- * otherwise glib will complain. If registering all interfaces -- * always before properties, you get an error like: -- * -- * ../gobject:121: Warning: Object class -- * test_interface+MyObject doesn't implement property -- * 'some-property' from interface 'TestInterface' -- * -- * If, on the other hand, you register interfaces after -- * registering the properties, you get something like: -- * -- * ../gobject:121: Warning: cannot add interface type -- * `TestInterface' to type `test_interface+MyUnknown', since -- * type `test_interface+MyUnknown' already conforms to -- * interface -- * -- * This looks like a GLib quirk, but no bug has been filed -- * upstream. However we have a unit test for this particular -- * problem, which can be found in test_interfaces.py, class -- * TestInterfaceImpl. -+ * Note, all interfaces need to be registered before the first -+ * g_type_class_ref(), see bug #686149. - * - * See also comment above pyg_type_add_interfaces(). - */ -- pyg_type_add_interfaces(class, instance_type, class->tp_bases, FALSE, -+ pyg_type_add_interfaces(class, instance_type, class->tp_bases, - parent_interfaces, n_parent_interfaces); - -- /* we look this up in the instance dictionary, so we don't -- * accidentally get a parent type's __gsignals__ attribute. */ -- gsignals = PyDict_GetItemString(class->tp_dict, "__gsignals__"); -- if (gsignals) { -- if (!PyDict_Check(gsignals)) { -- PyErr_SetString(PyExc_TypeError, -- "__gsignals__ attribute not a dict!"); -- g_free(parent_interfaces); -- return -1; -- } -- if (!(overridden_signals = add_signals(instance_type, gsignals))) { -- g_free(parent_interfaces); -- return -1; -- } -- if (PyDict_SetItemString(class->tp_dict, "__gsignals__", -- overridden_signals)) { -- g_free(parent_interfaces); -- return -1; -- } -- Py_DECREF(overridden_signals); -- } else { -- PyErr_Clear(); -- } - -- /* we look this up in the instance dictionary, so we don't -- * accidentally get a parent type's __gsignals__ attribute. */ -- gproperties = PyDict_GetItemString(class->tp_dict, "__gproperties__"); -- if (gproperties) { -- if (!PyDict_Check(gproperties)) { -- PyErr_SetString(PyExc_TypeError, -- "__gproperties__ attribute not a dict!"); -- g_free(parent_interfaces); -- return -1; -- } -- if (!add_properties(instance_type, gproperties)) { -- g_free(parent_interfaces); -- return -1; -- } -- PyDict_DelItemString(class->tp_dict, "__gproperties__"); -- /* Borrowed reference. Py_DECREF(gproperties); */ -- } else { -- PyErr_Clear(); -+ gclass = g_type_class_ref(instance_type); -+ if (PyErr_Occurred() != NULL) { -+ g_type_class_unref(gclass); -+ g_free(parent_interfaces); -+ return -1; - } - -- /* Register new interfaces, that are _not_ already defined by -- * the parent type. FIXME: See above. -- */ -- pyg_type_add_interfaces(class, instance_type, class->tp_bases, TRUE, -- parent_interfaces, n_parent_interfaces); -- -- gclass = g_type_class_ref(instance_type); - if (pyg_run_class_init(instance_type, gclass, class)) { - g_type_class_unref(gclass); - g_free(parent_interfaces); -@@ -1306,9 +1270,8 @@ - g_type_class_unref(gclass); - g_free(parent_interfaces); - -- if (gsignals) -- PyDict_DelItemString(class->tp_dict, "__gsignals__"); -- -+ if (PyErr_Occurred() != NULL) -+ return -1; - return 0; - } - -diff -Naur pygobject-2.28.6.orig/gobject/propertyhelper.py pygobject-2.28.6/gobject/propertyhelper.py ---- pygobject-2.28.6.orig/gobject/propertyhelper.py 2011-06-13 13:30:25.000000000 -0300 -+++ pygobject-2.28.6/gobject/propertyhelper.py 2014-03-04 18:36:07.953079770 -0300 -@@ -188,14 +188,16 @@ - return TYPE_STRING - elif type_ == object: - return TYPE_PYOBJECT -- elif isinstance(type_, type) and issubclass(type_, _gobject.GObject): -+ elif (isinstance(type_, type) and -+ issubclass(type_, (_gobject.GObject, -+ _gobject.GEnum))): - return type_.__gtype__ - elif type_ in [TYPE_NONE, TYPE_INTERFACE, TYPE_CHAR, TYPE_UCHAR, -- TYPE_INT, TYPE_UINT, TYPE_BOOLEAN, TYPE_LONG, -- TYPE_ULONG, TYPE_INT64, TYPE_UINT64, TYPE_ENUM, -- TYPE_FLAGS, TYPE_FLOAT, TYPE_DOUBLE, TYPE_POINTER, -- TYPE_BOXED, TYPE_PARAM, TYPE_OBJECT, TYPE_STRING, -- TYPE_PYOBJECT]: -+ TYPE_INT, TYPE_UINT, TYPE_BOOLEAN, TYPE_LONG, -+ TYPE_ULONG, TYPE_INT64, TYPE_UINT64, -+ TYPE_FLOAT, TYPE_DOUBLE, TYPE_POINTER, -+ TYPE_BOXED, TYPE_PARAM, TYPE_OBJECT, TYPE_STRING, -+ TYPE_PYOBJECT]: - return type_ - else: - raise TypeError("Unsupported type: %r" % (type_,)) -@@ -224,6 +226,12 @@ - elif ptype == TYPE_PYOBJECT: - if default is not None: - raise TypeError("object types does not have default values") -+ elif gobject.type_is_a(ptype, TYPE_ENUM): -+ if default is None: -+ raise TypeError("enum properties needs a default value") -+ elif not gobject.type_is_a(default, ptype): -+ raise TypeError("enum value %s must be an instance of %r" % -+ (default, ptype)) - - def _get_minimum(self): - ptype = self.type -@@ -291,7 +299,8 @@ - if ptype in [TYPE_INT, TYPE_UINT, TYPE_LONG, TYPE_ULONG, - TYPE_INT64, TYPE_UINT64, TYPE_FLOAT, TYPE_DOUBLE]: - args = self._get_minimum(), self._get_maximum(), self.default -- elif ptype == TYPE_STRING or ptype == TYPE_BOOLEAN: -+ elif (ptype == TYPE_STRING or ptype == TYPE_BOOLEAN or -+ ptype.is_a(TYPE_ENUM)): - args = (self.default,) - elif ptype == TYPE_PYOBJECT: - args = () -diff -Naur pygobject-2.28.6.orig/gobject/pygobject.c pygobject-2.28.6/gobject/pygobject.c ---- pygobject-2.28.6.orig/gobject/pygobject.c 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/gobject/pygobject.c 2014-03-04 18:36:07.954079747 -0300 -@@ -991,7 +991,9 @@ - PyObject * - pygobject_new_sunk(GObject *obj) - { -- g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1)); -+ if (obj) -+ g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1)); -+ - return pygobject_new_full(obj, TRUE, NULL); - } - -diff -Naur pygobject-2.28.6.orig/Makefile.am pygobject-2.28.6/Makefile.am ---- pygobject-2.28.6.orig/Makefile.am 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/Makefile.am 2014-03-04 18:36:07.954079747 -0300 -@@ -1,7 +1,11 @@ - ACLOCAL_AMFLAGS = -I m4 - AUTOMAKE_OPTIONS = 1.7 - --SUBDIRS = docs codegen glib gobject gio examples -+SUBDIRS = docs glib gobject gio examples -+ -+if ENABLE_CODEGEN -+SUBDIRS += codegen -+endif - - if ENABLE_INTROSPECTION - SUBDIRS += gi -diff -Naur pygobject-2.28.6.orig/tests/Makefile.am pygobject-2.28.6/tests/Makefile.am ---- pygobject-2.28.6.orig/tests/Makefile.am 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/tests/Makefile.am 2014-03-04 18:36:07.955079724 -0300 -@@ -104,6 +104,7 @@ - test-floating.h \ - test-thread.h \ - test-unknown.h \ -+ te_ST@nouppera \ - org.gnome.test.gschema.xml - - EXTRA_DIST += $(TEST_FILES_STATIC) $(TEST_FILES_GI) $(TEST_FILES_GIO) -diff -Naur pygobject-2.28.6.orig/tests/test_gdbus.py pygobject-2.28.6/tests/test_gdbus.py ---- pygobject-2.28.6.orig/tests/test_gdbus.py 2011-06-13 13:33:49.000000000 -0300 -+++ pygobject-2.28.6/tests/test_gdbus.py 2014-03-04 18:36:07.956079701 -0300 -@@ -67,8 +67,10 @@ - - def test_native_calls_async(self): - def call_done(obj, result, user_data): -- user_data['result'] = obj.call_finish(result) -- user_data['main_loop'].quit() -+ try: -+ user_data['result'] = obj.call_finish(result) -+ finally: -+ user_data['main_loop'].quit() - - main_loop = gobject.MainLoop() - data = {'main_loop': main_loop} -diff -Naur pygobject-2.28.6.orig/tests/test_properties.py pygobject-2.28.6/tests/test_properties.py ---- pygobject-2.28.6.orig/tests/test_properties.py 2011-06-13 13:30:25.000000000 -0300 -+++ pygobject-2.28.6/tests/test_properties.py 2014-03-04 18:36:07.956079701 -0300 -@@ -14,6 +14,8 @@ - G_MININT, G_MAXINT, G_MAXUINT, G_MINLONG, G_MAXLONG, \ - G_MAXULONG - -+from gi.repository import Gio -+ - if sys.version_info < (3, 0): - TEST_UTF8 = "\xe2\x99\xa5" - UNICODE_UTF8 = unicode(TEST_UTF8, 'UTF-8') -@@ -34,6 +36,9 @@ - uint64 = gobject.property( - type=TYPE_UINT64, flags=PARAM_READWRITE|PARAM_CONSTRUCT) - -+ enum = gobject.property( -+ type=Gio.SocketType, default=Gio.SocketType.STREAM) -+ - class TestProperties(unittest.TestCase): - def testGetSet(self): - obj = PropertyObject() -@@ -61,8 +66,9 @@ - self.failUnless(pspec.name in ['normal', - 'construct', - 'construct-only', -- 'uint64']) -- self.assertEqual(len(obj), 4) -+ 'uint64', -+ 'enum']) -+ self.assertEqual(len(obj), 5) - - def testNormal(self): - obj = new(PropertyObject, normal="123") -@@ -127,6 +133,34 @@ - (etype, ex) = sys.exc_info()[2:] - self.fail(str(ex)) - -+ def testEnum(self): -+ obj = new(PropertyObject) -+ self.assertEqual(obj.props.enum, Gio.SocketType.STREAM) -+ self.assertEqual(obj.enum, Gio.SocketType.STREAM) -+ obj.enum = Gio.SocketType.DATAGRAM -+ self.assertEqual(obj.props.enum, Gio.SocketType.DATAGRAM) -+ self.assertEqual(obj.enum, Gio.SocketType.DATAGRAM) -+ obj.props.enum = Gio.SocketType.STREAM -+ self.assertEqual(obj.props.enum, Gio.SocketType.STREAM) -+ self.assertEqual(obj.enum, Gio.SocketType.STREAM) -+ obj.props.enum = 2 -+ self.assertEqual(obj.props.enum, Gio.SocketType.DATAGRAM) -+ self.assertEqual(obj.enum, Gio.SocketType.DATAGRAM) -+ obj.enum = 1 -+ self.assertEqual(obj.props.enum, Gio.SocketType.STREAM) -+ self.assertEqual(obj.enum, Gio.SocketType.STREAM) -+ -+ self.assertRaises(TypeError, setattr, obj, 'enum', 'foo') -+ self.assertRaises(TypeError, setattr, obj, 'enum', object()) -+ -+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType) -+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType, -+ default=Gio.SocketProtocol.TCP) -+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType, -+ default=object()) -+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType, -+ default=1) -+ - def testRange(self): - # kiwi code - def max(c): -@@ -270,8 +304,6 @@ - # self.assertRaises(TypeError, gobject.property, type=bool, default=0) - self.assertRaises(TypeError, gobject.property, type=bool, default='ciao mamma') - self.assertRaises(TypeError, gobject.property, type=bool) -- self.assertRaises(TypeError, gobject.property, type=GEnum) -- self.assertRaises(TypeError, gobject.property, type=GEnum, default=0) - self.assertRaises(TypeError, gobject.property, type=object, default=0) - self.assertRaises(TypeError, gobject.property, type=complex) - self.assertRaises(TypeError, gobject.property, flags=-10) diff --git a/talimatname/genel/p/python-gobject2/talimat b/talimatname/genel/p/python-gobject2/talimat index 80e4d2732..80b95c802 100644 --- a/talimatname/genel/p/python-gobject2/talimat +++ b/talimatname/genel/p/python-gobject2/talimat @@ -1,21 +1,20 @@ # Tanım: GLib'in GObject sınıfı için Python 2'nin bağlantılarını sağlar. # URL: http://www.gnome.org/ # Paketçi: milisarge -# Gerekler: python-cairo xorg-libxxf86vm gobject-introspection +# Gerekler: gtk2 isim=python-gobject2 surum=2.28.6 -devir=1 +devir=2 -kaynak=( http://ftp.gnome.org/pub/gnome/sources/pygobject/${surum%.*}/pygobject-$surum.tar.xz - pygobject-2.28.6-fixes-1.patch - pygobject-2.16.1-fixdetection.patch) +kaynak=( http://ftp.gnome.org/pub/gnome/sources/pygobject/${surum%.*}/pygobject-$surum.tar.xz) + derle() { cd pygobject-$surum -patch -Np1 -i $SRC/pygobject-2.28.6-fixes-1.patch -patch -Np1 -i $SRC/pygobject-2.16.1-fixdetection.patch -./configure --prefix=/usr + +./configure --prefix=/usr --disable-introspection make make DESTDIR=$PKG install +rm -rf $PKG/usr/share/gtk-doc }