[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    Re: [gentoo-dev] [PATCH 4/4] Example conversion of pygobject to python-r1 + autotools-utils.
From:       Michał Górny <mgorny () gentoo ! org>
Date:       2012-11-29 17:53:44
Message-ID: 20121129185344.3098cbe6 () pomiocik ! lan
[Download RAW message or body]

[Attachment #2 (multipart/mixed)]


On Thu, 29 Nov 2012 17:50:28 +0100
Gilles Dartiguelongue <eva@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


[Attachment #5 (text/plain)]

# 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
}


["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic