commit:     a10be9ce04476fe367fefd84265d0a5d44ff2d74
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 08:11:59 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 08:16:46 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a10be9ce

dev-python/pygobject: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pygobject/Manifest                      |   1 -
 .../pygobject-2.28.3-fix-codegen-location.patch    |  64 -----
 .../files/pygobject-2.28.3-make_check.patch        |  76 -----
 ...t-2.28.3-support_multiple_python_versions.patch | 103 -------
 .../pygobject-2.28.6-disable-failing-tests.patch   |  98 -------
 .../files/pygobject-2.28.6-gio-types-2.32.patch    |  50 ----
 .../pygobject-2.28.6-glib-2.36-class_init.patch    | 315 ---------------------
 .../files/pygobject-2.28.6-set_qdata.patch         |  28 --
 .../pygobject-2.28.6-tests-no-introspection.patch  |  33 ---
 dev-python/pygobject/pygobject-2.28.6-r55.ebuild   | 132 ---------
 10 files changed, 900 deletions(-)

diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest
index 254a957c983..c36dda5234e 100644
--- a/dev-python/pygobject/Manifest
+++ b/dev-python/pygobject/Manifest
@@ -1,3 +1,2 @@
-DIST pygobject-2.28.6.tar.xz 747248 BLAKE2B 
5f92794034b2d0559a623db4a7d273a7dc3f099cae87ede91b17e81acac085a9298c6b81b45b4b8540b6a75ced97e474a993437dbfcfc2133d3321d6a979b541
 SHA512 
37544ea2377258758169b25a2969d5ee1c9ffb9b6e63e05bc7a0471a49ac9169c51ec587d4489172c7d256f53df878a81c1992a08059aa7e43dbbb69f799545c
 DIST pygobject-3.34.0.tar.xz 552268 BLAKE2B 
a9cbeb644e0aa1b23067b591fe5c6299741395656631d39782a8c183a5d3a8e5e7f1a81acdefee186b7cc2bc34dda9271468b1828d5b9613ddc1256e24f1ecb8
 SHA512 
782195d22e564b88dea8d43469f0111f398b44b51a63df2fe7d07650af94d5cd037f322a5d7e405338823be3419fcdbf0113fe50b220ab1cfd07d4d01dbc4766
 DIST pygobject-3.36.1.tar.xz 556568 BLAKE2B 
cd38aec8e71ff230926327e77867d07ae0fd5549b71619301bb3be01821ea93e557ecf335ea238292176981a864b269eaa2a86da47e8fb320f187f54caf24dc4
 SHA512 
5e00dcd03dfe4f92acbf827c13c164b6b9740b2a8cef3b2dce70f96a2156fee2411c84dc669f12b910f4a93daa03ba845282832e2b09d8c887102d43764a345f

diff --git 
a/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch 
b/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch
deleted file mode 100644
index 44440a526b8..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From b3e852d29bfd1e90f7e0da409fd0ae36cc01675a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <[email protected]>
-Date: Fri, 8 Apr 2011 15:36:35 +0200
-Subject: [PATCH 1/3] Move codegen to a non-private directory
-
----
- codegen/Makefile.am              |    2 +-
- codegen/pygobject-codegen-2.0.in |    3 ++-
- pygobject-2.0.pc.in              |    3 ++-
- 3 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/codegen/Makefile.am b/codegen/Makefile.am
-index f9886eb..d714ff2 100644
---- a/codegen/Makefile.am
-+++ b/codegen/Makefile.am
-@@ -2,7 +2,7 @@ PLATFORM_VERSION = 2.0
- 
- bin_SCRIPTS = pygobject-codegen-$(PLATFORM_VERSION)
- 
--codegendir = $(pkgdatadir)/$(PLATFORM_VERSION)/codegen
-+codegendir = $(pyexecdir)/gtk-2.0/codegen
- 
- codegen_SCRIPTS = \
-       code-coverage.py \
-diff --git a/codegen/pygobject-codegen-2.0.in 
b/codegen/pygobject-codegen-2.0.in
-index c5c912e..c04451b 100644
---- a/codegen/pygobject-codegen-2.0.in
-+++ b/codegen/pygobject-codegen-2.0.in
-@@ -1,9 +1,10 @@
- #!/bin/sh
- 
- prefix=@prefix@
-+exec_prefix=@exec_prefix@
- datarootdir=@datarootdir@
- datadir=@datadir@
--codegendir=${datadir}/pygobject/2.0/codegen
-+codegendir=@pyexecdir@/gtk-2.0/codegen
- 
- PYTHONPATH=$codegendir
- export PYTHONPATH
-diff --git a/pygobject-2.0.pc.in b/pygobject-2.0.pc.in
-index a47b685..0d1a811 100644
---- a/pygobject-2.0.pc.in
-+++ b/pygobject-2.0.pc.in
-@@ -4,6 +4,7 @@ includedir=@includedir@
- datarootdir=@datarootdir@
- datadir=@datadir@
- libdir=@libdir@
-+pyexecdir=@pyexecdir@
- 
- # you can use the --variable=pygtkincludedir argument to
- # pkg-config to get this value.  You might want to use this to
-@@ -12,7 +13,7 @@ pygtkincludedir=${includedir}/pygtk-2.0
- fixxref=${datadir}/pygobject/xsl/fixxref.py
- pygdocs=${datadir}/gtk-doc/html/pygobject
- defsdir=${datadir}/pygobject/2.0/defs
--codegendir=${datadir}/pygobject/2.0/codegen
-+codegendir=${pyexecdir}/gtk-2.0/codegen
- overridesdir=@pyexecdir@/gi/overrides
- 
- Name: PyGObject
--- 
-1.7.4.1
-

diff --git a/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch 
b/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch
deleted file mode 100644
index 45c04b96780..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From b5c4b8b97a1ccb9a4c63ab726ea9c84d81ef51ca Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <[email protected]>
-Date: Fri, 5 Nov 2010 23:39:08 +0100
-Subject: [PATCH 2/3] Do not build tests unless needed
-
----
- tests/Makefile.am |   12 +++++-------
- tests/runtests.py |    2 ++
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index bad15f0..5b0859a 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1,7 +1,7 @@
- CLEANFILES =
--noinst_LTLIBRARIES = 
-+check_LTLIBRARIES = 
- if ENABLE_INTROSPECTION
--noinst_LTLIBRARIES += libregress.la libgimarshallingtests.la
-+check_LTLIBRARIES += libregress.la libgimarshallingtests.la
- 
- nodist_libregress_la_SOURCES = $(GI_DATADIR)/tests/regress.c 
$(GI_DATADIR)/tests/regress.h
- libregress_la_CFLAGS = $(GIO_CFLAGS) $(PYCAIRO_CFLAGS)
-@@ -46,7 +46,7 @@ gschemas.compiled: org.gnome.test.gschema.xml
- CLEANFILES += Regress-1.0.gir Regress-1.0.typelib GIMarshallingTests-1.0.gir 
GIMarshallingTests-1.0.typelib gschemas.compiled
- endif
- 
--noinst_LTLIBRARIES += testhelper.la
-+check_LTLIBRARIES += testhelper.la
- 
- testhelper_la_CFLAGS = -I$(top_srcdir)/gobject -I$(top_srcdir)/glib 
$(PYTHON_INCLUDES) $(GLIB_CFLAGS)
- testhelper_la_LDFLAGS = -module -avoid-version
-@@ -66,8 +66,6 @@ testhelper.la: $(testhelper_la_OBJECTS) 
$(testhelper_la_DEPENDENCIES)
-       test -L $@ || $(LN_S) .libs/$@ $@
- 
- 
--all: $(LTLIBRARIES:.la=.so)
--
- TEST_FILES_STATIC = \
-       test_gobject.py \
-       test_interface.py \
-@@ -109,7 +107,7 @@ EXTRA_DIST = \
- EXTRA_DIST += $(TEST_FILES_STATIC) $(TEST_FILES_GI) $(TEST_FILES_GIO)
- 
- clean-local:
--      rm -f $(LTLIBRARIES:.la=.so) file.txt~
-+      rm -f $(check_LTLIBRARIES:.la=.so) file.txt~
- 
- DBUS_LAUNCH=$(shell which dbus-launch)
- RUN_TESTS_ENV_VARS= \
-@@ -121,7 +119,7 @@ RUN_TESTS_ENV_VARS= \
- RUN_TESTS_LAUNCH=$(RUN_TESTS_ENV_VARS) $(DBUS_LAUNCH) $(EXEC_NAME) $(PYTHON) 
$(srcdir)/runtests.py
- 
- # run tests in separately to avoid loading static and introspection bindings 
in the same process
--check-local: $(LTLIBRARIES:.la=.so) Regress-1.0.typelib 
GIMarshallingTests-1.0.typelib gschemas.compiled
-+check-local: $(check_LTLIBRARIES:.la=.so) Regress-1.0.typelib 
GIMarshallingTests-1.0.typelib gschemas.compiled
-       TEST_FILES="$(TEST_FILES_STATIC)" $(RUN_TESTS_LAUNCH)
-       TEST_FILES="$(TEST_FILES_GI)" $(RUN_TESTS_LAUNCH)
- if BUILD_GIO
-diff --git a/tests/runtests.py b/tests/runtests.py
-index 2bb8637..4107bcf 100644
---- a/tests/runtests.py
-+++ b/tests/runtests.py
-@@ -6,6 +6,8 @@ import sys
- 
- import unittest
- 
-+# Some tests fail with translated messages.
-+os.environ["LC_ALL"] = "C"
- 
- # force untranslated messages, as we check for them in some tests
- os.environ['LC_MESSAGES'] = 'C'
--- 
-1.7.4.1
-

diff --git 
a/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch
 
b/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch
deleted file mode 100644
index 65d881a43d2..00000000000
--- 
a/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 2f75378f3c56f245cabdcd2c52b561dbb878db2d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <[email protected]>
-Date: Fri, 8 Apr 2011 15:43:39 +0200
-Subject: [PATCH 3/3] Enable support to build against multiple version of python
-
----
- codegen/pygobject-codegen-2.0.in |    2 +-
- gi/Makefile.am                   |    2 +-
- gio/Makefile.am                  |    2 +-
- glib/Makefile.am                 |   10 +++++-----
- gobject/Makefile.am              |    2 +-
- 5 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/codegen/pygobject-codegen-2.0.in 
b/codegen/pygobject-codegen-2.0.in
-index c04451b..194e5ba 100644
---- a/codegen/pygobject-codegen-2.0.in
-+++ b/codegen/pygobject-codegen-2.0.in
-@@ -4,7 +4,7 @@ prefix=@prefix@
- exec_prefix=@exec_prefix@
- datarootdir=@datarootdir@
- datadir=@datadir@
--codegendir=@pyexecdir@/gtk-2.0/codegen
-+codegendir=$(@PYTHON@ -c "from distutils import sysconfig; print 
sysconfig.get_python_lib(1, 0, prefix='@exec_prefix@')")/gtk-2.0/codegen
- 
- PYTHONPATH=$codegendir
- export PYTHONPATH
-diff --git a/gi/Makefile.am b/gi/Makefile.am
-index 31f6c79..8690522 100644
---- a/gi/Makefile.am
-+++ b/gi/Makefile.am
-@@ -25,7 +25,7 @@ _gi_la_LDFLAGS = \
-       -export-symbols-regex "init_gi|PyInit__gi"
- _gi_la_LIBADD = \
-       $(GI_LIBS) \
--      $(top_builddir)/glib/libpyglib-2.0-@[email protected]
-+      $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@[email protected]
- _gi_la_SOURCES = \
-       pygi-repository.c \
-       pygi-repository.h \
-diff --git a/gio/Makefile.am b/gio/Makefile.am
-index 6b3eb57..00e1c54 100644
---- a/gio/Makefile.am
-+++ b/gio/Makefile.am
-@@ -67,7 +67,7 @@ EXTRA_DIST += $(GIO_DEFS) $(GIO_OVERRIDES)
- gio.c: $(GIO_DEFS) $(GIO_OVERRIDES)
- _gio_la_CFLAGS = $(GIO_CFLAGS)
- _gio_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gio
--_gio_la_LIBADD = $(GIO_LIBS) 
$(top_builddir)/glib/libpyglib-2.0-@[email protected]
-+_gio_la_LIBADD = $(GIO_LIBS) 
$(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@[email protected]
- _gio_la_SOURCES = \
-       giomodule.c \
-       pygio-utils.c \
-diff --git a/glib/Makefile.am b/glib/Makefile.am
-index e210318..df39687 100644
---- a/glib/Makefile.am
-+++ b/glib/Makefile.am
-@@ -4,7 +4,7 @@ INCLUDES = $(PYTHON_INCLUDES) $(GLIB_CFLAGS) -DPY_SSIZE_T_CLEAN
- pkgincludedir = $(includedir)/pygtk-2.0
- pkginclude_HEADERS = pyglib.h
- 
--lib_LTLIBRARIES = libpyglib-2.0-@[email protected]
-+lib_LTLIBRARIES = libpyglib-2.0-@PYTHON_BASENAME@@[email protected]
- 
- pkgpyexecdir = $(pyexecdir)
- 
-@@ -19,9 +19,9 @@ if PLATFORM_WIN32
- common_ldflags += -no-undefined
- endif
- 
--libpyglib_2_0_@PYTHON_BASENAME@_la_CFLAGS = $(GLIB_CFLAGS)
--libpyglib_2_0_@PYTHON_BASENAME@_la_LIBADD = $(GLIB_LIBS) $(FFI_LIBS)
--libpyglib_2_0_@PYTHON_BASENAME@_la_SOURCES =  \
-+libpyglib_2_0_@PYTHON_BASENAME@@PYTHON_VERSION@_la_CFLAGS = $(GLIB_CFLAGS)
-+libpyglib_2_0_@PYTHON_BASENAME@@PYTHON_VERSION@_la_LIBADD = $(GLIB_LIBS) 
$(FFI_LIBS)
-+libpyglib_2_0_@PYTHON_BASENAME@@PYTHON_VERSION@_la_SOURCES =  \
-       pyglib.c                \
-       pyglib.h                \
-       pyglib-private.h        \
-@@ -29,7 +29,7 @@ libpyglib_2_0_@PYTHON_BASENAME@_la_SOURCES =         \
- 
- _glib_la_CFLAGS = $(GLIB_CFLAGS)
- _glib_la_LDFLAGS = $(common_ldflags) -export-symbols-regex 
"_glib|PyInit__glib"
--_glib_la_LIBADD = $(GLIB_LIBS) libpyglib-2.0-@[email protected]
-+_glib_la_LIBADD = $(GLIB_LIBS) 
libpyglib-2.0-@PYTHON_BASENAME@@[email protected]
- _glib_la_SOURCES =            \
-       glibmodule.c            \
-       pygiochannel.c          \
-diff --git a/gobject/Makefile.am b/gobject/Makefile.am
-index 7208329..3f9ad8e 100644
---- a/gobject/Makefile.am
-+++ b/gobject/Makefile.am
-@@ -35,7 +35,7 @@ _gobject_la_LDFLAGS = $(common_ldflags) 
-export-symbols-regex "_gobject|PyInit__
- _gobject_la_LIBADD = \
-       $(GLIB_LIBS) \
-       $(FFI_LIBS) \
--      $(top_builddir)/glib/libpyglib-2.0-@[email protected]
-+      $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@[email protected]
- _gobject_la_SOURCES =           \
-         gobjectmodule.c         \
-         pygboxed.c              \
--- 
-1.7.4.1
-

diff --git 
a/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch 
b/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch
deleted file mode 100644
index f9d396dc4b5..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 9d8867a7c67a14d055a0dd8db5f6a9aae5762a04 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <[email protected]>
-Date: Sun, 13 Jan 2013 19:50:14 -0500
-Subject: [PATCH] Disable failing tests
-
----
- tests/test_gio.py       | 13 ++++++++-----
- tests/test_overrides.py |  4 ++--
- 2 files changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/tests/test_gio.py b/tests/test_gio.py
-index e14eddf..a4d1bc7 100644
---- a/tests/test_gio.py
-+++ b/tests/test_gio.py
-@@ -650,10 +650,11 @@ class TestInputStream(unittest.TestCase):
-             else:
-                 return read_data
- 
-+    """
-     def testReadAsync(self):
-         def callback(stream, result):
--            self.assertEquals(result.get_op_res_gssize(), 7)
-             try:
-+                self.assertEquals(result.get_op_res_gssize(), 7)
-                 data = stream.read_finish(result)
-                 self.assertEquals(data, "testing")
-                 stream.close()
-@@ -694,7 +695,7 @@ class TestInputStream(unittest.TestCase):
-         self.assertRaises(TypeError, self.stream.read_async, 1024,
-                           priority=1, cancellable="bar")
-         self.assertRaises(TypeError, self.stream.read_async, 1024, 1, "bar")
--
-+    """
- 
-     # FIXME: this makes 'make check' freeze
-     def _testCloseAsync(self):
-@@ -822,10 +823,11 @@ class TestOutputStream(unittest.TestCase):
- 
-         self.assertEquals(stream.get_contents(), some_data)
- 
-+    """
-     def testWriteAsync(self):
-         def callback(stream, result):
--            self.assertEquals(result.get_op_res_gssize(), 7)
-             try:
-+                self.assertEquals(result.get_op_res_gssize(), 7)
-                 self.assertEquals(stream.write_finish(result), 7)
-                 self.failUnless(os.path.exists("outputstream.txt"))
-                 self.assertEquals(open("outputstream.txt").read(), "testing")
-@@ -861,6 +863,7 @@ class TestOutputStream(unittest.TestCase):
-         self.assertRaises(TypeError, self.stream.write_async, "foo",
-                           priority=1, cancellable="bar")
-         self.assertRaises(TypeError, self.stream.write_async, "foo", 1, "bar")
-+    """
- 
-     # FIXME: this makes 'make check' freeze
-     def _testCloseAsync(self):
-@@ -1007,7 +1010,7 @@ class TestVfs(unittest.TestCase):
- class TestVolume(unittest.TestCase):
-     def setUp(self):
-         self.monitor = gio.volume_monitor_get()
--    
-+"""    
-     def testVolumeEnumerate(self):
-         volumes = self.monitor.get_volumes()
-         self.failUnless(isinstance(volumes, list))
-@@ -1018,7 +1021,7 @@ class TestVolume(unittest.TestCase):
-                 for id in ids:
-                     if id is not None:
-                         self.failUnless(isinstance(id, str))
--
-+"""
- class TestFileInputStream(unittest.TestCase):
-     def setUp(self):
-         self._f = open("file.txt", "w+")
-diff --git a/tests/test_overrides.py b/tests/test_overrides.py
-index 47f38a3..063792d 100644
---- a/tests/test_overrides.py
-+++ b/tests/test_overrides.py
-@@ -337,13 +337,13 @@ class TestPango(unittest.TestCase):
-         desc = Pango.FontDescription('monospace')
-         self.assertEquals(desc.get_family(), 'monospace')
-         self.assertEquals(desc.get_variant(), Pango.Variant.NORMAL)
--
-+"""
-     def test_layout(self):
-         self.assertRaises(TypeError, Pango.Layout)
-         context = Pango.Context()
-         layout = Pango.Layout(context)
-         self.assertEquals(layout.get_context(), context)
--
-+"""
- class TestGdk(unittest.TestCase):
- 
-     def test_constructor(self):
--- 
-1.8.1
-

diff --git a/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch 
b/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch
deleted file mode 100644
index fa0adf54ad0..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 42d01f060c5d764baa881d13c103d68897163a49 Mon Sep 17 00:00:00 2001
-From: Ryan Lortie <[email protected]>
-Date: Mon, 12 Mar 2012 16:44:14 -0400
-Subject: [PATCH] gio-types.defs: change some enums to flags
-
-These flags types were originally incorrectly handled in glib as being
-enums.  That bug was fixed, but they're still enums here, leading to
-warnings about the mismatch.
-
-Change them to flags.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=668522
----
- gio/gio-types.defs |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/gio/gio-types.defs b/gio/gio-types.defs
-index 331e0bc..7eee5c8 100644
---- a/gio/gio-types.defs
-+++ b/gio/gio-types.defs
-@@ -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")
--- 
-1.7.8.5
-

diff --git 
a/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch 
b/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch
deleted file mode 100644
index b2f9b147f84..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch
+++ /dev/null
@@ -1,315 +0,0 @@
-From 9456ba70fdb98b3a4eb7ee2f630182387a54ca00 Mon Sep 17 00:00:00 2001
-From: Martin Pitt <[email protected]>
-Date: Tue, 19 Feb 2013 15:39:56 +0100
-Subject: [PATCH] Move property and signal creation into _class_init()
-
-We must not add class interfaces after g_type_class_ref() has been called the
-first time. Move signal and property creation from pyg_type_register() into
-pyg_object_class_init(), and drop the hack of registering interfaces twice.
-
-This is a backport of commit efcb0f9fd for 2.28.x. This allows old pygtk
-applications to work with pygobject 2.28.x and glib 2.35.x.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=694108
----
- gobject/gobjectmodule.c | 177 +++++++++++++++++++-----------------------------
- 1 file changed, 70 insertions(+), 107 deletions(-)
-
-diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
-index 2a84606..91f7315 100644
---- a/gobject/gobjectmodule.c
-+++ b/gobject/gobjectmodule.c
-@@ -312,13 +312,6 @@ pyg_object_get_property (GObject *object, guint 
property_id,
-     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 @@ override_signal(GType instance_type, const gchar 
*signal_name)
- }
- 
- 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 @@ add_signals (GType instance_type, PyObject *signals)
-       if (!ret)
-           break;
-     }
--    g_type_class_unref(oclass);
-     if (ret)
-         return overridden_signals;
-     else {
-@@ -800,14 +791,12 @@ pyg_param_spec_from_object (PyObject *tuple)
- }
- 
- 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 @@ add_properties (GType instance_type, PyObject *properties)
-       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 @@ add_properties (GType instance_type, PyObject *properties)
-                 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 @@ add_properties (GType instance_type, PyObject 
*properties)
-       }
-     }
- 
--    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 @@ pygobject__g_instance_init(GTypeInstance   *instance,
-  */
- 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 @@ pyg_type_add_interfaces(PyTypeObject *class, GType 
instance_type,
-         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 @@ pyg_type_add_interfaces(PyTypeObject *class, GType 
instance_type,
-         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 @@ pyg_type_add_interfaces(PyTypeObject *class, GType 
instance_type,
- 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 @@ pyg_type_register(PyTypeObject *class, const char 
*type_name)
-     }
- 
-     /*
--     * 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 @@ pyg_type_register(PyTypeObject *class, const char 
*type_name)
-     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;
- }
- 
--- 
-1.8.3.2
-

diff --git a/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch 
b/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch
deleted file mode 100644
index 55376b59d82..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 42d871eb0b08ee6d55e95cc7e4b90844919555b9 Mon Sep 17 00:00:00 2001
-From: Ivan Stankovic <[email protected]>
-Date: Tue, 21 Feb 2012 12:24:58 +0100
-Subject: [PATCH] Fix set_qdata warning on accessing NULL gobject property
-
-https://bugzilla.gnome.org/show_bug.cgi?id=661155
----
- gobject/pygobject.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/gobject/pygobject.c b/gobject/pygobject.c
-index 6c2f06c..70dc89a 100644
---- a/gobject/pygobject.c
-+++ b/gobject/pygobject.c
-@@ -991,7 +991,9 @@ pygobject_new(GObject *obj)
- 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);
- }
- 
--- 
-1.7.8.5
-

diff --git 
a/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch 
b/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch
deleted file mode 100644
index d7e0c68e0dc..00000000000
--- a/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9c8ec7495e9e73855dc284be293828572f408c92 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <[email protected]>
-Date: Tue, 25 Dec 2012 00:26:05 -0500
-Subject: [PATCH] Do not run introspection tests when building with
- introspection disabled
-
----
- tests/Makefile.am | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index e60bad5..3a0d1b7 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -120,9 +120,14 @@ RUN_TESTS_ENV_VARS= \
- RUN_TESTS_LAUNCH=$(RUN_TESTS_ENV_VARS) $(DBUS_LAUNCH) $(EXEC_NAME) $(PYTHON) 
$(srcdir)/runtests.py
- 
- # run tests in separately to avoid loading static and introspection bindings 
in the same process
--check-local: $(check_LTLIBRARIES:.la=.so) Regress-1.0.typelib 
GIMarshallingTests-1.0.typelib gschemas.compiled
-+if ENABLE_INTROSPECTION
-+CHECK_LOCAL_INTROSPECTION_REQ = Regress-1.0.typelib 
GIMarshallingTests-1.0.typelib gschemas.compiled
-+endif
-+check-local: $(check_LTLIBRARIES:.la=.so) $(CHECK_LOCAL_INTROSPECTION_REQ)
-       TEST_FILES="$(TEST_FILES_STATIC)" $(RUN_TESTS_LAUNCH)
-+if ENABLE_INTROSPECTION
-       TEST_FILES="$(TEST_FILES_GI)" $(RUN_TESTS_LAUNCH)
-+endif
- if BUILD_GIO
-       TEST_FILES="$(TEST_FILES_GIO)" $(RUN_TESTS_LAUNCH)
- endif 
--- 
-1.8.0.2
-

diff --git a/dev-python/pygobject/pygobject-2.28.6-r55.ebuild 
b/dev-python/pygobject/pygobject-2.28.6-r55.ebuild
deleted file mode 100644
index ba3458372f2..00000000000
--- a/dev-python/pygobject/pygobject-2.28.6-r55.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME2_LA_PUNT="yes"
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools eutils gnome2 python-r1 virtualx
-
-DESCRIPTION="GLib's GObject library bindings for Python"
-HOMEPAGE="http://www.pygtk.org/";
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~x64-solaris ~x86-solaris"
-IUSE="examples libffi test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND=">=dev-libs/glib-2.24.0:2
-       dev-lang/python-exec:2
-       libffi? ( dev-libs/libffi:= )
-       ${PYTHON_DEPS}
-"
-DEPEND="${COMMON_DEPEND}
-       dev-util/gtk-doc-am
-       virtual/pkgconfig
-       test? (
-               media-fonts/font-cursor-misc
-               media-fonts/font-misc-misc )
-"
-RDEPEND="${COMMON_DEPEND}
-       !<dev-python/pygtk-2.23"
-
-src_prepare() {
-       # Fix FHS compliance, see upstream bug #535524
-       epatch "${FILESDIR}/${PN}-2.28.3-fix-codegen-location.patch"
-
-       # Do not build tests if unneeded, bug #226345
-       epatch "${FILESDIR}/${PN}-2.28.3-make_check.patch"
-
-       # Support installation for multiple Python versions, upstream bug 
#648292
-       epatch "${FILESDIR}/${PN}-2.28.3-support_multiple_python_versions.patch"
-
-       # Disable tests that fail
-       epatch "${FILESDIR}/${P}-disable-failing-tests.patch"
-
-       # Disable introspection tests when we build with --disable-introspection
-       epatch "${FILESDIR}/${P}-tests-no-introspection.patch"
-
-       # Fix warning spam
-       epatch "${FILESDIR}/${P}-set_qdata.patch"
-       epatch "${FILESDIR}/${P}-gio-types-2.32.patch"
-
-       # Fix glib-2.36 compatibility, bug #486602
-       epatch "${FILESDIR}/${P}-glib-2.36-class_init.patch"
-
-       sed -i \
-               -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
-               -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
-               configure.ac || die
-
-       eautoreconf
-       gnome2_src_prepare
-
-       python_copy_sources
-
-       prepare_shebangs() {
-               # Make a backup with unconverted shebangs to keep 
python_doscript happy
-               cp codegen/codegen.py pygobject-codegen-2.0
-               sed -e "s%#! \?/usr/bin/env python%#!${PYTHON}%" \
-                       -i codegen/*.py || die "shebang convertion failed"
-       }
-       python_foreach_impl run_in_build_dir prepare_shebangs
-}
-
-src_configure() {
-       DOCS="AUTHORS ChangeLog* NEWS README"
-       # --disable-introspection and --disable-cairo because we use pygobject:3
-       # for introspection support
-       G2CONF="${G2CONF}
-               --disable-introspection
-               --disable-cairo
-               $(use_with libffi ffi)"
-
-       python_foreach_impl run_in_build_dir gnome2_src_configure
-}
-
-src_compile() {
-       python_foreach_impl run_in_build_dir gnome2_src_compile
-}
-
-# FIXME: With python multiple ABI support, tests return 1 even when they pass
-src_test() {
-       unset DBUS_SESSION_BUS_ADDRESS
-       export GIO_USE_VFS="local" # prevents odd issues with deleting 
${T}/.gvfs
-
-       testing() {
-               export XDG_CACHE_HOME="${T}/${EPYTHON}"
-               run_in_build_dir Xemake -j1 check
-               unset XDG_CACHE_HOME
-       }
-       python_foreach_impl testing
-       unset GIO_USE_VFS
-}
-
-src_install() {
-       installing() {
-               local f prefixed_sitedir
-
-               gnome2_src_install
-
-               python_doscript pygobject-codegen-2.0
-
-               # Don't keep multiple copies of pygobject-codegen-2.0 script
-               prefixed_sitedir=$(python_get_sitedir)
-               dosym 
"${prefixed_sitedir#${EPREFIX}}/gtk-2.0/codegen/codegen.py" 
"/usr/lib/python-exec/${EPYTHON}/pygobject-codegen-2.0"
-       }
-       python_foreach_impl run_in_build_dir installing
-
-       if use examples; then
-               insinto /usr/share/doc/${PF}
-               doins -r examples
-       fi
-}
-
-run_in_build_dir() {
-       pushd "${BUILD_DIR}" > /dev/null || die
-       "$@"
-       popd > /dev/null
-}

Reply via email to