From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 37471138010 for ; Fri, 14 Sep 2012 06:16:39 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B2EF021C010; Fri, 14 Sep 2012 06:14:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 70E8021C015 for ; Fri, 14 Sep 2012 06:14:51 +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 B1F7E33D726 for ; Fri, 14 Sep 2012 06:14:50 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id CDFF6E544C for ; Fri, 14 Sep 2012 06:14:47 +0000 (UTC) From: "Ulrich Mueller" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Mueller" Message-ID: <1347517696.6411e547f7ca417ce12c05289211ec96b2d11042.ulm@gentoo> Subject: [gentoo-commits] proj/pms:master 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: 6411e547f7ca417ce12c05289211ec96b2d11042 X-VCS-Branch: master Date: Fri, 14 Sep 2012 06:14:47 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 3b8df2c0-1b84-4ee9-b752-d1a2c3236796 X-Archives-Hash: c4f35f75decf77c51fdf2ca5135c3c0d commit: 6411e547f7ca417ce12c05289211ec96b2d11042 Author: Ciaran McCreesh googlemail com> AuthorDate: Sun May 6 17:05:31 2012 +0000 Commit: Ulrich Mueller gentoo org> CommitDate: Thu Sep 13 06:28:16 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6411e547 EAPI 5 supports ?? ( ) groups See bug 354219 --- dependencies.tex | 33 +++++++++++++++++++++++++++++++++ eapi-differences.tex | 4 ++++ 2 files changed, 37 insertions(+), 0 deletions(-) diff --git a/dependencies.tex b/dependencies.tex index 8f78f3d..ff12299 100644 --- a/dependencies.tex +++ b/dependencies.tex @@ -66,6 +66,12 @@ be surrounded on both sides by whitespace, except at the start and end of the st parenthesis. More formally: \t{exactly-one-of ::= '\textasciicircum\textasciicircum' whitespace '(' whitespace (item whitespace)* ')'}. Permitted in \t{REQUIRED\_USE}. +\item \featurelabel{at-most-one-of} 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 whitespace), followed by a close + parenthesis. More formally: \t{exactly-one-of ::= '??' whitespace '(' whitespace (item + whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in + table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups. \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 more of (a dependency item @@ -93,6 +99,23 @@ In particular, note that whitespace is not optional. \end{tabular} \end{centertable} +\ChangeWhenAddingAnEAPI{5} +\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{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} In an all-of group, all of the child elements must be matched. @@ -126,6 +149,16 @@ In an exactly-one-of group, exactly one immediate child element must be matched. An empty exactly-one-of group counts as being matched. +\subsection{At-most-one-of Dependency Specifications} + +Any use-conditional group that is an immediate child of an at-most-one-of group, if not enabled +(disabled for an exclamation mark prefixed use flag name), is not considered 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} A package dependency can be in one of the following base formats. A package manager must warn or diff --git a/eapi-differences.tex b/eapi-differences.tex index 8ece012..3e4bf27 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -55,6 +55,9 @@ \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} & Optionally & Optionally & Optionally & Optionally & Yes & Yes \\ +\t{?? ( ) groups} & \compactfeatureref{at-most-one-of} & + No & No & No & No & No & Yes \\ + \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} & No & No & Yes & Yes & Yes & Yes \\ @@ -248,6 +251,7 @@ EAPI 4 is EAPI 3 with the following changes: EAPI 5 is EAPI 4 with the following changes: \begin{compactitem} +\item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}. \item Slot operator dependencies, \featureref{slot-operator-deps}. \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}. \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.