On Sun, Apr 13, 2008 at 5:34 AM, Daniele Maccari <[EMAIL PROTECTED]> wrote:
> Hisham wrote:
> > On Sat, Apr 12, 2008 at 2:16 PM, Daniele Maccari <[EMAIL PROTECTED]> wrote:
> >> Hisham wrote:
> >> > On Sat, Apr 12, 2008 at 11:01 AM, Daniele Maccari <[EMAIL PROTECTED]>
> wrote:
> >> >> Jonatan Liljedahl wrote:
> >> >> > Or something like this:
> >> >> >
> >> >> > with_gtk1=(
> >> >> > "--enable-gtk"
> >> >> > "--disable-gtk"
> >> >> > )
> >> >> >
> >> >> > or more self-documenting:
> >> >> >
> >> >> > useflag_gtk1=(
> >> >> > "with=--enable-gtk"
> >> >> > "without=--disable-gtk"
> >> >> > )
> >> >> >
> >> >> > Those would be easy parsable by bash itself...
> >> >> >
> >> >> Sure, the possibilities are infinite :D
> >> > True, but all the proposed variations just lighten the cumbersomeness
> >> > in a syntactic manner. The problem is not the size of each entry but
> >> > the number of entries and the implied maintenance issues. I find the
> >> > approach Michael described in his original post to be a good
> >> > compromise. And the $with_* variables scheme is especially smart!
> >> That's true too, so a question arises: is there some simple way to do
> this?
> > To do what Jonatan asked for? I believe there isn't. The alternative
> > is to use ChrootCompile to make controlled builds of packages.
> > ChrootCompile should probably be enhanced with some knowledge about
> > how to handle these optional dependencies, but the biggest missing
> > block was to be able to tell recipes how to be behave on the presence
> > of these optional deps, and now we have that.
> Well, but even having recipes able to handle use flags, it remains the
> fact that a configure
> script, when run, would find every possible dependency, be it included
> or not in the user's
> whitelist .
Yes. That is the desired behaviour. Having to enable the flags for
everything a pain. We also want the recipes to be as short as
possible, so in most cases you don't have to add anything to them at
all, and the autodetection in configure just does the right thing.
> So they would need to be disabled somehow, quite awkward.
> The better solution, as you said, would probably be to use ChrootCompile
> to insulate the
> compilation process, bringing in only what's needed. Anyway I don't know
> its internals and
> how and if this could be easily done.
All the functionality for it is already there, it just needs to start
looking at recipes a little more than it does now. It's not yet
suitable for a default because it relies on working off a base of
packages rather than installed programs, but otherwise it should work.
> Just out of curiosity, how does gentoo handle such things? One billion
> lines "recipes"?
Essentially, yes. It has some magic for --with-x/--without-x, but
they're still pretty long. Ebuilds are also executed rather than
declarative, so they can do basically anything.
-Michael
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel