Gentoo Archives: gentoo-pms

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-pms@l.g.o
Cc: "Ulrich Müller" <ulm@g.o>
Subject: [gentoo-pms] [PATCH 20/21] EAPI 8: usev has an optional second argument
Date: Thu, 27 May 2021 20:29:03
Message-Id: 20210527202609.6445-21-ulm@gentoo.org
In Reply to: [gentoo-pms] EAPI 8 draft for review by "Ulrich Müller"
1 Bug: https://bugs.gentoo.org/744868
2 Signed-off-by: Ulrich Müller <ulm@g.o>
3 ---
4 eapi-differences.tex | 4 ++++
5 pkg-mgr-commands.tex | 23 ++++++++++++++---------
6 2 files changed, 18 insertions(+), 9 deletions(-)
7
8 diff --git a/eapi-differences.tex b/eapi-differences.tex
9 index d263cbc..5609de6 100644
10 --- a/eapi-differences.tex
11 +++ b/eapi-differences.tex
12 @@ -317,6 +317,9 @@ Controllable stripping & \compactfeatureref{dostrip} &
13 \t{dostrip} & \compactfeatureref{dostrip} &
14 No & No & No & Yes & Yes \\
15
16 +\t{usev} second arg & \compactfeatureref{usev} &
17 + No & No & No & No & Yes \\
18 +
19 \t{use_with} empty third arg & \compactfeatureref{use-with} &
20 * & Yes & Yes & Yes & Yes \\
21
22 @@ -529,6 +532,7 @@ EAPI 8 is EAPI 7 with the following changes:
23 \item \t{dosym} can create relative paths, \featureref{dosym-relative}.
24 \item \t{insopts} no longer affects \t{doconfd}, \t{doenvd} and \t{doheader}, \featureref{insopts}.
25 \item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}.
26 +\item \t{usev} supports an optional second argument, \featureref{usev}.
27 \end{compactitem}
28
29 \ChangeWhenAddingAnEAPI{8}
30 diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
31 index 58254fa..eac17de 100644
32 --- a/pkg-mgr-commands.tex
33 +++ b/pkg-mgr-commands.tex
34 @@ -936,15 +936,17 @@ table~\ref{tab:use-list-strictness}.
35 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
36 otherwise. If the flag name is prefixed with \t{!}, returns true if the flag is disabled, and
37 false if it is enabled. It is guaranteed that this command is quiet.
38 -\item[usev] The same as \t{use}, but also prints the flag name if the condition
39 - is met.
40 +\item[usev] \featurelabel{usev} The same as \t{use}, but also prints the flag name if the condition
41 + is met. In EAPIs listed in table~\ref{tab:use-list-args} as supporting an optional second
42 + argument for \t{usev}, prints the second argument instead, if it is specified and if the
43 + condition is met.
44 \item[useq] Deprecated synonym for \t{use}.
45 In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
46 section~\ref{sec:banned-commands}.
47 \item[use_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first
48 argument is a USE flag name, the second a \t{configure} option name (\t{\$\{opt\}}), defaulting
49 to the same as the first argument if not provided, and the third is a string value
50 - (\t{\$\{value\}}). For EAPIs listed in table~\ref{tab:use-with-third-arg} as not supporting it,
51 + (\t{\$\{value\}}). For EAPIs listed in table~\ref{tab:use-list-args} as not supporting it,
52 an empty third argument is treated as if it weren't provided. If the USE flag is set, outputs
53 \t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
54 \t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs
55 @@ -979,15 +981,18 @@ table~\ref{tab:use-list-strictness}.
56 \end{centertable}
57
58 \ChangeWhenAddingAnEAPI{8}
59 -\begin{centertable}{EAPIs supporting empty third argument in \t{use_with} and \t{use_enable}}
60 - \label{tab:use-with-third-arg}
61 - \begin{tabular}{ll}
62 +\begin{centertable}{\t{usev}, \t{use_with} and \t{use_enable} arguments for EAPIs}
63 + \label{tab:use-list-args}
64 + \begin{tabular}{lll}
65 \toprule
66 \multicolumn{1}{c}{\textbf{EAPI}} &
67 - \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
68 + \multicolumn{1}{P{8em}}{\textbf{\t{usev} has optional second argument?}} &
69 + \multicolumn{1}{P{14em}}{\textbf{\t{use_with} and \t{use_enable} support empty third
70 + argument?}} \\
71 \midrule
72 - 0, 1, 2, 3 & No \\
73 - 4, 5, 6, 7, 8 & Yes \\
74 + 0, 1, 2, 3 & No & No \\
75 + 4, 5, 6, 7 & No & Yes \\
76 + 8 & Yes & Yes \\
77 \bottomrule
78 \end{tabular}
79 \end{centertable}
80 --
81 2.31.1