Gentoo Archives: gentoo-dev

From: Drake Wyrm <wyrm@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] splitting build deps out from depends
Date: Fri, 01 Jul 2005 23:01:37
Message-Id: 20050701225900.GA8904@phaenix.haell.com
In Reply to: Re: [gentoo-dev] splitting build deps out from depends by Mike Frysinger
1 Mike Frysinger <vapier@g.o> wrote:
2 > On Friday 01 July 2005 12:25 pm, Brian D. Harring wrote:
3 > > Currently, we pretty much leave out the big dogs of build depends from
4 > > ebuilds- basically we rely on the profile to require a suitable
5 > > toolchain. Couple of issues with this though-
6 >
7 > so what you're proposing is that we add binutils/gcc/glibc to every package
8 > that compiles something
9
10 Can you compile without binutils/gcc/glibc? No? Then you need it.
11
12 > make to every package that uses make,
13
14 Again, if you depend on make, then DEPEND on make.
15
16 > sed/grep/bash/coreutils to every package which runs configure
17
18 That's quite an interesting case. Yes, those should be in DEPEND, but it
19 might be prudent to create an appropriate shortcut instead of explicitly
20 adding each of those.
21
22 Three possibilities come to mind.
23
24 0) For ebuilds which use the standard GNU autoconf-generated configure
25 script, a standard set of tools could be added to DEPEND from a
26 standard variable.
27
28 DEPEND="${ac-configure} dev-libs/libwombat app-misc/imanotherdep"
29
30 where ${ac-configure} expands to everything that runs in yer typical
31 configure script.
32
33 1) Use the eclasses. Right before inheriting eutils, provide a token to
34 tell eutils to add some appropriate DEPEND tokens.
35
36 ac-configure=yup
37 inherit eutils
38
39 Many of the eclasses add a few DEPEND tokens. Use the standard
40 eclass(es) to add the standard DEPENDs.
41
42 2) Well, maybe cramming this into eutils isn't such a hot idea, but
43 creating an eclass for the purpose of adding the generic dependencies
44 would work better.
45
46 edeps="configure make c-tools"
47 inherit edeps
48
49 > tar/gzip/bzip2 to every package which has a gzipped/bzipped tarball in
50 > SRC_URI ?
51
52 Now this could _definitely_ play into suggestion (2) above. Have the
53 edeps eclass check the SRC_URI and add the appropriate unpacking
54 packages.
55
56 edeps="make"
57 SRC_URI="http://www.wombats.com/i_need_tar_and_bzip2.tar.bz2"
58 inherit edeps
59
60 Whee.
61
62 <rant class="flame">
63 I know this will be shot down, as it has been shot down each time in the
64 past that somebody has suggested it. I wish it were not the case. Almost
65 every ebuild in the tree fails to completely and accurately reflect its
66 dependencies. The fact that this is somehow a technical decision leads
67 me to suspect that more of Portage is also horribly broken.
68 </rant>
69
70 --
71 Batou: Hey, Major... You ever hear of "human rights"?
72 Kusanagi: I understand the concept, but I've never seen it in action.
73 --Ghost in the Shell

Replies