1 |
commit: a6ad6528bd2fc837f9770cd9ef9606def42934a5 |
2 |
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun May 16 18:46:09 2021 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue May 18 05:44:15 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=a6ad6528 |
7 |
|
8 |
EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses |
9 |
|
10 |
Bug: https://bugs.gentoo.org/701132 |
11 |
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> |
12 |
|
13 |
eapi-differences.tex | 4 ++++ |
14 |
eclasses.tex | 27 ++++++++++++++++++++++----- |
15 |
2 files changed, 26 insertions(+), 5 deletions(-) |
16 |
|
17 |
diff --git a/eapi-differences.tex b/eapi-differences.tex |
18 |
index 5d7170d..5319bf0 100644 |
19 |
--- a/eapi-differences.tex |
20 |
+++ b/eapi-differences.tex |
21 |
@@ -149,6 +149,9 @@ Parallel tests & \compactfeatureref{parallel-tests} & |
22 |
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
23 |
\t{src_compile}, \t{src_test}, \t{src_install} \\ |
24 |
|
25 |
+Accumulate \t{RESTRICT} etc. & \compactfeatureref{accumulate-vars} & |
26 |
+ No & No & No & No & Yes \\ |
27 |
+ |
28 |
\t{AA} & \compactfeatureref{aa} & |
29 |
* & No & No & No & No \\ |
30 |
|
31 |
@@ -495,6 +498,7 @@ EAPI 8 is EAPI 7 with the following changes: |
32 |
\item Selective fetch/mirror restriction, \featureref{uri-restrict}. |
33 |
\item \t{IDEPEND}, \featureref{idepend}. |
34 |
\item Different \t{src_prepare} implementation, \featureref{src-prepare-8}. |
35 |
+\item \t{PROPERTIES}, \t{RESTRICT} accumulated across eclasses, \featureref{accumulate-vars}. |
36 |
\end{compactitem} |
37 |
|
38 |
\ChangeWhenAddingAnEAPI{8} |
39 |
|
40 |
diff --git a/eclasses.tex b/eclasses.tex |
41 |
index 7f4ba67..a92ce1f 100644 |
42 |
--- a/eclasses.tex |
43 |
+++ b/eclasses.tex |
44 |
@@ -34,11 +34,28 @@ The \t{inherit} command must also ensure that: |
45 |
|
46 |
\section{Eclass-defined Metadata Keys} |
47 |
|
48 |
-The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND} and \t{IDEPEND} |
49 |
-variables are handled specially when set by an eclass. They must be accumulated across eclasses, |
50 |
-appending the value set by each eclass to the resulting value after the previous one is loaded. |
51 |
-Then the eclass-defined value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, |
52 |
-this is done after the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied. |
53 |
+\featurelabel{accumulate-vars} The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, |
54 |
+\t{PDEPEND} and \t{IDEPEND} variables are handled specially when set by an eclass. They must be |
55 |
+accumulated across eclasses, appending the value set by each eclass to the resulting value after |
56 |
+the previous one is loaded. For EAPIs listed in table~\ref{tab:accumulate-vars} as accumulating |
57 |
+\t{PROPERTIES} and \t{RESTRICT}, the same is true for these variables. Then the eclass-defined |
58 |
+value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after |
59 |
+the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied. |
60 |
+ |
61 |
+\ChangeWhenAddingAnEAPI{8} |
62 |
+\begin{centertable}{EAPIs accumulating \t{PROPERTIES} and \t{RESTRICT} across eclasses} |
63 |
+ \label{tab:accumulate-vars} |
64 |
+ \begin{tabular}{lll} |
65 |
+ \toprule |
66 |
+ \multicolumn{1}{c}{\textbf{EAPI}} & |
67 |
+ \multicolumn{1}{c}{\textbf{Accumulates \t{PROPERTIES}?}} & |
68 |
+ \multicolumn{1}{c}{\textbf{Accumulates \t{RESTRICT}?}} \\ |
69 |
+ \midrule |
70 |
+ 0, 1, 2, 3, 4, 5, 6, 7 & No & No \\ |
71 |
+ 8 & Yes & Yes \\ |
72 |
+ \bottomrule |
73 |
+ \end{tabular} |
74 |
+\end{centertable} |
75 |
|
76 |
\section{EXPORT_FUNCTIONS} |