commit:     f05b7511d7f474f1b485442646d6ca53db46af42
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 19 21:17:57 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 28 20:38:48 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f05b7511

EAPI 7 has BDEPEND

Bug: https://bugs.gentoo.org/317337

 dependencies.tex     | 28 +++++++++++++++++++++++++++-
 eapi-differences.tex |  4 ++++
 ebuild-vars.tex      |  1 +
 3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/dependencies.tex b/dependencies.tex
index 031960b..a876b43 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -14,7 +14,7 @@
       \t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} &
           None (ebuilds can rely only on the packages in the system set) \\
       \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, 
\t{src_test},
-          \t{src_install} & \t{DEPEND} \\
+          \t{src_install} & \t{DEPEND}, \t{BDEPEND} \\
       \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
           \t{RDEPEND} (unless the particular dependency results in a circular 
dependency, in which
           case it may be installed later) \\
@@ -35,6 +35,18 @@ There are three classes of dependencies supported by ebuilds:
     the package manager finishes the batch of installs.
 \end{compactitem}
 
+\featurelabel{bdepend} Additionally, in EAPIs listed in 
table~\ref{tab:depend-table}
+as supporting \t{BDEPEND}, the build dependencies are split into two 
subclasses:
+
+\begin{compactitem}
+\item Build dependencies that are binary compatible with the native build 
system
+    / CBUILD (\t{BDEPEND}). The ebuild is allowed to call binary executables
+    installed by this kind of dependency.
+\item Build dependencies that are binary compatible with the system being built
+    / CHOST (\t{DEPEND}). The ebuild must not execute binary executables 
installed
+    by this kind of dependency.
+\end{compactitem}
+
 Table~\ref{tab:phase-function-dependency-classes} lists dependencies which 
must be satisfied before
 a particular phase function is executed.
 
@@ -90,6 +102,20 @@ be surrounded on both sides by whitespace, except at the 
start and end of the st
 In particular, note that whitespace is not optional.
 
 \ChangeWhenAddingAnEAPI{7}
+\begin{centertable}{EAPIs supporting additional dependency types}
+    \label{tab:depend-table}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5, 6 & No  \\
+      7                   & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\ChangeWhenAddingAnEAPI{7}
 \begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
     \label{tab:uri-arrows-table}
     \begin{tabular}{ll}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 31cc5f6..9205125 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{BDEPEND} & \compactfeatureref{bdepend} &
+    No & No & No & No & Yes \\
+
 \t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
     No & No & No & No & Yes \\
 
@@ -409,6 +412,7 @@ EAPI 7 is EAPI 6 with the following changes:
 \item \t{patch} is compatible with GNU patch 2.7, \featureref{gnu-patch}.
 \item \t{SYSROOT} and \t{ESYSROOT} added, \featureref{sysroot}.
 \item \t{econf} adds \t{-{}-with-sysroot}, \featureref{econf-options}.
+\item \t{BDEPEND}, \featureref{bdepend}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{7}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 179ee6a..5180795 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -83,6 +83,7 @@ Ebuilds may define any of the following variables:
     for its value if unset and when used with an eclass. See 
section~\ref{sec:rdepend-depend} for
     details.
 \item[PDEPEND] See section~\ref{sec:dependencies}.
+\item[BDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{7}

Reply via email to