Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-7 commit in: /
Date: Thu, 26 Apr 2018 20:16:18
Message-Id: 1524718766.49fa11cf4db1d10f311ff738531e5477cfeb4dbc.ulm@gentoo
1 commit: 49fa11cf4db1d10f311ff738531e5477cfeb4dbc
2 Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
3 AuthorDate: Wed Apr 25 17:10:23 2018 +0000
4 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 26 04:59:26 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=49fa11cf
7
8 Cheat sheet: Update for EAPI 7.
9
10 eapi-cheatsheet.tex | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++-
11 1 file changed, 117 insertions(+), 1 deletion(-)
12
13 diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
14 index cce3218..7095705 100644
15 --- a/eapi-cheatsheet.tex
16 +++ b/eapi-cheatsheet.tex
17 @@ -14,7 +14,7 @@
18 \usepackage[nohyphen]{underscore}
19 \newcommand{\code}[1]{\texttt{#1}}
20 % This should reflect the latest approved EAPI version
21 -\newcommand{\version}{6.0}
22 +\newcommand{\version}{7.0}
23 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
24 \renewcommand{\familydefault}{\sfdefault}
25 \urlstyle{sf}
26 @@ -401,6 +401,122 @@ differences between these previous EAPIs.
27 as replacement.
28 See \featureref{banned-commands}.
29 \end{description}
30 +
31 +\section{EAPI 7}
32 +\label{sec:cs:eapi7}
33 +\subsection{Additions/Changes}
34 +\label{sec:cs:eapi7-additions}
35 +\begin{description}
36 + \item[\code{package.*} and \code{use.*}] These profile files can
37 + be directories instead of regular files. This is intended to be
38 + used in overlays only.
39 + See \featureref{package-mask-dir} and \featureref{profile-file-dirs}.
40 + \item[\code{||} and \code{\textasciicircum\textasciicircum}
41 + dependency groups] These groups now evaluate to false when they
42 + are empty (for example, if there are only unmatched use
43 + dependencies inside of them).
44 + See \featureref{empty-dep-groups}.
45 + \item[No trailing slash] The paths specified by \code{ROOT},
46 + \code{EROOT}, \code{D}, and \code{ED} no longer end with a slash.
47 + Thus, default \code{ROOT} is empty now.
48 + See \featureref{trailing-slash}.
49 + \item[Cross compilation support] Several variables have been added
50 + and some commands have been extended for better cross compilation
51 + support:
52 + \begin{description}
53 + \item[\code{BDEPEND}] Build dependencies are divided into two
54 + classes: \code{BDEPEND} for native build tools (\code{CBUILD});
55 + \code{DEPEND} for dependencies compatible with the system
56 + being built (\code{CHOST}).
57 + See \featureref{bdepend}.
58 + \item[\code{SYSROOT}] The path to the root directory for
59 + \code{DEPEND} type dependencies.
60 + See \featureref{sysroot}.
61 + \item[\code{ESYSROOT}] The concatenation of the \code{SYSROOT}
62 + and \code{EPREFIX} paths, for convenience.
63 + \item[\code{BROOT}] The prefixed root directory path for
64 + \code{BDEPEND} type dependencies, typically executable build
65 + tools.
66 + See \featureref{broot}.
67 + \item[\code{econf}]
68 + Option \code{-{}-with-sysroot=\$\{ESYSROOT\}} is passed to
69 + configure, if this option is supported.
70 + See \featureref{econf-options}.
71 + \item[\code{has_version} and \code{best_version}] These
72 + helpers support \code{-b}, \code{-d} or \code{-r} options,
73 + causing the query to apply to \code{BDEPEND}, \code{DEPEND}
74 + or \code{RDEPEND} (the default). This replaces the
75 + \code{-{}-host-root} option.
76 + See \featureref{pm-query-options}.
77 + \end{description}
78 + \item[Environment blacklist] Any environment variable listed in
79 + the profile-defined \code{ENV_UNSET} variable will be unset by the
80 + package manager.
81 + See \featureref{env-unset}.
82 + \item[\code{patch}] All inputs valid for GNU patch version 2.7
83 + are supported. Especially, this includes support for git-formatted
84 + patches.
85 + See \featureref{gnu-patch}.
86 + \item[\code{nonfatal}] In addition to its definition as a shell
87 + function, the \code{nonfatal} wrapper has now a fallback
88 + implementation as an external command. Thus, it can be called
89 + from other commands.
90 + See \featureref{nonfatal}.
91 + \item[Output commands] \code{einfo} and friends no longer use
92 + stdout, so inside of command substitution their output won't be
93 + caught.
94 + See \featureref{output-no-stdout}.
95 + \item[\code{eqawarn}] The \code{eqawarn} output command is
96 + supported in the package manager itself.
97 + See \featureref{eqawarn}.
98 + \item[\code{die} in subshell] The \code{die} command is guaranteed
99 + to work in a subshell context.
100 + See \featureref{subshell-die}.
101 + \item[\code{domo} destination] \code{domo} installs the specified
102 + files under \code{/usr/share/locale} instead of
103 + \code{\$\{DESTTREE\}/\allowbreak share/locale}.
104 + See \featureref{domo-path}.
105 + \item[Controllable stripping] The \code{dostrip -x} command can be
106 + used to add paths to an exclusion list for stripping of debug
107 + symbols, to allow more fine-grained control than with
108 + \code{RESTRICT="strip"}.
109 + See \featureref{dostrip}.
110 + \item[Version manipulation and comparison commands] \mbox{}
111 + \begin{description}
112 + \item[\code{ver_cut} \emph{range} {[\emph{version}]}]
113 + Print the version substring specified by \emph{range}.
114 + \emph{version} defaults to \code{PV}.
115 + \item[\code{ver_rs} \emph{range repl} \dots\ {[\emph{version}]}]
116 + Replace all version separators in \emph{range} by string
117 + \emph{repl}. Multiple \emph{range repl} pairs are allowed.
118 + \emph{version} defaults to \code{PV}.
119 + \item[\code{ver_test} {[\emph{v1}]} \emph{op v2}]
120 + Check if the relation \emph{v1 op v2} is true.
121 + \emph{v1} defaults to \code{PVR}; \emph{op} can be \code{-eq},
122 + \code{-ne}, \code{-gt}, \code{-ge}, \code{-lt} or \code{-le}.
123 + \end{description}
124 + See \featureref{ver-commands}.
125 +\end{description}
126 +\subsection{Removals/Bans}
127 +\label{sec:cs:eapi7-removalsbans}
128 +\begin{description}
129 + \item[\code{package.provided}] Deprecated since a long time and
130 + finally dropped.
131 + See \featureref{package-provided}.
132 + \item[\code{PORTDIR} and \code{ECLASSDIR}] No longer defined,
133 + because ebuilds should not directly access files in the repository.
134 + See \featureref{portdir} and \featureref{eclassdir}.
135 + \item[\code{DESTTREE} and \code{INSDESTTREE}] Not defined any
136 + more. Use the \code{into} and \code{insinto} commands instead.
137 + See \featureref{desttree} and \featureref{insdesttree}.
138 + \item[\code{dohtml}] No longer allowed. \code{doins -r} can be
139 + used as a replacement.
140 + See \featureref{banned-commands}.
141 + \item[\code{dolib} and \code{libopts}] No longer allowed.
142 + The specific \code{dolib.a} or \code{dolib.so} commands should be
143 + used as replacement.
144 + See \featureref{banned-commands}.
145 +\end{description}
146 \end{document}
147
148 % vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :