summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-01-08 23:03:03 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-01-08 23:03:03 +0000
commit3d3abf6cc107199f45cd6df597ba3f53082013d4 (patch)
treee71a4e9af2afd98c152d31a0f81a746df85bbe7f /dev-libs/gobject-introspection
parentLICENSE is noweb not freedist, bug 397485. (diff)
downloadgentoo-2-3d3abf6cc107199f45cd6df597ba3f53082013d4.tar.gz
gentoo-2-3d3abf6cc107199f45cd6df597ba3f53082013d4.tar.bz2
gentoo-2-3d3abf6cc107199f45cd6df597ba3f53082013d4.zip
Force building cairo-gobject support, and add a PDEPEND on cairo[glib] (PDEPEND instead of RDEPEND to avoid circular dependencies). Fixes bug #391213; thanks to Pacho Ramos, Rafał Mużyło, and the many helpful testers.
(Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/gobject-introspection')
-rw-r--r--dev-libs/gobject-introspection/ChangeLog14
-rw-r--r--dev-libs/gobject-introspection/files/gobject-introspection-1.30.0-forced-cairo.patch30
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.30.0-r2.ebuild90
3 files changed, 132 insertions, 2 deletions
diff --git a/dev-libs/gobject-introspection/ChangeLog b/dev-libs/gobject-introspection/ChangeLog
index 4e91d1404655..23345c40042b 100644
--- a/dev-libs/gobject-introspection/ChangeLog
+++ b/dev-libs/gobject-introspection/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for dev-libs/gobject-introspection
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/gobject-introspection/ChangeLog,v 1.50 2011/12/31 21:58:21 tetromino Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/gobject-introspection/ChangeLog,v 1.51 2012/01/08 23:03:03 tetromino Exp $
+
+*gobject-introspection-1.30.0-r2 (08 Jan 2012)
+
+ 08 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +gobject-introspection-1.30.0-r2.ebuild,
+ +files/gobject-introspection-1.30.0-forced-cairo.patch:
+ Force building cairo-gobject support, and add a PDEPEND on cairo[glib]
+ (PDEPEND instead of RDEPEND to avoid circular dependencies). Fixes bug
+ #391213; thanks to Pacho Ramos, Rafał Mużyło, and the many helpful
+ testers.
31 Dec 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
gobject-introspection-0.10.8.ebuild, gobject-introspection-1.30.0.ebuild,
diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.30.0-forced-cairo.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.30.0-forced-cairo.patch
new file mode 100644
index 000000000000..e2bd8b14bfc6
--- /dev/null
+++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.30.0-forced-cairo.patch
@@ -0,0 +1,30 @@
+From ca96c4c58042576c57c760aef6884f30a07e713d Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 8 Jan 2012 16:21:53 -0500
+Subject: [PATCH] Always build cairo-gobject gir, even if cairo is not
+ installed
+
+This is needed to avoid circular dependencies with cairo and splitting
+gobject-introspection-cairo out of the main package (the patch to do so
+would be invasive and hard to maintain).
+
+https://bugs.gentoo.org/show_bug.cgi?id=391213
+---
+ configure.ac | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index cbee79e..5bc36f7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -141,6 +141,7 @@ if test x$have_cairo = xyes; then
+ PKG_CHECK_MODULES(CAIRO_GOBJECT, [cairo-gobject], have_cairo_gobject=yes, have_cairo_gobject=no)
+ fi
+
++have_cairo_gobject=yes
+ if test x$have_cairo_gobject = xyes; then
+ case "$host" in
+ *-*-darwin*)
+--
+1.7.8.3
+
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.30.0-r2.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.30.0-r2.ebuild
new file mode 100644
index 000000000000..2a63795b20ba
--- /dev/null
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.30.0-r2.ebuild
@@ -0,0 +1,90 @@
+# 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.30.0-r2.ebuild,v 1.1 2012/01/08 23:03:03 tetromino Exp $
+
+EAPI="4"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_DEPEND="2:2.5"
+
+inherit autotools gnome2 python
+
+DESCRIPTION="Introspection infrastructure for generating gobject library bindings for various languages"
+HOMEPAGE="http://live.gnome.org/GObjectIntrospection/"
+SRC_URI="${SRC_URI} mirror://gentoo/${P}-patches-1.tar.xz"
+
+LICENSE="LGPL-2 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~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="doc test"
+
+RDEPEND=">=dev-libs/glib-2.29.7:2
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ sys-devel/flex
+ virtual/yacc
+ doc? ( >=dev-util/gtk-doc-1.15 )"
+# PDEPEND to avoid circular dependencies, bug #391213
+PDEPEND="x11-libs/cairo[glib]"
+
+pkg_setup() {
+ DOCS="AUTHORS CONTRIBUTORS ChangeLog NEWS README TODO"
+ G2CONF="${G2CONF}
+ --disable-static
+ YACC=$(type -p yacc)
+ $(use_enable test tests)"
+
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ # Useful upstream patches, will be in 1.31
+ epatch ../patches/*.patch
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=659824
+ sed -i -e '/^TAGS/s/[{}]//g' "${S}/giscanner/docbookdescription.py" || die
+
+ # Enable cairo-gobject support even if cairo is not installed, bug #391213
+ epatch "${FILESDIR}/${PN}-1.30.0-forced-cairo.patch"
+
+ # FIXME: Parallel compilation failure with USE=doc
+ use doc && MAKEOPTS="-j1"
+
+ # Don't pre-compile .py
+ echo > py-compile
+ echo > build-aux/py-compile
+
+ eautoreconf
+ gnome2_src_prepare
+
+ if use test && ! has_version "x11-libs/cairo[glib]"; then
+ # We only PDEPEND on cairo to avoid circular dependencies
+ G2CONF="${G2CONF} --disable-tests"
+ 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."
+ else
+ skip_tests=
+ fi
+}
+
+src_test() {
+ [[ -z ${skip_tests} ]] && default
+}
+
+src_install() {
+ gnome2_src_install
+ python_convert_shebangs 2 "${ED}"usr/bin/g-ir-{annotation-tool,doc-tool,scanner}
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/$(get_libdir)/${PN}/giscanner
+ python_need_rebuild
+}
+
+pkg_postrm() {
+ python_mod_cleanup /usr/lib*/${PN}/giscanner
+}