Gentoo Archives: gentoo-dev

From: Gilles Dartiguelongue <eva@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [python-single-r1 1/3] A conceptual eclass for packages not supporting multiple Python impls.
Date: Thu, 22 Nov 2012 13:00:02
Message-Id: 1353589144.23094.5.camel@gilles.gandi.net
In Reply to: [gentoo-dev] [python-single-r1 1/3] A conceptual eclass for packages not supporting multiple Python impls. by "Michał Górny"
1 Le mercredi 21 novembre 2012 à 23:19 +0100, Michał Górny a écrit :
2 > diff --git a/gx86/eclass/python-single-r1.eclass b/gx86/eclass/python-single-r1.eclass
3 > new file mode 100644
4 > index 0000000..3d21ea8
5 > --- /dev/null
6 > +++ b/gx86/eclass/python-single-r1.eclass
7 > @@ -0,0 +1,93 @@
8 > +# Copyright 1999-2012 Gentoo Foundation
9 > +# Distributed under the terms of the GNU General Public License v2
10 > +# $Header: /var/cvsroot/gentoo-x86/eclass/python-r1.eclass,v 1.20 2012/11/21 09:04:14 mgorny Exp $
11 > +
12 > +# @ECLASS: python-single-r1
13 > +# @MAINTAINER:
14 > +# Michał Górny <mgorny@g.o>
15 > +# Python herd <python@g.o>
16 > +# @AUTHOR:
17 > +# Author: Michał Górny <mgorny@g.o>
18 > +# Based on work of: Krzysztof Pawlik <nelchael@g.o>
19 > +# @BLURB: An eclass for Python packages not installed for multiple implementations.
20 > +# @DESCRIPTION:
21 > +# An extension of the python-r1 eclass suite for packages which
22 > +# don't support being installed for multiple Python implementations.
23 > +# This mostly includes tools embedding Python.
24 > +#
25 > +# This eclass extends the IUSE and REQUIRED_USE set by python-r1
26 > +# to request correct PYTHON_SINGLE_TARGET. It also replaces
27 > +# PYTHON_USEDEP and PYTHON_DEPS with a more suitable form.
28 > +#
29 > +# Please note that packages support multiple Python implementations
30 > +# (using python-r1 eclass) can not depend on packages not supporting
31 > +# them (using this eclass).
32 > +#
33 > +# Also, please note that python-single-r1 will always inherit python-r1
34 > +# as well. Thus, all the variables defined and documented there are
35 > +# relevant to the packages using python-single-r1.
36 > +
37 > +case "${EAPI}" in
38
39 you are missing the default EAPI value for EAPI=0 usually this is
40 written: case "${EAPI:-0}"
41
42 > + 0|1|2|3)
43 > + die "Unsupported EAPI=${EAPI} (too old) for ${ECLASS}"
44 > + ;;
45 > + 4|5)
46 > + # EAPI=4 needed by python-r1
47 > + ;;
48 > + *)
49 > + die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
50 > + ;;
51 > +esac
52 > +
53
54 The rest looks fine.