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. |