Gentoo Archives: gentoo-dev

From: Corvus Corax <corvus-ml@×××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] question on writing ebuilds with exclusive dependencies.
Date: Sat, 10 Apr 2004 09:30:39
Message-Id: 20040410115112.2739b552@CorvusMC.home
In Reply to: Re: [gentoo-dev] question on writing ebuilds with exclusive dependencies. by Spider
1 Am Thu, 8 Apr 2004 13:20:08 +0200
2 schrieb Spider <spider@g.o>:
3
4 > > > Though you could do a switch to :
5 > > > DEPEND="debug? ( media-gfx/imagemagick )
6 > > > !debug? (
7 > > > imagemagick? ( media-libs/imagemagick )
8 > > > !imagemagick? ( media-gfx/libgd )
9 > > > )"
10
11 >
12 > in the case "A or B, but one has to be there" its just cumbersome to
13 > try and make both USE settable, listen to one use-flag (the one thats
14 > the exception? or the one thats most popular/default. )
15 >
16 >
17
18 hmm i dont agree,
19 this would be correct if I had to use a local useflag since it would have been the obvious approach
20 but since there are already 2 different global useflags affecting the issue, and the debug switch
21 turning the default into its opposite I see no other way then checking almost every possible combination
22 and setting the dependencies accordingly.
23
24 Additionally i had a mistake in the configure flas, which is why i took the same approach down there on the
25 configure-switch which now has the same logic and layout as the dependency switch above ;)
26
27 maybe not the most effective solution, but more readable.
28
29 i first tried:
30
31 > DEPEND="virtual/glibc
32 > debug? (
33 > libgd? (
34 > imagemagick? ( media-gfx/imagemagick )
35 > !imagemagick? ( media-libs/libgd )
36 > )
37 > !libgd? ( media-gfx/imagemagick )
38 > )
39 > !debug? (
40 > imagemagick? (
41 > libgd? ( media-libs/libgd )
42 > !libgd? ( media-gfx/imagemagick )
43 > )
44 > !imagemagick? ( media-libs/libgd )
45 > )"
46
47 but it didnt work, with none of the useflags set but both gd and imagemagick installed
48 emerge complained about motiontrack blocking "imagemagick" somehow,
49 so i tried the ":" (else) approach instead, which worked flawlessly:
50
51 > DEPEND="virtual/glibc
52 > debug? (
53 > libgd? (
54 > imagemagick? ( media-gfx/imagemagick ) : !imagemagick? ( media-libs/libgd )
55 > ) : ( media-gfx/imagemagick )
56 > ) : (
57 > imagemagick? (
58 > libgd? ( media-libs/libgd ) : ( media-gfx/imagemagick )
59 > ) : ( media-libs/libgd )
60 > )"
61
62 strange error though, and it has the cascaded ":"'s so i hope it will be accepted anyway
63
64 anyone any ideas why the above didnt work?
65
66
67 Corvus
68
69 --
70 gentoo-dev@g.o mailing list