Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jun 2020 09:03:03 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r537996 - in head/devel/pygobject3-common: . files
Message-ID:  <202006050903.055933B4040860@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Fri Jun  5 09:03:02 2020
New Revision: 537996
URL: https://svnweb.freebsd.org/changeset/ports/537996

Log:
  devel/pygobject3-common: unbreak with DEFAULT_VERSIONS += python=3.8
  
  >>> from gi.repository import GLib
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 991, in _find_and_load
    File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
    File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
    File "/usr/local/lib/python3.8/site-packages/gi/importer.py", line 146, in load_module
      dynamic_module = load_overrides(introspection_module)
    File "/usr/local/lib/python3.8/site-packages/gi/overrides/__init__.py", line 125, in load_overrides
      override_mod = importlib.import_module(override_package_name)
    File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "/usr/local/lib/python3.8/site-packages/gi/overrides/GLib.py", line 86, in <module>
      class _VariantCreator(object):
    File "/usr/local/lib/python3.8/site-packages/gi/overrides/GLib.py", line 89, in _VariantCreator
      'b': GLib.Variant.new_boolean,
    File "/usr/local/lib/python3.8/site-packages/gi/module.py", line 221, in __getattr__
      wrapper = metaclass(name, bases, dict_)
  TypeError: 'StructMeta' object is not iterable
  
  Obtained from:	upstream

Added:
  head/devel/pygobject3-common/files/
  head/devel/pygobject3-common/files/patch-python38   (contents, props changed)
Modified:
  head/devel/pygobject3-common/Makefile   (contents, props changed)

Modified: head/devel/pygobject3-common/Makefile
==============================================================================
--- head/devel/pygobject3-common/Makefile	Fri Jun  5 09:02:53 2020	(r537995)
+++ head/devel/pygobject3-common/Makefile	Fri Jun  5 09:03:02 2020	(r537996)
@@ -3,7 +3,7 @@
 
 PORTNAME=	gobject
 PORTVERSION=	3.28.3
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	devel python
 MASTER_SITES=	GNOME/sources/pygobject/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
 PKGNAMEPREFIX?=	py

Added: head/devel/pygobject3-common/files/patch-python38
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/pygobject3-common/files/patch-python38	Fri Jun  5 09:03:02 2020	(r537996)
@@ -0,0 +1,88 @@
+https://gitlab.gnome.org/GNOME/pygobject/-/commit/bfc759c9c0bb
+
+--- gi/gimodule.c.orig	2018-05-31 14:39:04 UTC
++++ gi/gimodule.c
+@@ -685,7 +685,10 @@ PYGLIB_MODULE_START(_gi, "_gi")
+     pygi_error_register_types (module);
+     _pygi_repository_register_types (module);
+     _pygi_info_register_types (module);
++    pygobject_type_register_types (module_dict);
++    pygobject_pointer_register_types (module_dict);
+     _pygi_struct_register_types (module);
++    pygobject_boxed_register_types (module_dict);
+     _pygi_boxed_register_types (module);
+     _pygi_ccallback_register_types (module);
+     pygi_resulttuple_register_types (module);
+@@ -699,12 +702,9 @@ PYGLIB_MODULE_START(_gi, "_gi")
+     pygobject_register_features (module_dict);
+     pygobject_register_version_tuples (module_dict);
+     pygobject_register_warnings (module_dict);
+-    pygobject_type_register_types (module_dict);
+     pygobject_object_register_types (module_dict);
+     pygobject_interface_register_types (module_dict);
+     pygobject_paramspec_register_types (module_dict);
+-    pygobject_boxed_register_types (module_dict);
+-    pygobject_pointer_register_types (module_dict);
+     pygobject_enum_register_types (module_dict);
+     pygobject_flags_register_types (module_dict);
+ 
+--- gi/pygboxed.c.orig	2018-05-31 14:39:04 UTC
++++ gi/pygboxed.c
+@@ -162,6 +162,7 @@ pyg_register_boxed(PyObject *dict, const gchar *class_
+     if (!type->tp_dealloc)  type->tp_dealloc  = (destructor)pyg_boxed_dealloc;
+ 
+     Py_TYPE(type) = &PyType_Type;
++    g_assert (Py_TYPE (&PyGBoxed_Type) != NULL);
+     type->tp_base = &PyGBoxed_Type;
+ 
+     if (PyType_Ready(type) < 0) {
+--- gi/pygi-boxed.c.orig	2018-05-31 14:39:04 UTC
++++ gi/pygi-boxed.c
+@@ -230,6 +230,7 @@ void
+ _pygi_boxed_register_types (PyObject *m)
+ {
+     Py_TYPE(&PyGIBoxed_Type) = &PyType_Type;
++    g_assert (Py_TYPE (&PyGBoxed_Type) != NULL);
+     PyGIBoxed_Type.tp_base = &PyGBoxed_Type;
+     PyGIBoxed_Type.tp_new = (newfunc) _boxed_new;
+     PyGIBoxed_Type.tp_init = (initproc) _boxed_init;
+--- gi/pygi-struct.c.orig	2018-05-31 14:39:04 UTC
++++ gi/pygi-struct.c
+@@ -231,6 +231,7 @@ void
+ _pygi_struct_register_types (PyObject *m)
+ {
+     Py_TYPE(&PyGIStruct_Type) = &PyType_Type;
++    g_assert (Py_TYPE (&PyGPointer_Type) != NULL);
+     PyGIStruct_Type.tp_base = &PyGPointer_Type;
+     PyGIStruct_Type.tp_new = (newfunc) _struct_new;
+     PyGIStruct_Type.tp_init = (initproc) _struct_init;
+--- gi/pyginterface.c.orig	2018-05-31 14:39:04 UTC
++++ gi/pyginterface.c
+@@ -72,6 +72,7 @@ pyg_register_interface(PyObject *dict, const gchar *cl
+     PyObject *o;
+ 
+     Py_TYPE(type) = &PyType_Type;
++    g_assert (Py_TYPE (&PyGInterface_Type) != NULL);
+     type->tp_base = &PyGInterface_Type;
+ 
+     if (PyType_Ready(type) < 0) {
+--- gi/pygpointer.c.orig	2018-05-31 14:39:04 UTC
++++ gi/pygpointer.c
+@@ -117,6 +117,7 @@ pyg_register_pointer(PyObject *dict, const gchar *clas
+     if (!type->tp_dealloc) type->tp_dealloc = (destructor)pyg_pointer_dealloc;
+ 
+     Py_TYPE(type) = &PyType_Type;
++    g_assert (Py_TYPE (&PyGPointer_Type) != NULL);
+     type->tp_base = &PyGPointer_Type;
+ 
+     if (PyType_Ready(type) < 0) {
+--- gi/pygtype.c.orig	2018-05-31 14:39:04 UTC
++++ gi/pygtype.c
+@@ -345,6 +345,7 @@ pyg_type_wrapper_new(GType type)
+ {
+     PyGTypeWrapper *self;
+ 
++    g_assert (Py_TYPE (&PyGTypeWrapper_Type) != NULL);
+     self = (PyGTypeWrapper *)PyObject_NEW(PyGTypeWrapper,
+ 					  &PyGTypeWrapper_Type);
+     if (self == NULL)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006050903.055933B4040860>