public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Preparing profiles for EAPI 3 IUSE strictness
@ 2009-07-06 23:01 Ciaran McCreesh
  2009-07-07  6:08 ` Andrew D Kirch
  2009-07-08  3:02 ` Arfrever Frehtes Taifersar Arahesis
  0 siblings, 2 replies; 12+ messages in thread
From: Ciaran McCreesh @ 2009-07-06 23:01 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2654 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-07-11  3:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-06 23:01 [gentoo-dev] Preparing profiles for EAPI 3 IUSE strictness Ciaran McCreesh
2009-07-07  6:08 ` Andrew D Kirch
2009-07-07  6:27   ` Brian Harring
2009-07-07 13:24     ` Andrew D Kirch
2009-07-07  8:46   ` Alec Warner
2009-07-07 13:52   ` Ciaran McCreesh
2009-07-07 14:04     ` Nirbheek Chauhan
2009-07-11  3:54     ` Andrew D Kirch
2009-07-08  3:02 ` Arfrever Frehtes Taifersar Arahesis
2009-07-10 10:05   ` Ciaran McCreesh
2009-07-10 17:32   ` Harald van Dijk
2009-07-10 17:38     ` Ciaran McCreesh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox