summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2021-05-16 20:46:09 +0200
committerUlrich Müller <ulm@gentoo.org>2021-06-05 10:55:37 +0200
commit52a242e2f7923f3bee9978ffb14741fa25da9c14 (patch)
tree84715294bbdb6f4cfeb097a08f54694cfc7bf358
parentEAPI 8: Default src_prepare doesn't accept options in PATCHES (diff)
downloadpms-52a242e2f7923f3bee9978ffb14741fa25da9c14.tar.gz
pms-52a242e2f7923f3bee9978ffb14741fa25da9c14.tar.bz2
pms-52a242e2f7923f3bee9978ffb14741fa25da9c14.zip
EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses
Bug: https://bugs.gentoo.org/701132 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--eapi-differences.tex4
-rw-r--r--eclasses.tex27
2 files changed, 26 insertions, 5 deletions
diff --git a/eapi-differences.tex b/eapi-differences.tex
index aeddb6e..c7af2b3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -152,6 +152,9 @@ Parallel tests & \compactfeatureref{parallel-tests} &
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} \\
+Accumulate \t{RESTRICT} etc. & \compactfeatureref{accumulate-vars} &
+ No & No & No & No & Yes \\
+
\t{AA} & \compactfeatureref{aa} &
* & No & No & No & No \\
@@ -499,6 +502,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{IDEPEND}, \featureref{idepend}.
\item Empty working directory in \t{pkg_*} phase functions, \featureref{phase-function-dir}.
\item Different \t{src_prepare} implementation, \featureref{src-prepare}.
+\item \t{PROPERTIES} and \t{RESTRICT} accumulated across eclasses, \featureref{accumulate-vars}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/eclasses.tex b/eclasses.tex
index 7f4ba67..a92ce1f 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -34,11 +34,28 @@ The \t{inherit} command must also ensure that:
\section{Eclass-defined Metadata Keys}
-The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND} and \t{IDEPEND}
-variables are handled specially when set by an eclass. They must be accumulated across eclasses,
-appending the value set by each eclass to the resulting value after the previous one is loaded.
-Then the eclass-defined value is appended to that defined by the ebuild. In the case of \t{RDEPEND},
-this is done after the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
+\featurelabel{accumulate-vars} The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND},
+\t{PDEPEND} and \t{IDEPEND} variables are handled specially when set by an eclass. They must be
+accumulated across eclasses, appending the value set by each eclass to the resulting value after
+the previous one is loaded. For EAPIs listed in table~\ref{tab:accumulate-vars} as accumulating
+\t{PROPERTIES} and \t{RESTRICT}, the same is true for these variables. Then the eclass-defined
+value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after
+the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
+
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{EAPIs accumulating \t{PROPERTIES} and \t{RESTRICT} across eclasses}
+ \label{tab:accumulate-vars}
+ \begin{tabular}{lll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Accumulates \t{PROPERTIES}?}} &
+ \multicolumn{1}{c}{\textbf{Accumulates \t{RESTRICT}?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & No & No \\
+ 8 & Yes & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
\section{EXPORT_FUNCTIONS}