Subject: Re: Consistent "Optional Dependecy" handling
To: Jeremy C. Reed <>
From: Nate Hill <>
List: tech-pkg
Date: 07/31/2003 18:18:54
On Thu July 31 2003 18:03, you wrote:
> On Fri, 1 Aug 2003, Julio M. Merino Vidal wrote:
> > And you are screwed up with binary packages.  This is all
> > wonderful when using pkgsrc directly, but how do you tell if
> > foobar-1.0.tgz in the ftp include gtk support or not?  And, if it
> > included gtk by default, what happens if you don't need it and
> > don't want to rebuilt the package? etcetera...  (though in some
> > cases they are really necessary...)
> We already do offer that feature (and yes, it could be a problem).
> The OpenBSD "FLAVOR" like solution would be for the name of the
> package to change too (i.e. add "-gtk" to the filename and maybe
> also package name).

Yes, I also realized that this problem exits as we speak. Basically, 
binary packages reflect the settings in Of course, doing 
something as big as isolating GTK1-v-GTK2 support will make this 
problem obvious (NetBSD will have to decide which to use by default). 
I think the FLAVOR solution sounds good...

> And in another message on Thu, 31 Jul 2003, Nate Hill wrote:
> > Okay, so after learning some more about pkgsrc, I have a slight
> > and rough proposal:
> >
> > Standardize the USE* variables in
> >
> > USE_FOO		<- generic YES|NO flag for feature FOO
> Yes.
> > USE_FOO_FOO2	<- use feature FOO2 for package FOO (specific
> > quirks)
> I think that the standard is to use the PACKAGE_USE_FOO (package
> name first).

Yes, this is probably better - it doesn't clog up the FOO_ namespace 
and is also isolated by preceding package-name.

> > Allow package Makefiles to use conditional statements based on
> > USE variables:
> Many packages already do this :)

Can you give me an example?

> > Being able to set USE_GTK = NO in mk.conf would be extremely
> > useful...
> Need to find a developer who has the time to do this. Hopefully,
> you can provide some patches.

I do not have the experience required to implement a USE_GTK 
infrastructure. However, if you can give me an example of conditions 
in Makefiles and, and some USE_* methods I am more than willing to 
convert some packages...

Nate Hill <>