1 |
commit: f05b7511d7f474f1b485442646d6ca53db46af42 |
2 |
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Sep 19 21:17:57 2017 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 28 20:38:48 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=f05b7511 |
7 |
|
8 |
EAPI 7 has BDEPEND |
9 |
|
10 |
Bug: https://bugs.gentoo.org/317337 |
11 |
|
12 |
dependencies.tex | 28 +++++++++++++++++++++++++++- |
13 |
eapi-differences.tex | 4 ++++ |
14 |
ebuild-vars.tex | 1 + |
15 |
3 files changed, 32 insertions(+), 1 deletion(-) |
16 |
|
17 |
diff --git a/dependencies.tex b/dependencies.tex |
18 |
index 031960b..a876b43 100644 |
19 |
--- a/dependencies.tex |
20 |
+++ b/dependencies.tex |
21 |
@@ -14,7 +14,7 @@ |
22 |
\t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} & |
23 |
None (ebuilds can rely only on the packages in the system set) \\ |
24 |
\t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test}, |
25 |
- \t{src_install} & \t{DEPEND} \\ |
26 |
+ \t{src_install} & \t{DEPEND}, \t{BDEPEND} \\ |
27 |
\t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} & |
28 |
\t{RDEPEND} (unless the particular dependency results in a circular dependency, in which |
29 |
case it may be installed later) \\ |
30 |
@@ -35,6 +35,18 @@ There are three classes of dependencies supported by ebuilds: |
31 |
the package manager finishes the batch of installs. |
32 |
\end{compactitem} |
33 |
|
34 |
+\featurelabel{bdepend} Additionally, in EAPIs listed in table~\ref{tab:depend-table} |
35 |
+as supporting \t{BDEPEND}, the build dependencies are split into two subclasses: |
36 |
+ |
37 |
+\begin{compactitem} |
38 |
+\item Build dependencies that are binary compatible with the native build system |
39 |
+ / CBUILD (\t{BDEPEND}). The ebuild is allowed to call binary executables |
40 |
+ installed by this kind of dependency. |
41 |
+\item Build dependencies that are binary compatible with the system being built |
42 |
+ / CHOST (\t{DEPEND}). The ebuild must not execute binary executables installed |
43 |
+ by this kind of dependency. |
44 |
+\end{compactitem} |
45 |
+ |
46 |
Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before |
47 |
a particular phase function is executed. |
48 |
|
49 |
@@ -90,6 +102,20 @@ be surrounded on both sides by whitespace, except at the start and end of the st |
50 |
In particular, note that whitespace is not optional. |
51 |
|
52 |
\ChangeWhenAddingAnEAPI{7} |
53 |
+\begin{centertable}{EAPIs supporting additional dependency types} |
54 |
+ \label{tab:depend-table} |
55 |
+ \begin{tabular}{ll} |
56 |
+ \toprule |
57 |
+ \multicolumn{1}{c}{\textbf{EAPI}} & |
58 |
+ \multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} \\ |
59 |
+ \midrule |
60 |
+ 0, 1, 2, 3, 4, 5, 6 & No \\ |
61 |
+ 7 & Yes \\ |
62 |
+ \bottomrule |
63 |
+ \end{tabular} |
64 |
+\end{centertable} |
65 |
+ |
66 |
+\ChangeWhenAddingAnEAPI{7} |
67 |
\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows} |
68 |
\label{tab:uri-arrows-table} |
69 |
\begin{tabular}{ll} |
70 |
|
71 |
diff --git a/eapi-differences.tex b/eapi-differences.tex |
72 |
index 31cc5f6..9205125 100644 |
73 |
--- a/eapi-differences.tex |
74 |
+++ b/eapi-differences.tex |
75 |
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs. |
76 |
\bottomrule |
77 |
\endlastfoot |
78 |
|
79 |
+\t{BDEPEND} & \compactfeatureref{bdepend} & |
80 |
+ No & No & No & No & Yes \\ |
81 |
+ |
82 |
\t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} & |
83 |
No & No & No & No & Yes \\ |
84 |
|
85 |
@@ -409,6 +412,7 @@ EAPI 7 is EAPI 6 with the following changes: |
86 |
\item \t{patch} is compatible with GNU patch 2.7, \featureref{gnu-patch}. |
87 |
\item \t{SYSROOT} and \t{ESYSROOT} added, \featureref{sysroot}. |
88 |
\item \t{econf} adds \t{-{}-with-sysroot}, \featureref{econf-options}. |
89 |
+\item \t{BDEPEND}, \featureref{bdepend}. |
90 |
\end{compactitem} |
91 |
|
92 |
\ChangeWhenAddingAnEAPI{7} |
93 |
|
94 |
diff --git a/ebuild-vars.tex b/ebuild-vars.tex |
95 |
index 179ee6a..5180795 100644 |
96 |
--- a/ebuild-vars.tex |
97 |
+++ b/ebuild-vars.tex |
98 |
@@ -83,6 +83,7 @@ Ebuilds may define any of the following variables: |
99 |
for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for |
100 |
details. |
101 |
\item[PDEPEND] See section~\ref{sec:dependencies}. |
102 |
+\item[BDEPEND] See section~\ref{sec:dependencies}. |
103 |
\end{description} |
104 |
|
105 |
\ChangeWhenAddingAnEAPI{7} |