Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-7 commit in: /
Date: Thu, 28 Sep 2017 20:53:25
Message-Id: 1506631128.f05b7511d7f474f1b485442646d6ca53db46af42.mgorny@gentoo
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}