Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-dev
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-dev@g.o
From: Ciaran McCreesh <ciaran.mccreesh@...>
Subject: Preparing profiles for EAPI 3 IUSE strictness
Date: Tue, 7 Jul 2009 00:01:11 +0100
EAPI 3 makes IUSE strict: flags not listed in IUSE can't be used in
dependency strings, use queries and so on. However, the specification
includes ways of implicitly adding things to the effective value of
IUSE via the base profile make.defaults. What the specification doesn't
say, and what hasn't been formally decided, is what exactly will be
implicit.

First up is ARCH. Most people don't seem to want to explicitly list
IUSE="x86" etc to make 'use x86' and 'x86? ( ... )' work. Also, people
seem to want to continue the existing unprefixed behaviour rather than
starting to write 'arch_x86'. So we'll need:

    USE_EXPAND_UNPREFIXED="ARCH"
    USE_EXPAND_IMPLICIT="ARCH"

In addition, all the implicit values need to be listed. According to
arch.list, the values are:

    USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-fbsd arm hppa ia64 m68k \
       mips ppc ppc64 s390 sh sparc sparc-fbsd x86 x86-fbsd ppc-aix \
       x86-freebsd x64-freebsd ia64-hpux x86-interix mips-irix \
       amd64-linux ia64-linux x86-linux ppc-macos x86-macos x64-macos \
       m68k-mint x86-netbsd ppc-openbsd x86-openbsd x64-openbsd \
       sparc-solaris sparc64-solaris x64-solaris x86-solaris x86-winnt"

I've no idea whether that list is accurate. With EAPI 3 it'll matter.

Of the normal USE_EXPAND flags, some appear to be routinely listed in
IUSE anyway, and some pretty much never are. I'd imagine USERLAND,
KERNEL and ELIBC will want to be implicit:

    USE_EXPAND_IMPLICIT="${USE_EXPAND_IMPLICIT} USERLAND KERNEL ELIBC"

And again, the implicit values will have to be listed. According to the
desc files (which could be full of lies):

    USE_EXPAND_VALUES_USERLAND="GNU BSD"
    USE_EXPAND_VALUES_KERNEL="AIX Darwin FreeBSD freemint linux HPUX \
        Interix IRIX NetBSD OpenBSD SunOS"
    USE_EXPAND_VALUES_ELIBC="AIX Darwin DragonFly FreeBSD glibc HPUX \
        Interix IRIX mintlib NetBSD OpenBSD SunOS uclibc"

Are there any other USE_EXPANDs that people want implicit behaviour
for? If so, which ones, and are the desc files accurate?

Finally, there's room to include plain old flags in IUSE automatically.
This was added to the specification as a hypothetical "we might want
this, and it's easy to specify and implement" rather than a "we'll
definitely be using this". Flags that I'm aware of that regularly get
abused are:

    IUSE_IMPLICIT="build debug"

Are people wanting to make those implicit? Are there any other flags
that people really don't want to put in IUSE? Bear in mind that any
flag that's implicit can't ever be used for a use dependency default.

-- 
Ciaran McCreesh
Attachment:
signature.asc (PGP signature)
Replies:
Re: Preparing profiles for EAPI 3 IUSE strictness
-- Arfrever Frehtes Taifersar Arahesis
Re: Preparing profiles for EAPI 3 IUSE strictness
-- Andrew D Kirch
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
maintainer needed for app-accessibility/festival and app-accessibility/speech-tools
Next by thread:
Re: Preparing profiles for EAPI 3 IUSE strictness
Previous by date:
Re: About time to unify "cdda" and "cdaudio" USE flags and make the remaining one global?
Next by date:
Re: Bug #250853


Updated Jun 29, 2012

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.