[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