dev-libs/gobject-introspection: amd64 stable wrt bug #685254
[gentoo.git] / dev-libs / gobject-introspection / gobject-introspection-1.58.3.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5 PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
6 PYTHON_REQ_USE="xml"
7
8 inherit gnome2 python-single-r1 toolchain-funcs
9
10 DESCRIPTION="Introspection system for GObject-based libraries"
11 HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
12
13 LICENSE="LGPL-2+ GPL-2+"
14 SLOT="0"
15 IUSE="cairo doctool test"
16 REQUIRED_USE="
17         ${PYTHON_REQUIRED_USE}
18         test? ( cairo )
19 "
20 KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
21
22 # virtual/pkgconfig needed at runtime, bug #505408
23 # We force glib and g-i to be in sync by this way as explained in bug #518424
24 RDEPEND="
25         >=dev-libs/gobject-introspection-common-${PV}
26         >=dev-libs/glib-2.58.0:2
27         doctool? ( dev-python/mako[${PYTHON_USEDEP}]
28                 dev-python/markdown[${PYTHON_USEDEP}] )
29         virtual/libffi:=
30         virtual/pkgconfig
31         !<dev-lang/vala-0.20.0
32         ${PYTHON_DEPS}
33 "
34 # Wants real bison, not virtual/yacc
35 DEPEND="${RDEPEND}
36         >=dev-util/gtk-doc-am-1.19
37         sys-devel/bison
38         sys-devel/flex
39         test? ( x11-libs/cairo[glib] )
40 " # autoreconf needs autoconf-archive
41 # PDEPEND to avoid circular dependencies, bug #391213; but needed for tests, thus test DEPEND as well
42 PDEPEND="cairo? ( x11-libs/cairo[glib] )"
43
44 pkg_setup() {
45         python-single-r1_pkg_setup
46 }
47
48 src_configure() {
49         if ! has_version "x11-libs/cairo[glib]"; then
50                 # Bug #391213: enable cairo-gobject support even if it's not installed
51                 # We only PDEPEND on cairo to avoid circular dependencies
52                 export CAIRO_LIBS="-lcairo -lcairo-gobject"
53                 export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo"
54         fi
55
56         # To prevent crosscompiling problems, bug #414105
57         gnome2_src_configure \
58                 --disable-static \
59                 CC="$(tc-getCC)" \
60                 YACC="$(type -p yacc)" \
61                 $(use_with cairo) \
62                 $(use_enable doctool)
63 }
64
65 src_install() {
66         gnome2_src_install
67
68         # Prevent collision with gobject-introspection-common
69         rm -v "${ED}"usr/share/aclocal/introspection.m4 \
70                 "${ED}"usr/share/gobject-introspection-1.0/Makefile.introspection || die
71         rmdir "${ED}"usr/share/aclocal || die
72 }