public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] Preparing profiles for EAPI 3 IUSE strictness
Date: Tue, 7 Jul 2009 00:01:11 +0100	[thread overview]
Message-ID: <20090707000111.473a10bd@snowmobile> (raw)

[-- 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 --]

             reply	other threads:[~2009-07-06 23:01 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-06 23:01 Ciaran McCreesh [this message]
2009-07-07  6:08 ` [gentoo-dev] Preparing profiles for EAPI 3 IUSE strictness 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090707000111.473a10bd@snowmobile \
    --to=ciaran.mccreesh@googlemail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox