On Thu, 29 Nov 2012 17:50:28 +0100
Gilles Dartiguelongue <e...@gentoo.org> wrote:

> First, thanks for this patch, I was planning on converting it but did
> not have to do it.

Well, the patch was on the ml a while ago but it was reply to one
of the mails, so it was hard to notice it.

> Le jeudi 29 novembre 2012 à 14:40 +0100, Michał Górny a écrit :
> > ---
> >  .../dev-python/pygobject/pygobject-3.2.2-r1.ebuild | 106 
> > +++++++++++++++++++++
> >  1 file changed, 106 insertions(+)
> >  create mode 100644 gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild
> > 
> > diff --git a/gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild 
> > b/gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild
> > new file mode 100644
> > index 0000000..289eace
> > --- /dev/null
> > +++ b/gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild
> > @@ -0,0 +1,106 @@
> > +# 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-3.2.2.ebuild,v 1.5 
> > 2012/09/28 05:45:45 mattst88 Exp $
> > +
> > +EAPI="4"
> > +GCONF_DEBUG="no"
> > +PYTHON_COMPAT=( python2_6 python2_7 python3_1 python3_2 )
> > +AUTOTOOLS_AUTORECONF=1
> > +
> > +inherit autotools-utils eutils gnome2 python-r1 virtualx
> 
> Please do not mix autotools utils with gnome2 eclass. gnome team does
> not support out of tree builds for now. I have plans to integrate this
> in the eclass but we found that upstream generally does not test this so
> we want to test it more extensively before making this available.

Well, the main purpose of this patch was to demonstrate using
out-of-source builds with python-r1.

Therefore, I ask thee: is it acceptable then to use gnome2-utils
in the eclass or shall I restrain completely from using out-of-source
builds on that package?

One thing I can assure you is that this package supports them.

> > +# FIXME: With python multiple ABI support, tests return 1 even when they 
> > pass
> > +src_test() {
> > +   local DBUS_SESSION_BUS_ADDRESS
> > +   local GIO_USE_VFS='local' # prevents odd issues with deleting ${T}/.gvfs
> > +   local VIRTUALX_COMMAND=python_test
> > +
> > +   export GIO_USE_VFS
> > +
> > +   python_foreach_impl virtualmake
> > +
> > +   python_execute_function -s testing
> > +}
> > +
> dbus variables needs to be unset for tests to work when you do your
> builds from a terminal started from your desktop, is that really
> equivalent ?

You are correct that it isn't. I wrote the patch before I actually
noticed how crazy local+export logic works. We need to re-export
DBUS_SESSION_BUS_ADDRESS here. Also, I forgot
to remove python_execute_function... silly.

After doing those two changes, the tests succeed for me
with DBUS_SESSION_BUS_ADDRESS set in the parent env.

To be more correct, they succeed for py2.7, 3.1 & 3.2.

In python2.6 they fail with:

    @unittest.expectedFailure
AttributeError: 'module' object has no attribute 'expectedFailure'

But that's another story.

I'd say that the ebuild works 100% fine in the version I'm attaching
to this mail.

-- 
Best regards,
Michał Górny
# 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-3.2.2.ebuild,v 1.5 
2012/09/28 05:45:45 mattst88 Exp $

EAPI="4"
GCONF_DEBUG="no"
PYTHON_COMPAT=( python2_6 python2_7 python3_1 python3_2 )
AUTOTOOLS_AUTORECONF=1

inherit autotools-utils eutils gnome2 python-r1 virtualx

DESCRIPTION="GLib's GObject library bindings for Python"
HOMEPAGE="http://www.pygtk.org/";

LICENSE="LGPL-2.1+"
SLOT="3"
KEYWORDS="alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 
~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="+cairo examples test +threads" # doc
REQUIRED_USE="test? ( cairo )"

COMMON_DEPEND=">=dev-libs/glib-2.31.0:2
        >=dev-libs/gobject-introspection-1.31.20
        virtual/libffi
        ${PYTHON_DEPS}
        cairo? ( >=dev-python/pycairo-1.10.0 )"
DEPEND="${COMMON_DEPEND}
        test? (
                dev-libs/atk[introspection]
                media-fonts/font-cursor-misc
                media-fonts/font-misc-misc
                x11-libs/gdk-pixbuf:2[introspection]
                x11-libs/gtk+:3[introspection]
                x11-libs/pango[introspection] )
        virtual/pkgconfig"
# docs disabled for now per upstream default since they are very out of date
#       doc? (
#               app-text/docbook-xml-dtd:4.1.2
#               dev-libs/libxslt
#               >=app-text/docbook-xsl-stylesheets-1.70.1 )

#RESTRICT=test

# 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]"

src_prepare() {
        PATCHES=(
                "${FILESDIR}/${PN}-2.90.1-make_check.patch"
        )

        autotools-utils_src_prepare

        gnome2_environment_reset
        gnome2_omf_fix
}

src_configure() {
        # Hard-enable libffi support since both gobject-introspection and
        # glib-2.29.x rdepend on it anyway
        local myeconfargs=(
                --disable-dependency-tracking
                --with-ffi
                $(use_enable cairo)
                $(use_enable threads thread)
        )

        python_foreach_impl autotools-utils_src_configure
}

src_compile() {
        python_foreach_impl autotools-utils_src_compile
}

python_test() {
        local XDG_CACHE_DIR=${T}/${EPYTHON}
        autotools-utils_src_compile check PYTHON="${PYTHON}"
}

# FIXME: With python multiple ABI support, tests return 1 even when they pass
src_test() {
        local DBUS_SESSION_BUS_ADDRESS
        local GIO_USE_VFS='local' # prevents odd issues with deleting ${T}/.gvfs
        local VIRTUALX_COMMAND=python_test

        export DBUS_SESSION_BUS_ADDRESS GIO_USE_VFS

        python_foreach_impl virtualmake
}

src_install() {
        python_foreach_impl autotools-utils_src_install

        dodoc AUTHORS ChangeLog* NEWS README || die

        if use examples; then
                insinto /usr/share/doc/${PF}
                doins -r examples
        fi
}

Attachment: signature.asc
Description: PGP signature

Reply via email to