diff options
3 files changed, 139 insertions, 1 deletions
diff --git a/dev-libs/gobject-introspection/ChangeLog b/dev-libs/gobject-introspection/ChangeLog index f7412124e856..c8a12896bc52 100644 --- a/dev-libs/gobject-introspection/ChangeLog +++ b/dev-libs/gobject-introspection/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-libs/gobject-introspection # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/gobject-introspection/ChangeLog,v 1.84 2012/12/09 18:33:49 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/gobject-introspection/ChangeLog,v 1.85 2012/12/29 10:35:10 tetromino Exp $ + +*gobject-introspection-1.34.2-r1 (29 Dec 2012) + + 29 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + +gobject-introspection-1.34.2-r1.ebuild, + +files/gobject-introspection-1.34.2-better-traceback.patch: + Print the filename and line being parsed if g-ir-scanner crashes while + parsing a gtk-doc annotation. Update to EAPI5 and python-single-r1. 09 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> gobject-introspection-1.30.0-r2.ebuild, gobject-introspection-1.32.1.ebuild, diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.34.2-better-traceback.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.34.2-better-traceback.patch new file mode 100644 index 000000000000..296ef17b07f7 --- /dev/null +++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.34.2-better-traceback.patch @@ -0,0 +1,43 @@ +From 3e452d88e285531f78707de9a0326649d537e59f Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Sat, 29 Dec 2012 05:22:08 -0500 +Subject: [PATCH] scanner: add filename/line to the backtrace if + parse_comment_block() raised an exception + +In most cases, such exceptions are caused by gtk-doc syntax errors in +annotations, and developers want to see which annotation made g-ir-scanner +crash. + +https://bugzilla.gnome.org/show_bug.cgi?id=690850 +--- + giscanner/annotationparser.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py +index f545590..f33e956 100644 +--- a/giscanner/annotationparser.py ++++ b/giscanner/annotationparser.py +@@ -24,6 +24,7 @@ + + + import re ++import traceback + + from . import message + from .odict import odict +@@ -766,7 +767,11 @@ class AnnotationParser(object): + comment_blocks = {} + + for comment in comments: +- comment_block = self.parse_comment_block(comment) ++ try: ++ comment_block = self.parse_comment_block(comment) ++ except: ++ message.fatal("error when parsing comment block\n%s" % traceback.format_exc(), ++ message.Position(comment[1], comment[2])) + + if comment_block is not None: + # Note: previous versions of this parser did not check +-- +1.8.0.2 + diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.34.2-r1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.34.2-r1.ebuild new file mode 100644 index 000000000000..10a9f26f2588 --- /dev/null +++ b/dev-libs/gobject-introspection/gobject-introspection-1.34.2-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/gobject-introspection/gobject-introspection-1.34.2-r1.ebuild,v 1.1 2012/12/29 10:35:10 tetromino Exp $ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="xml" + +inherit eutils gnome2 python-single-r1 toolchain-funcs + +DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages" +HOMEPAGE="http://live.gnome.org/GObjectIntrospection/" + +LICENSE="LGPL-2+ GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +IUSE="doctool test" + +RDEPEND=" + >=dev-libs/gobject-introspection-common-${PV} + >=dev-libs/glib-2.34.1:2 + doctool? ( dev-python/mako ) + virtual/libffi:= +" +# Wants real bison, not virtual/yacc +DEPEND="${RDEPEND} + >=dev-util/gtk-doc-am-1.15 + sys-devel/bison + sys-devel/flex + virtual/pkgconfig +" +# PDEPEND to avoid circular dependencies, bug #391213 +PDEPEND="x11-libs/cairo[glib]" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + # To prevent crosscompiling problems, bug #414105 + CC=$(tc-getCC) + + DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO" + G2CONF="${G2CONF} + --disable-static + YACC=$(type -p yacc) + $(use_enable doctool) + $(use_enable test tests)" + + # https://bugzilla.gnome.org/show_bug.cgi?id=690850 + epatch "${FILESDIR}/${PN}-1.34.2-better-traceback.patch" + + gnome2_src_prepare + + # avoid GNU-isms + sed -i -e 's/\(if test .* \)==/\1=/' configure || die + + gi_skip_tests= + if ! has_version "x11-libs/cairo[glib]"; then + # Bug #391213: enable cairo-gobject support even if it's not installed + # We only PDEPEND on cairo to avoid circular dependencies + export CAIRO_LIBS="-lcairo -lcairo-gobject" + export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo" + if use test; then + G2CONF="${G2CONF} --disable-tests" + gi_skip_tests=yes + ewarn "Tests will be skipped because x11-libs/cairo[glib] is not present" + ewarn "on your system. Consider installing it to get tests to run." + fi + fi +} + +src_test() { + [[ -z ${gi_skip_tests} ]] && default +} + +src_install() { + gnome2_src_install + + # Prevent collision with gobject-introspection-common + rm -v "${ED}"usr/share/aclocal/introspection.m4 \ + "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die + rmdir "${ED}"usr/share/aclocal || die +} |