diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-04-13 14:59:21 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-04-13 14:59:21 +0000 |
commit | 115671d2834d52c4d0a8b0ae89771cf571d2a52b (patch) | |
tree | 698a4bef41fde5d6fe15293cf9ff2b43cd68e7bf /dev-python/pygobject | |
parent | agda 2.3.0 and 2.3.0.1 requires syb, add more range checks to deps (diff) | |
download | gentoo-2-115671d2834d52c4d0a8b0ae89771cf571d2a52b.tar.gz gentoo-2-115671d2834d52c4d0a8b0ae89771cf571d2a52b.tar.bz2 gentoo-2-115671d2834d52c4d0a8b0ae89771cf571d2a52b.zip |
Fix console warnings with glib-2.32, thanks to rei4dan for reporting.
(Portage version: 2.2.0_alpha100/cvs/Linux x86_64)
Diffstat (limited to 'dev-python/pygobject')
-rw-r--r-- | dev-python/pygobject/ChangeLog | 9 | ||||
-rw-r--r-- | dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch | 50 | ||||
-rw-r--r-- | dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch | 28 | ||||
-rw-r--r-- | dev-python/pygobject/pygobject-2.28.6-r52.ebuild | 142 |
4 files changed, 228 insertions, 1 deletions
diff --git a/dev-python/pygobject/ChangeLog b/dev-python/pygobject/ChangeLog index c439ae8a0ce1..439594022f5d 100644 --- a/dev-python/pygobject/ChangeLog +++ b/dev-python/pygobject/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-python/pygobject # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pygobject/ChangeLog,v 1.150 2012/03/28 01:01:48 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/pygobject/ChangeLog,v 1.151 2012/04/13 14:59:21 tetromino Exp $ + +*pygobject-2.28.6-r52 (13 Apr 2012) + + 13 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + +pygobject-2.28.6-r52.ebuild, +files/pygobject-2.28.6-gio-types-2.32.patch, + +files/pygobject-2.28.6-set_qdata.patch: + Fix console warnings with glib-2.32, thanks to rei4dan for reporting. *pygobject-3.2.0 (28 Mar 2012) 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-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/pygobject-2.28.6-r52.ebuild b/dev-python/pygobject/pygobject-2.28.6-r52.ebuild new file mode 100644 index 000000000000..6395785ae250 --- /dev/null +++ b/dev-python/pygobject/pygobject-2.28.6-r52.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/pygobject/pygobject-2.28.6-r52.ebuild,v 1.1 2012/04/13 14:59:21 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +SUPPORT_PYTHON_ABIS="1" +# pygobject is partially incompatible with Python 3. +# PYTHON_DEPEND="2:2.6 3:3.1" +# RESTRICT_PYTHON_ABIS="2.4 2.5 3.0 *-jython" +PYTHON_DEPEND="2:2.6" +RESTRICT_PYTHON_ABIS="2.4 2.5 3.* *-jython 2.7-pypy-*" + +# XXX: Is the alternatives stuff needed anymore? +inherit alternatives autotools gnome2 python 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 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="doc examples +introspection libffi test" +# FIXME: tests require introspection support, but we can't enable introspection, +# or we get file collisions with slot 3 :/ +RESTRICT="test" + +COMMON_DEPEND=">=dev-libs/glib-2.24.0:2 + libffi? ( virtual/libffi )" +DEPEND="${COMMON_DEPEND} + doc? ( + dev-libs/libxslt + >=app-text/docbook-xsl-stylesheets-1.70.1 ) + test? ( + media-fonts/font-cursor-misc + media-fonts/font-misc-misc ) + >=dev-util/pkgconfig-0.12" +RDEPEND="${COMMON_DEPEND} + !<dev-python/pygtk-2.13" +# Use slot 3 for introspection support per upstream recommendation +# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); +# keep introspection USE flag in slot 2 for backward compatibility for now. +PDEPEND="introspection? ( dev-python/pygobject:3 )" + +pkg_setup() { + DOCS="AUTHORS ChangeLog* NEWS README" + # --disable-introspection and --disable-cairo because we use pygobject:3 + # for introspection support + G2CONF="${G2CONF} + --disable-dependency-tracking + --disable-introspection + --disable-cairo + $(use_enable doc docs) + $(use_with libffi ffi)" + python_pkg_setup +} + +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}/${PN}-2.28.3-disable-failing-tests.patch" + + # Fix warning spam + epatch "${FILESDIR}/${P}-set_qdata.patch" + epatch "${FILESDIR}/${P}-gio-types-2.32.patch" + + python_clean_py-compile_files + + eautoreconf + gnome2_src_prepare + + python_copy_sources +} + +src_configure() { + python_execute_function -s gnome2_src_configure +} + +src_compile() { + python_execute_function -d -s +} + +# FIXME: With python multiple ABI support, tests return 1 even when they pass +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + + testing() { + XDG_CACHE_HOME="${T}/$(PYTHON --ABI)" + Xemake check PYTHON=$(PYTHON -a) + } + python_execute_function -s testing +} + +src_install() { + [[ -z ${ED} ]] && local ED="${D}" + installation() { + gnome2_src_install + mv "${ED}$(python_get_sitedir)/pygtk.py" "${ED}$(python_get_sitedir)/pygtk.py-2.0" + mv "${ED}$(python_get_sitedir)/pygtk.pth" "${ED}$(python_get_sitedir)/pygtk.pth-2.0" + } + python_execute_function -s installation + + python_clean_installation_image + + sed "s:/usr/bin/python:/usr/bin/python2:" \ + -i "${ED}"/usr/bin/pygobject-codegen-2.0 \ + || die "Fix usage of python interpreter" + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} + +pkg_postinst() { + create_symlinks() { + alternatives_auto_makesym "$(python_get_sitedir)/pygtk.py" pygtk.py-[0-9].[0-9] + alternatives_auto_makesym "$(python_get_sitedir)/pygtk.pth" pygtk.pth-[0-9].[0-9] + } + python_execute_function create_symlinks + + python_mod_optimize glib gobject gtk-2.0 pygtk.py +} + +pkg_postrm() { + python_mod_cleanup glib gobject gtk-2.0 pygtk.py + + create_symlinks() { + alternatives_auto_makesym "$(python_get_sitedir)/pygtk.py" pygtk.py-[0-9].[0-9] + alternatives_auto_makesym "$(python_get_sitedir)/pygtk.pth" pygtk.pth-[0-9].[0-9] + } + python_execute_function create_symlinks +} |