On Tue, 20 Jun 2006 14:22:21 -0700
Donnie Berkholz <[EMAIL PROTECTED]> wrote:

> Henrik Brix Andersen wrote:
> > On Tue, Jun 20, 2006 at 03:11:38PM -0400, Caleb Tennis wrote:
> >> I would personally like to stay with just the "qt" use flag.  The
> >> use flag will be for support of whichever version of Qt is
> >> supported (v3 or v4) for the particular emerge.
> > 
> > I would like a single 'qt' USE flag as well. If a package supports
> > multiple versions of Qt, it can easily be tested which one is
> > available at build time, see for instance
> > net-wireless/wpa_supplicant-0.5.3.
> > 
> >> In the cases where more than one version is supported, it should
> >> be for Qt4 only.  The Qt3 version should be a separate emerge.
> >> For example, in the case of the poppler bindings, there should be
> >> a poppler-bindings-qt3 package.
> > 
> > How about using my idea from above (if USE=qt, then check which
> > version(s) of Qt is available and compile in support for those)?
> 
> That makes for highly irreproduceable builds and particularly screws
> with building packages on one machine and expecting them to work on
> another. Same as autodetecting in configure scripts, except worse
> because now we're doing it too.

+lots

Ebuilds should not use the build system to make choices about the
target, such choices should be USE based as far as possible.  The build
system should only be considered when ensuring sufficient support is
available to perform the build.

Always consider what happens if you build a binpkg (emerge -B) then try
to install that binpkg on another machine (emerge -K).


In this particular case, I think separate qt3 and qt4 use flags are
sensible and clear.  If both are specified, the package should build
both UIs; if only one can be built the ebuild should reject the USE flag
combinations it can't support.

Problems with having 'qt' to mean latest and 'qt3' as specifically
version 3 include:

1) Target package depends on build system (assuming 'qt' is interpreted
as 'qt3' if only that is installed, rather than pulling in qt4 if not
already present).

2) What 'qt' means changes as new releases are made - if/when qt5
becomes available, it means introducing a qt4 use flag and back-fitting
to existing ebuilds that used 'qt' but don't build against qt5.

-- 
Kevin F. Quinn

Attachment: signature.asc
Description: PGP signature

Reply via email to