From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1SUzQY-0007HU-7o for garchives@archives.gentoo.org; Thu, 17 May 2012 12:03:30 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 33C5DE0943; Thu, 17 May 2012 12:02:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id E60D4E094A for ; Thu, 17 May 2012 12:02:27 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2E0211B405D for ; Thu, 17 May 2012 12:02:27 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 14E09E5439 for ; Thu, 17 May 2012 12:02:25 +0000 (UTC) From: "Ulrich Mueller" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Mueller" Message-ID: <1337250689.1c2dff2df2305aff88a734e3a2716de1bb69f3b6.ulm@gentoo> Subject: [gentoo-commits] proj/pms:eapi-5 commit in: / X-VCS-Repository: proj/pms X-VCS-Files: dependencies.tex eapi-differences.tex X-VCS-Directories: / X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Mueller X-VCS-Revision: 1c2dff2df2305aff88a734e3a2716de1bb69f3b6 X-VCS-Branch: eapi-5 Date: Thu, 17 May 2012 12:02:25 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 999e4ad1-45ab-4cab-83c1-3d5118280f88 X-Archives-Hash: e95841b452120feeb37c834f11b85b94 commit: 1c2dff2df2305aff88a734e3a2716de1bb69f3b6 Author: Ciaran McCreesh googlemail com> AuthorDate: Sun May 6 17:05:31 2012 +0000 Commit: Ulrich Mueller gentoo org> CommitDate: Thu May 17 10:31:29 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/pms.git;a=3Dc= ommit;h=3D1c2dff2d EAPI 5 supports ?? ( ) groups See bug 354219 --- dependencies.tex | 34 ++++++++++++++++++++++++++++++++++ eapi-differences.tex | 4 ++++ 2 files changed, 38 insertions(+), 0 deletions(-) diff --git a/dependencies.tex b/dependencies.tex index 8f78f3d..1e5b6e8 100644 --- a/dependencies.tex +++ b/dependencies.tex @@ -66,6 +66,13 @@ be surrounded on both sides by whitespace, except at t= he start and end of the st parenthesis. More formally: \t{exactly-one-of ::=3D '\textasciicircu= m\textasciicircum' whitespace '(' whitespace (item whitespace)* ')'}. Permitted in \t{REQUIRED\_USE}. +\item An at-most-one-of group, which consists of the string \t{??}, + followed by whitespace, followed by an open parenthesis, followed by= whitespace, followed by + zero or more of (a dependency item of any kind followed by whitespac= e), followed by a close + parenthesis. More formally: \t{exactly-one-of ::=3D '??' whitespace= '(' whitespace (item + whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed i= n + table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE = ??}\ groups. + \featurelabel{at-most-one-of} \item A use-conditional group, which consists of an optional exclamation= mark, followed by a use flag name, followed by a question mark, followed by whitespace= , followed by an open parenthesis, followed by whitespace, followed by zero or mor= e of (a dependency item @@ -93,6 +100,23 @@ In particular, note that whitespace is not optional. \end{tabular} \end{centertable} =20 +\ChangeWhenAddingAnEAPI{5} +\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \labe= l{tab:at-most-one-of-table} + \begin{tabular}{ l l } + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups= ?}} \\ + \midrule + \t{0} & No \\ + \t{1} & No \\ + \t{2} & No \\ + \t{3} & No \\ + \t{4} & No \\ + \t{5} & Yes \\ + \bottomrule + \end{tabular} +\end{centertable} + \subsection{All-of Dependency Specifications} =20 In an all-of group, all of the child elements must be matched. @@ -126,6 +150,16 @@ In an exactly-one-of group, exactly one immediate ch= ild element must be matched. =20 An empty exactly-one-of group counts as being matched. =20 +\subsection{At-most-one-of Dependency Specifications} + +Any use-conditional group that is an immediate child of an at-most-one-o= f group, if not enabled +(disabled for an exclamation mark prefixed use flag name), is not consid= ered a member of the +at-most-one-of group for match purposes. + +In an at-most-one-of group, at most one immediate child element must be = matched. + +An empty at-most-one-of group counts as being matched. + \subsection{Package Dependency Specifications} =20 A package dependency can be in one of the following base formats. A pack= age manager must warn or diff --git a/eapi-differences.tex b/eapi-differences.tex index e94684e..6063558 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -49,6 +49,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile= -iuse-injection} & \t{REQUIRED\_USE} & \compactfeatureref{required-use} & No & No & No & No & Yes & Yes \\ =20 +\t{?? ( ) groups} & \compactfeatureref{at-most-one-of} & + No & No & No & No & No & Yes \\ + \t{PROPERTIES} & \compactfeatureref{properties} & Optionally & Optionally & Optionally & Optionally & Yes & Yes \\ =20 @@ -255,6 +258,7 @@ EAPI 5 is EAPI 4 with the following changes: \item Slot operator dependencies, \featureref{slot-operator-deps}. \item \t{USE} is calculated differently, \featureref{profile-iuse-inject= ion}. \item \t{IMAGE} is gone, \featureref{image}. +\item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-= one-of}. \end{compactitem} =20 \ChangeWhenAddingAnEAPI{5}