commit:     92d5586a5522db487b6dab304dc3fc3a113daaeb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 23:06:39 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct  1 07:11:35 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=92d5586a

[WIP] EAPI 7 bans all-of groups in REQUIRED_USE.

Reword the allowed variable list for the all-of group to account for
additional restrictions of EAPI 7. The use in REQUIRED_USE is banned
explicitly as it leads to ambiguity in automatic solver actions.
The use in SRC_URI becomes meaningless given that it is only permitted
inside any-of, and any-of is not permitted there.

[TODO: add label & update eapi-differences]

Bug: https://bugs.gentoo.org/632000

 dependencies.tex | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index fd142bb..dca4a21 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -87,8 +87,9 @@ be surrounded on both sides by whitespace, except at the 
start and end of the st
 \item An all-of group, which consists of 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{all-of} \t{::=} \t{'(' whitespace (item whitespace)* ')'}. Permitted in 
all specification
-    style variables. Permitted inside groups listed in 
table~\ref{tab:depend-nesting}.
+    \t{all-of} \t{::=} \t{'(' whitespace (item whitespace)* ')'}. Permitted in 
variables listed
+    in table~\ref{tab:depend-group-variables}. Permitted inside groups listed
+    in table~\ref{tab:depend-nesting}.
 \item An any-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.
@@ -188,6 +189,21 @@ In particular, note that whitespace is not optional.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{7}
+\begin{centertable}{EAPI-specific group use restrictions}
+    \label{tab:depend-group-variables}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{all-of}} \\
+      & \multicolumn{1}{c}{\textbf{permitted inside}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5, 6 & all specification style variables \\
+      7                   & \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE} 
\\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{All-of dependency specifications}
 
 In an all-of group, all of the child elements must be matched.

Reply via email to