Gentoo Archives: gentoo-dev

From: Daniel Robbins <drobbins@g.o>
To: gentoo-dev@××××××××××.org
Subject: Re: [gentoo-dev] ebuild dependency question
Date: Tue, 31 Jul 2001 23:17:32
Message-Id: 20010731231732.A1762@cvs.gentoo.org
In Reply to: [gentoo-dev] ebuild dependency question by Craig Joly
1 On Tue, Jul 31, 2001 at 09:07:20PM -0600, Craig Joly wrote:
2 > I'm working on an ebuild for gaby and I've got some dependancy
3 > questions. gaby has several optional features. I looked at debian
4 > and they simply make everything a dependancy. The ebuild system gives
5 > us quite a bit more flexibility.
6 >
7 > The details:
8 > - supports gnome or vanilla gtk+ interface
9 > - optional python support (recommended)
10 > - optional libxml support (recommended)
11 > - optional imlib support
12 > - optional gdk-pixbuf support
13 > - optional EsounD support
14 > - optional libglade support
15 > - python and libxml support are required for printing
16 > - imlib or gdk-pixbuf, not both
17 > - if you use python support, pygtk is recommended
18 > - optional nls
19 >
20 > gnome, esd and nls are easy. Just check USE flags in make.conf.
21
22 Yep; enable if they are set, disable if they aren't. Normally, this is done
23 by adding a --with-feature if it is disabled by default and USE is set, and
24 adding a --without-feature if it is enabled by default and USE isn't set.
25
26 > Since there's no imlib or gdk-pixbuf USE flags, I don't consider them
27 > a dependency and let the ./configure script decide.
28 > Same with libglade support - build it if ./configure can find it.
29
30 We can't let the ./configure script decide since it leads to inconsistent .tbz2
31 packages (things will be different depending on what system it's built on.) I
32 would use gdk-pixbuf by default; it's newer, and imlib seems to be gradually
33 becoming obsolete.
34
35 > Python is where things get complicated. IMO, printing should be
36 > included by default, so python and libxml should be dependencies
37 > (ignoring the USE python flag).
38
39 Anything that's *required* for proper functioning of an ebuild should ignore
40 USE variables; you are correct. For example, the gnome-base/gnome ebuild will
41 work the same whether or not you have "gnome" set, as it should. USE is only
42 for optional build-time functionality; anything required, and most things that
43 are recommended, are included by default.
44
45 > And lastly, let ./configure handle pygtk.
46
47 pygtk is recommended if you are including python support, which you are. So
48 include pygtk by default as well. Again, we can't let ./configure decide.
49
50 > What do you think? Does this fit with the Gentoo philisophy?
51
52 Almost perfect; the Gentoo philosophy is to give users choice, but also balance
53 this with the fact that fully functional and feature-rich packages are
54 generally best. In the end, the philosophy is to design the ebuild so that
55 everyone can have gabby exactly as they like it.
56
57 --
58 Daniel Robbins <drobbins@g.o>
59 Chief Architect/President http://www.gentoo.org
60 Gentoo Technologies, Inc.

Replies

Subject Author
Re: [gentoo-dev] ebuild dependency question Mikael Hallendal <hallski@g.o>
Re: [gentoo-dev] ebuild dependency question Ben Lutgens <blutgens@×××××××.com>