diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-python/pygobject | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-python/pygobject')
16 files changed, 1341 insertions, 0 deletions
diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest new file mode 100644 index 000000000000..f1d90b15cefb --- /dev/null +++ b/dev-python/pygobject/Manifest @@ -0,0 +1,5 @@ +DIST pygobject-2.28.6.tar.xz 747248 SHA256 fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8 SHA512 37544ea2377258758169b25a2969d5ee1c9ffb9b6e63e05bc7a0471a49ac9169c51ec587d4489172c7d256f53df878a81c1992a08059aa7e43dbbb69f799545c WHIRLPOOL 402f764d6ca73f238784738a1e09832858fd95af5a633e825412e9e6a21e89ab6b2090d3995902ed404fc4fde445cf970c76fcd93f8f64cf9def742452776c00 +DIST pygobject-3.12.2.tar.xz 702176 SHA256 7e7a3d349acf5bb4b68f8539a42e67958840a67cd4f0341ee9aa49189af2a522 SHA512 81ea6904b6a6b405593394e3a4915cd8ccbacafa4820a3f38cce1ebd0a2de3cd4cad2feadec9ae8910ac3fa2b63fd66a8cb264f74d04631f5d4c3f45c29b5b47 WHIRLPOOL ca2f3cd2018b9923d1f758750e489cad6e658a4a621db5c8fd056d2f721d59630d4a4c6f01f932997b336b391b7e54dcd2b7068dd863bc0c01ad93737abbc386 +DIST pygobject-3.14.0.tar.xz 720128 SHA256 779effa93f4b59cdb72f4ab0128fb3fd82900bf686193b570fd3a8ce63392d54 SHA512 f6e1e5826a6afe81eb0a37bb554b433769622f8a0d17ac9836498425d70c4583cf8157027a555c21fd7a0d6686863c7803a350550665a375a906fccdabca2090 WHIRLPOOL 0a665504b792691238b89d2704ce1cc024f89ddf96fd6b626f1f5b05dbccfd633e61f9b45b0ca09873029c576b9804edcfa77e1bceae9e995be44a3fd60852ca +DIST pygobject-3.16.1.tar.xz 725220 SHA256 7d96dad050f15ec1688617b749bb485811842de46a22d31f9396023e8eaa1ec3 SHA512 f32db7620b6714fdc780ec28c282566c0e662648a53f37b2466cbed609d1cbbbf998e30fd42d24ae1e5c0334656b04276dd3a8bf210f9b93f2bfb66f305f7a72 WHIRLPOOL 7f3257f1743510d1c602d797bce4722f6f987676dee4186b7026277f94412663bef0b1e70519030e890ad330eb2cb2cdb7ac7bf8060d9c4a0aca019bd7d4f1a2 +DIST pygobject-3.16.2.tar.xz 725544 SHA256 de620e00fe7ecb788aa2dc0d664e41f71b8e718e728168e8d982cf193a9e7e64 SHA512 9a742db4b05fdf0cf2b7bb9139d5f43b4a4e25b4652e8bd3aa8d6f64b03b745b57c047dfc95335045126d0dd4c797989d95d6a1bdb4752cab8e04146470653bf WHIRLPOOL d39b5f23ca33f4331582fd8229a348db679b1db1b9f5daff2639a03ec70f31bfcf2f7ac7a67cc3d54a2444faa228b878fdd9556110af10c3246087a634ba88e3 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 new file mode 100644 index 000000000000..44440a526b81 --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch @@ -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 + 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 new file mode 100644 index 000000000000..45c04b96780e --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch @@ -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 + 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 new file mode 100644 index 000000000000..65d881a43d2a --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch @@ -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 + 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 new file mode 100644 index 000000000000..f9d396dc4b56 --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch @@ -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 + 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 new file mode 100644 index 000000000000..fa0adf54ad04 --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch @@ -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 + 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 new file mode 100644 index 000000000000..b2f9b147f847 --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch @@ -0,0 +1,315 @@ +From 9456ba70fdb98b3a4eb7ee2f630182387a54ca00 Mon Sep 17 00:00:00 2001 +From: Martin Pitt <martinpitt@gnome.org> +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 new file mode 100644 index 000000000000..55376b59d829 --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch @@ -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 + 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 new file mode 100644 index 000000000000..d7e0c68e0dca --- /dev/null +++ b/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch @@ -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 + diff --git a/dev-python/pygobject/files/pygobject-3.16.1-unittest.patch b/dev-python/pygobject/files/pygobject-3.16.1-unittest.patch new file mode 100644 index 000000000000..5ee15b1dd1bd --- /dev/null +++ b/dev-python/pygobject/files/pygobject-3.16.1-unittest.patch @@ -0,0 +1,15 @@ +Comment out unittest that ought to work but for some reason does not want to. + +--- a/tests/test_glib.py 2015-05-10 14:01:45.873164005 +0200 ++++ b/tests/test_glib.py 2015-03-05 09:32:55.000000000 +0100 +@@ -38,8 +38,8 @@ + def test_xdg_dirs(self): + d = GLib.get_user_data_dir() + self.assertTrue('/' in d, d) +- d = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC) +- self.assertTrue('/' in d, d) ++ #d = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC) ++ #self.assertTrue('/' in d, d) + with warnings.catch_warnings(): + warnings.simplefilter('ignore', PyGIDeprecationWarning) + diff --git a/dev-python/pygobject/metadata.xml b/dev-python/pygobject/metadata.xml new file mode 100644 index 000000000000..9b1bc26a9df2 --- /dev/null +++ b/dev-python/pygobject/metadata.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +<herd>python</herd> +</pkgmetadata> diff --git a/dev-python/pygobject/pygobject-2.28.6-r55.ebuild b/dev-python/pygobject/pygobject-2.28.6-r55.ebuild new file mode 100644 index 000000000000..01c5f60590e7 --- /dev/null +++ b/dev-python/pygobject/pygobject-2.28.6-r55.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="examples libffi test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +COMMON_DEPEND=">=dev-libs/glib-2.24.0:2 + dev-lang/python-exec:2 + libffi? ( virtual/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 +} diff --git a/dev-python/pygobject/pygobject-3.12.2.ebuild b/dev-python/pygobject/pygobject-3.12.2.ebuild new file mode 100644 index 000000000000..67f2b1b8954a --- /dev/null +++ b/dev-python/pygobject/pygobject-3.12.2.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit gnome2 python-r1 virtualx + +DESCRIPTION="GLib's GObject library bindings for Python" +HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject" + +LICENSE="LGPL-2.1+" +SLOT="3" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="+cairo examples test +threads" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" + +COMMON_DEPEND=" + >=dev-libs/glib-2.38:2 + >=dev-libs/gobject-introspection-1.38 + virtual/libffi:= + cairo? ( + >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}] + x11-libs/cairo ) + ${PYTHON_DEPS} +" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + cairo? ( x11-libs/cairo[glib] ) + test? ( + dev-libs/atk[introspection] + media-fonts/font-cursor-misc + media-fonts/font-misc-misc + x11-libs/cairo[glib] + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] ) +" +# gnome-base/gnome-common required by eautoreconf + +# We now disable introspection support in slot 2 per upstream recommendation +# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however, +# older versions of slot 2 installed their own site-packages/gi, and +# slot 3 will collide with them. +RDEPEND="${COMMON_DEPEND} + !<dev-python/pygtk-2.13 + !<dev-python/pygobject-2.28.6-r50:2[introspection] +" + +src_prepare() { + gnome2_src_prepare + python_copy_sources +} + +src_configure() { + # Hard-enable libffi support since both gobject-introspection and + # glib-2.29.x rdepend on it anyway + # docs disabled by upstream default since they are very out of date + python_foreach_impl run_in_build_dir \ + gnome2_src_configure \ + $(use_enable cairo) \ + $(use_enable threads thread) +} + +src_compile() { + python_foreach_impl run_in_build_dir gnome2_src_compile +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs + export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484 + + testing() { + export XDG_CACHE_HOME="${T}/${EPYTHON}" + run_in_build_dir Xemake check + unset XDG_CACHE_HOME + } + python_foreach_impl testing + unset GIO_USE_VFS +} + +src_install() { + DOCS="AUTHORS ChangeLog* NEWS README" + + python_foreach_impl run_in_build_dir gnome2_src_install + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/dev-python/pygobject/pygobject-3.14.0.ebuild b/dev-python/pygobject/pygobject-3.14.0.ebuild new file mode 100644 index 000000000000..2cc8d7068903 --- /dev/null +++ b/dev-python/pygobject/pygobject-3.14.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit gnome2 python-r1 virtualx + +DESCRIPTION="GLib's GObject library bindings for Python" +HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject" + +LICENSE="LGPL-2.1+" +SLOT="3" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="+cairo examples test +threads" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" + +COMMON_DEPEND=" + >=dev-libs/glib-2.38:2 + >=dev-libs/gobject-introspection-1.39 + virtual/libffi:= + cairo? ( + >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}] + x11-libs/cairo ) + ${PYTHON_DEPS} +" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + cairo? ( x11-libs/cairo[glib] ) + test? ( + dev-libs/atk[introspection] + media-fonts/font-cursor-misc + media-fonts/font-misc-misc + x11-libs/cairo[glib] + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] ) +" +# gnome-base/gnome-common required by eautoreconf + +# We now disable introspection support in slot 2 per upstream recommendation +# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however, +# older versions of slot 2 installed their own site-packages/gi, and +# slot 3 will collide with them. +RDEPEND="${COMMON_DEPEND} + !<dev-python/pygtk-2.13 + !<dev-python/pygobject-2.28.6-r50:2[introspection] +" + +src_prepare() { + gnome2_src_prepare + python_copy_sources +} + +src_configure() { + # Hard-enable libffi support since both gobject-introspection and + # glib-2.29.x rdepend on it anyway + # docs disabled by upstream default since they are very out of date + python_foreach_impl run_in_build_dir \ + gnome2_src_configure \ + $(use_enable cairo) \ + $(use_enable threads thread) +} + +src_compile() { + python_foreach_impl run_in_build_dir gnome2_src_compile +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs + export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484 + + testing() { + export XDG_CACHE_HOME="${T}/${EPYTHON}" + run_in_build_dir Xemake check + unset XDG_CACHE_HOME + } + python_foreach_impl testing + unset GIO_USE_VFS +} + +src_install() { + DOCS="AUTHORS ChangeLog* NEWS README" + + python_foreach_impl run_in_build_dir gnome2_src_install + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/dev-python/pygobject/pygobject-3.16.1.ebuild b/dev-python/pygobject/pygobject-3.16.1.ebuild new file mode 100644 index 000000000000..9d8907c58d3b --- /dev/null +++ b/dev-python/pygobject/pygobject-3.16.1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit eutils gnome2 python-r1 virtualx + +DESCRIPTION="GLib's GObject library bindings for Python" +HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject" + +LICENSE="LGPL-2.1+" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="+cairo examples test +threads" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" + +COMMON_DEPEND=" + >=dev-libs/glib-2.38:2 + >=dev-libs/gobject-introspection-1.39 + virtual/libffi:= + cairo? ( + >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}] + x11-libs/cairo ) + ${PYTHON_DEPS} +" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + cairo? ( x11-libs/cairo[glib] ) + test? ( + dev-libs/atk[introspection] + media-fonts/font-cursor-misc + media-fonts/font-misc-misc + x11-libs/cairo[glib] + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] ) +" +# gnome-base/gnome-common required by eautoreconf + +# We now disable introspection support in slot 2 per upstream recommendation +# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however, +# older versions of slot 2 installed their own site-packages/gi, and +# slot 3 will collide with them. +RDEPEND="${COMMON_DEPEND} + !<dev-python/pygtk-2.13 + !<dev-python/pygobject-2.28.6-r50:2[introspection] +" + +src_prepare() { + # Comment out broken unittest + epatch "${FILESDIR}"/${PN}-3.16.1-unittest.patch + + gnome2_src_prepare + python_copy_sources +} + +src_configure() { + # Hard-enable libffi support since both gobject-introspection and + # glib-2.29.x rdepend on it anyway + # docs disabled by upstream default since they are very out of date + python_foreach_impl run_in_build_dir \ + gnome2_src_configure \ + $(use_enable cairo) \ + $(use_enable threads thread) +} + +src_compile() { + python_foreach_impl run_in_build_dir gnome2_src_compile +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs + export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484 + export SKIP_PEP8="yes" + + testing() { + export XDG_CACHE_HOME="${T}/${EPYTHON}" + run_in_build_dir Xemake check + unset XDG_CACHE_HOME + } + python_foreach_impl testing + unset GIO_USE_VFS +} + +src_install() { + DOCS="AUTHORS ChangeLog* NEWS README" + + python_foreach_impl run_in_build_dir gnome2_src_install + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/dev-python/pygobject/pygobject-3.16.2.ebuild b/dev-python/pygobject/pygobject-3.16.2.ebuild new file mode 100644 index 000000000000..e5610c23cd41 --- /dev/null +++ b/dev-python/pygobject/pygobject-3.16.2.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) + +inherit eutils gnome2 python-r1 virtualx + +DESCRIPTION="GLib's GObject library bindings for Python" +HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject" + +LICENSE="LGPL-2.1+" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="+cairo examples test +threads" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + test? ( cairo ) +" + +COMMON_DEPEND="${PYTHON_DEPS} + >=dev-libs/glib-2.38:2 + >=dev-libs/gobject-introspection-1.39:= + virtual/libffi:= + cairo? ( + >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}] + x11-libs/cairo ) +" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + cairo? ( x11-libs/cairo[glib] ) + test? ( + dev-libs/atk[introspection] + media-fonts/font-cursor-misc + media-fonts/font-misc-misc + x11-libs/cairo[glib] + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] + !sparc? ( python_targets_python2_7? ( dev-python/pyflakes[$(python_gen_usedep python2_7)] ) ) ) +" +# FIXME: remove "!sparc?" automagic nonsense above when pyflakes is +# keyworded on sparc, bug #553380 + +# gnome-base/gnome-common required by eautoreconf + +# We now disable introspection support in slot 2 per upstream recommendation +# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however, +# older versions of slot 2 installed their own site-packages/gi, and +# slot 3 will collide with them. +RDEPEND="${COMMON_DEPEND} + !<dev-python/pygtk-2.13 + !<dev-python/pygobject-2.28.6-r50:2[introspection] +" + +src_prepare() { + # Comment out broken unittest + epatch "${FILESDIR}"/${PN}-3.16.1-unittest.patch + + gnome2_src_prepare + python_copy_sources +} + +src_configure() { + # Hard-enable libffi support since both gobject-introspection and + # glib-2.29.x rdepend on it anyway + # docs disabled by upstream default since they are very out of date + configuring() { + gnome2_src_configure \ + $(use_enable cairo) \ + $(use_enable threads thread) + + # Pyflakes tests work only in python2, bug #516744 + if use test && [[ ${EPYTHON} != python2.7 ]]; then + sed -e 's/if type pyflakes/if false/' \ + -i Makefile || die "sed failed" + fi + } + + python_foreach_impl run_in_build_dir configuring +} + +src_compile() { + python_foreach_impl run_in_build_dir gnome2_src_compile +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs + export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484 + export SKIP_PEP8="yes" + + testing() { + export XDG_CACHE_HOME="${T}/${EPYTHON}" + run_in_build_dir Xemake check + unset XDG_CACHE_HOME + } + python_foreach_impl testing + unset GIO_USE_VFS +} + +src_install() { + DOCS="AUTHORS ChangeLog* NEWS README" + + python_foreach_impl run_in_build_dir gnome2_src_install + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} |