Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-8 commit in: /
Date: Tue, 18 May 2021 05:44:38
Message-Id: 1621316655.a6ad6528bd2fc837f9770cd9ef9606def42934a5.ulm@gentoo
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}