commit: 9608fc5e153c99803257c97f09046f93500cc658 Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> AuthorDate: Sun May 16 18:46:09 2021 +0000 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> CommitDate: Sun May 16 18:46:09 2021 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=9608fc5e
EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses Bug: https://bugs.gentoo.org/701132 Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> eapi-differences.tex | 4 ++++ eclasses.tex | 27 ++++++++++++++++++++++----- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/eapi-differences.tex b/eapi-differences.tex index 1e6e951..0579fa3 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -149,6 +149,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 \\ @@ -528,6 +531,7 @@ EAPI 8 is EAPI 7 with the following changes: \item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}. \item Less strict naming rules for files in \t{updates} directory, \featureref{updates-filenames}. \item \t{dosym} can create relative paths, \featureref{dosym-relative}. +\item \t{PROPERTIES}, \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}