[dev-python/pygobject] port from tree, revert some illegal $D usage

This commit is contained in:
Fabio Erculiani
2013-02-25 19:07:30 +00:00
parent a663a5350a
commit 2c5bcfdfe1
10 changed files with 630 additions and 0 deletions
@@ -0,0 +1,55 @@
From df94ec3795c1efaf3eab9207c957e3ea5744971b Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
Date: Fri, 8 Apr 2011 16:23:37 +0200
Subject: [PATCH 4/4] Disable tests that fail
---
tests/test_gio.py | 4 ++--
tests/test_overrides.py | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/test_gio.py b/tests/test_gio.py
index e14eddf..9c645f5 100644
--- a/tests/test_gio.py
+++ b/tests/test_gio.py
@@ -1007,7 +1007,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 +1018,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 3421c3a..9de1a7f 100644
--- a/tests/test_overrides.py
+++ b/tests/test_overrides.py
@@ -322,13 +322,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.7.4.1
@@ -0,0 +1,64 @@
From b3e852d29bfd1e90f7e0da409fd0ae36cc01675a Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
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
@@ -0,0 +1,76 @@
From b5c4b8b97a1ccb9a4c63ab726ea9c84d81ef51ca Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
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
@@ -0,0 +1,103 @@
From 2f75378f3c56f245cabdcd2c52b561dbb878db2d Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
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-@PYTHON_BASENAME@.la
+ $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
_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-@PYTHON_BASENAME@.la
+_gio_la_LIBADD = $(GIO_LIBS) $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
_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-@PYTHON_BASENAME@.la
+lib_LTLIBRARIES = libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
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-@PYTHON_BASENAME@.la
+_glib_la_LIBADD = $(GLIB_LIBS) libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
_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-@PYTHON_BASENAME@.la
+ $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
_gobject_la_SOURCES = \
gobjectmodule.c \
pygboxed.c \
--
1.7.4.1
@@ -0,0 +1,98 @@
From 9d8867a7c67a14d055a0dd8db5f6a9aae5762a04 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
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
@@ -0,0 +1,50 @@
From 42d01f060c5d764baa881d13c103d68897163a49 Mon Sep 17 00:00:00 2001
From: Ryan Lortie <desrt@desrt.ca>
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
@@ -0,0 +1,28 @@
From 42d871eb0b08ee6d55e95cc7e4b90844919555b9 Mon Sep 17 00:00:00 2001
From: Ivan Stankovic <ivan.stankovic@avl.com>
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
@@ -0,0 +1,33 @@
From 9c8ec7495e9e73855dc284be293828572f408c92 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
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