diff options
Diffstat (limited to 'dev-python/pygobject/pygobject-3.24.1-r1.ebuild')
-rw-r--r-- | dev-python/pygobject/pygobject-3.24.1-r1.ebuild | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/dev-python/pygobject/pygobject-3.24.1-r1.ebuild b/dev-python/pygobject/pygobject-3.24.1-r1.ebuild new file mode 100644 index 000000000000..71ec333741ce --- /dev/null +++ b/dev-python/pygobject/pygobject-3.24.1-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) + +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 ~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 ~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.46.0:= + 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,jpeg] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] + python_targets_python2_7? ( dev-python/pyflakes[$(python_gen_usedep python2_7)] ) ) +" +# 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] +" + +PATCHES=( + "${FILESDIR}"/pygobject-3.24.1-py37.patch +) + +src_prepare() { + # Test fail with xvfb but not X + sed -e 's/^.*TEST_NAMES=compat_test_pygtk .*;/echo "Test disabled";/' \ + -i tests/Makefile.{am,in} || die + + # FAIL: test_cairo_font_options (test_cairo.TestPango) + # AssertionError: <type 'cairo.SubpixelOrder'> != <type 'int'> + sed -e 's/^.*type(font_opts.get_subpixel_order()), int.*/#/' \ + -i tests/test_cairo.py || die + + 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() { + local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs + local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484 + local -x SKIP_PEP8="yes" + + testing() { + local -x XDG_CACHE_HOME="${T}/${EPYTHON}" + emake -C "${BUILD_DIR}" check + } + virtx python_foreach_impl testing +} + +src_install() { + python_foreach_impl run_in_build_dir gnome2_src_install + + dodoc -r examples +} |