Gentoo Archives: gentoo-python

From: Mike Gilbert <floppym@g.o>
To: gentoo-python@l.g.o
Cc: python@g.o
Subject: Re: [gentoo-python] Re: [PATCH] Add python_gen_cond_dep().
Date: Sun, 30 Dec 2012 17:12:32
Message-Id: CAJ0EP41Zh=Vtg9Dq6qE=5dZpuTf9OPMUOyUuE=m0ggowtH5qQQ@mail.gmail.com
In Reply to: Re: [gentoo-python] Re: [PATCH] Add python_gen_cond_dep(). by "Michał Górny"
1 On Thu, Dec 27, 2012 at 5:48 PM, Michał Górny <mgorny@g.o> wrote:
2 > On Thu, 27 Dec 2012 17:38:44 -0500
3 > Mike Gilbert <floppym@g.o> wrote:
4 >
5 >> On Thu, Dec 27, 2012 at 4:59 PM, Michał Górny <mgorny@g.o> wrote:
6 >> > I don't have a good idea how to make enforcing USE deps inside easier
7 >> > than $(python_gen_cond_dep dev-foo/bar[$(python_gen_usedep IMPLS)]
8 >> > IMPLS) without adding some risky magic.
9 >>
10 >> Just to confirm my thoughts, say we have this:
11 >>
12 >> PYTHON_COMPAT=( python2_6 python2_7 python3_2 )
13 >>
14 >> RDEPEND="$(python_gen_cond_dep dev-python/foo[$(python_gen_usedep
15 >> python2*)] python2*)"
16 >>
17 >> I think you would end up with something like this:
18 >>
19 >> python_targets_python2_6? (
20 >> python_targets_python2_6?,python_targets_python2_7?] )
21 >> python_targets_python2_7? (
22 >> python_targets_python2_6?,python_targets_python2_7?] )
23 >>
24 >> Right? Looks a bit odd, but I guess it works.
25 >
26 > Well, you forgot about 'dev-python/foo[' but otherwise correct.
27 >
28 > I was wondering if we could do something saner here but it either falls
29 > back to using @PUT_USEDEPS_HERE@ or some implicit parsing.
30 >
31 > It would be great if we could do at least:
32 >
33 > RDEPEND="$(python_gen_cond_dep dev-python/foo[${PYTHON_USEDEP}]
34 > python2*)"
35 >
36 > but people would have to actually quote '${PYTHON_USEDEP}' to get it
37 > evaluated in the right order so it'd just be even more confusing.
38 >
39 > What worries me are cases like 'python{2_5,2_6,3_1} jython2_5' where
40 > you'd have to repeat such a long list two times.
41 >
42
43 I guess this looks ok; we can always extend it later if necessary.