Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-pms
Navigation:
Lists: gentoo-pms: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: Christian Faulhammer <fauli@g.o>
From: Ulrich Mueller <ulm@g.o>
Subject: Re: Re: kdebuild-1 conditionals
Date: Sat, 9 Jan 2010 18:34:37 +0100
>>>>> On Sat, 9 Jan 2010, Christian Faulhammer wrote:

>> No objections. Maybe a footnote in section 2.2 "Defined EAPIs"?

>  Yes, that would be a good place.  Could you please prepare a new
> patch?

Attached. Only change to previous version is addition of a footnote:

\footnote{Another inofficial EAPI `kdebuild-1' was a series of
    extensions to EAPI `1' formerly used by the Gentoo KDE project.
    Some of its features have been included in EAPI `2' or later.}

Ulrich

From 0a087ed62be4c55ba98a4fd2aa28494df09f0fd9 Mon Sep 17 00:00:00 2001
From: Ulrich Mueller <ulm@g.o>
Date: Fri, 11 Dec 2009 16:46:23 +0100
Subject: [PATCH 1/3] Remove conditionals for kdebuild-1.

Signed-off-by: Ulrich Mueller <ulm@g.o>
---
 appendices.tex        |    6 -
 dependencies.tex      |  293 ++-------------------------------------------
 eapi-differences.tex  |  319 ++++++++++++++-----------------------------------
 eapis.tex             |   29 +----
 ebuild-env-vars.tex   |   21 ----
 ebuild-functions.tex  |  164 -------------------------
 ebuild-vars.tex       |  115 +-----------------
 eclasses.tex          |    8 --
 names.tex             |  106 ++--------------
 pkg-mgr-commands.tex  |  225 +----------------------------------
 pms.cls               |   32 -----
 profile-variables.tex |   17 ---
 tree-layout.tex       |    8 +-
 13 files changed, 125 insertions(+), 1218 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 0efb760..093a9bc 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -50,12 +50,6 @@ Portage has very crude support for CVS packages. The package \t{foo} could conta
 \t{foo-2.ebuild}). This feature has not seen real world use and breaks versioned dependencies, so
 it must not be used.
 
-\IFKDEBUILDELSE
-{
-    The \t{scm} version rules specified in section~\ref{scm-versions} solve all of these issues.
-}{
-}
-
 \section{use.defaults}
 
 The \t{use.defaults} file in the profile directory was used to implement `autouse'---switching USE
diff --git a/dependencies.tex b/dependencies.tex
index 9bbaf62..857356c 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -48,21 +48,11 @@ be surrounded on both sides by whitespace, except at the start and end of the st
     of any kind followed by whitespace), followed by a close parenthesis. More formally:
     \t{use-conditional ::= '!'? flag-name '?' whitespace '(' whitespace (item whitespace)* ')'}.
     Permitted in all specification style variables.
-\IFKDEBUILDELSE
-{
-    \item A label, which is a string without whitespace followed by a colon. Permitted in
-    \t{SRC\_URI} in EAPIs shown in table~\ref{tab:uri-labels-table} as supporting \t{SRC\_URI} labels,
-    and in \t{PDEPEND} in EAPIs shown in table~\ref{tab:pdepend-labels-table} as supporting \t{PDEPEND}
-    labels.
-}{
-}
 \end{compactitem}
 
 In particular, note that whitespace is not optional.
 
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -70,64 +60,13 @@ In particular, note that whitespace is not optional.
         \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & Yes \\
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{EAPIs supporting \t{SRC\_URI} labels} \label{tab:uri-labels-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} labels?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & Yes \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-
-    \begin{centertable}{EAPIs supporting \t{PDEPEND} labels} \label{tab:pdepend-labels-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PDEPEND} labels?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & Yes \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}{
-}
-
 \subsection{All-of Dependency Specifications}
 
 In an all-of group, all of the child elements must be matched.
@@ -151,21 +90,6 @@ considered to be matched if its associated package dependency specification is n
 
 An empty any-of group counts as being matched.
 
-\IFKDEBUILDELSE
-{
-    \subsection{Labels}
-    \label{sec:labels}
-
-    A label alters the behaviour of any subsequent items (including those inside subgroups) in the
-    current group. This is demonstrated by code listing~\ref{lst:labels-listing}.
-
-\begin{listing}
-  \caption{How labels are applied}\label{lst:labels-listing}
-  \verbatiminput{labels.listing}
-\end{listing}
-}{
-}
-
 \subsection{Package Dependency Specifications}
 
 A package dependency can be in one of the following base formats. A package manager must warn or
@@ -182,45 +106,14 @@ above formats may additionally be suffixed by a \t{:slot} restriction, as descri
 section~\ref{sec:slot-dep}. A package manager must warn or error if slot dependencies are used with an
 EAPI not supporting \t{SLOT} dependencies.
 
-\IFKDEBUILDELSE
-{
-    In EAPIs shown in table~\ref{tab:range-deps-table} as supporting ranged dependencies, a
-    specification that does not use an operator at the start may additionally be suffixed by one
-    \t{[range]} restriction, as described in section~\ref{sec:range-dep}. A package manager must warn or
-    error if this feature is used with an EAPI not supporting ranged dependencies.
-}{
-}
-
-\IFKDEBUILDELSE
-{
-    \featurelabel{use-deps} In EAPIs shown in table~\ref{tab:use-deps-table} as supporting
-    kdebuild-style \t{USE} dependencies, a specification may additionally be suffixed by one or more
-    kdebuild-style \t{[use]} restrictions, as described in section~\ref{sec:kdebuild-use-dep}. A
-    package manager must warn or error if this feature is used with an EAPI not supporting use
-    dependencies.
-
-    In EAPIs shown in table~\ref{tab:use-deps-table} as supporting 2-style or 4-style \t{USE}
-    dependencies, a specification may additionally be suffixed by at most one 2-style or 4-style
-    \t{[use]} restriction, as described in section~\ref{sec:use-dep}. A package manager must warn or
-    error if this feature is used with an EAPI not supporting use dependencies.
-}{
-    \featurelabel{use-deps} In EAPIs shown in table~\ref{tab:use-deps-table} as supporting 2-style
-    or 4-style \t{USE} dependencies, a specification may additionally be suffixed by at most one
-    2-style or 4-style \t{[use]} restriction, as described in section~\ref{sec:use-dep}. A package
-    manager must warn or error if this feature is used with an EAPI not supporting use dependencies.
-}
-
-\IFKDEBUILDELSE
-{
-    \note Order is important. The slot restriction must come before the range restriction, which
-    must come before use dependencies.
-}{
-    \note Order is important. The slot restriction must come before use dependencies.
-}
+\featurelabel{use-deps} In EAPIs shown in table~\ref{tab:use-deps-table} as supporting 2-style
+or 4-style \t{USE} dependencies, a specification may additionally be suffixed by at most one
+2-style or 4-style \t{[use]} restriction, as described in section~\ref{sec:use-dep}. A package
+manager must warn or error if this feature is used with an EAPI not supporting use dependencies.
+
+\note Order is important. The slot restriction must come before use dependencies.
 
 \begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -228,51 +121,14 @@ EAPI not supporting \t{SLOT} dependencies.
             \midrule
     \t{0} & No \\
     \t{1} & Named only \\
-    \t{kdebuild-1} & Named and operator \\
     \t{2} & Named only \\
     \t{3} & Named only \\
     \t{4} & Named and operator \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & Named only \\
-    \t{2} & Named only \\
-    \t{3} & Named only \\
-    \t{4} & Named and operator \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{EAPIs supporting ranged dependencies} \label{tab:range-deps-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports ranged dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & Yes \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}{
-}
-
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -280,29 +136,12 @@ EAPI not supporting \t{SLOT} dependencies.
         \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & kdebuild-style \\
     \t{2} & 2-style \\
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \bottomrule
     \end{tabular}
-    \end{centertable}
-}{
-    \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}
+\end{centertable}
 
 \subsubsection{Operators}
 \label{sec:dep-operator}
@@ -340,8 +179,6 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -350,27 +187,11 @@ described in table~\ref{tab:bang-strength-table}.
             \midrule
     \t{0} & Unspecified & Forbidden \\
     \t{1} & Unspecified & Forbidden \\
-    \t{kdebuild-1} & Unspecified & Forbidden \\
     \t{2} & Weak & Strong \\
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsubsection{Slot Dependencies}
@@ -398,59 +219,6 @@ best installed version of the matching package. The package manager may do this
 the appropriate slot after the equals sign when saving the package's dependencies. This syntax
 is only for package manager use and must not be used by ebuilds.
 
-\IFKDEBUILDELSE
-{
-    \subsubsection{Ranged Dependencies}
-    \label{sec:range-dep}
-
-    \featurelabel{ranged-deps} A ranged dependency consists of an open square bracket, followed by
-    zero or more of (a depend operator followed by a version spec followed by a logical operator)
-    followed by a depend operator followed by a version spec followed by a close equare bracket.
-    More formally: \t{ranged-dep ::= '[' (op ver logical-op)* op ver ']' }.
-
-    The following logical operators are supported:
-
-    \begin{description}
-    \item[\&] An 'and' match. All op-ver pairs must match for a successful match.
-    \item[|] An 'or' match. At least one op-ver pair must match for a successful match.
-    \end{description}
-
-    A ranged dependency must not mix logical operators.
-}{
-}
-
-\IFKDEBUILDELSE
-{
-    \subsubsection{kdebuild Style Use Dependencies}
-    \label{sec:kdebuild-use-dep}
-
-    A kdebuild-style use dependency consists of one of the following:
-
-    \begin{description}
-    \item[{[opt]}] The flag must be enabled.
-    \item[{[opt=]}] The flag must be enabled if the flag is enabled for the package with the
-        dependency, or disabled otherwise.
-    \item[{[opt!=]}] The flag must be disabled if the flag is enabled for the package with the
-        dependency, or enabled otherwise.
-    \item[{[opt?]}] The flag must be enabled if the flag is enabled for the package with the
-        dependency.
-    \item[{[opt!?]}] The flag must be enabled if the use flag is disabled for the package with the
-        dependency.
-    \item[{[-opt]}] The flag must be disabled.
-    \item[{[-opt?]}] The flag must be disabled if the flag is enabled for the package with the
-        dependency.
-    \item[{[-opt!?]}] The flag must be disabled if the flag is disabled for the package with the
-        dependency.
-    \end{description}
-
-    When multiple use dependencies are specified, all must match for a successful match.
-
-    It is an error for a use dependency to be applied to an ebuild which does not have the flag in
-    question in \t{IUSE\_REFERENCEABLE}, or for an ebuild to use a conditional use dependency when
-    that ebuild does not have the flag in \t{IUSE\_EFFECTIVE}.
-}{
-}
-
 \subsubsection{2-Style and 4-Style Use Dependencies}
 \label{sec:use-dep}
 
@@ -489,23 +257,6 @@ would not have to be part of \t{IUSE}.
 It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
 flag in \t{IUSE\_EFFECTIVE}.
 
-\IFKDEBUILDELSE
-{
-    \subsection{Package Dependency Labels}
-
-    In EAPIs supporting \t{PDEPEND} labels, the following labels are legal. See
-    section~\ref{sec:labels} for label behaviour in general.
-
-    \begin{description}
-    \item[required] Indicates a required post dependency.
-    \item[suggested] Indicates a suggested post dependency. The package manager may ignore the
-        suggestion or install it at user option.
-    \end{description}
-
-    The default label is \t{required}.
-}{
-}
-
 \subsection{Restrict}
 \label{sec:restrict}
 
@@ -551,38 +302,14 @@ details.
 If a simple filename rather than a full URI is provided, the package manager can only use mirrors to
 download the file.
 
-\IFKDEBUILDELSE
-{
-    The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
-    section~\ref{sec:restrict} for details. Labels also alter behaviour---see below for details.
-}{
-    The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
-    section~\ref{sec:restrict} for details.
-}
+The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
+section~\ref{sec:restrict} for details.
 
 \featurelabel{src-uri-arrows} In EAPIs supporting arrows, if an arrow is used, the filename used
 when saving to \t{DISTDIR} shall instead be the name on the right of the arrow. When consulting
 mirrors (except for those explicitly listed on the left of the arrow, if \t{mirror://} is used), the
 filename to the right of the arrow shall be requested instead of the filename in the URI.
 
-\IFKDEBUILDELSE
-{
-    \featurelabel{src-uri-labels} In EAPIs supporting labels, the following labels are legal. See
-    section~\ref{sec:labels} for label behaviour in general.
-
-    \begin{description}
-    \item[mirrors-first] Mirrors shall be consulted before the listed URI.
-    \item[mirrors-only] Only mirrors shall be consulted, and the listed URI shall be ignored.
-    \item[listed-first] The listed URI shall be consulted before mirrors.
-    \item[listed-only] Only the listed URI shall be consulted.
-    \item[manual] No URI shall be consulted. A manual download is required.
-    \end{description}
-
-    The default label is \t{mirrors-first}, unless \t{RESTRICT} contains \t{mirror}, in which case it is
-    \t{listed-only}, unless \t{RESTRICT} contains \t{fetch}, in which case it is \t{manual}.
-}{
-}
-
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:
diff --git a/eapi-differences.tex b/eapi-differences.tex
index e73f96d..f3b63c7 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -3,17 +3,16 @@
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
 \begin{landscape}
-\begin{longtable}{\IFANYKDEBUILDELSE{llllllll}{lllllll}}
+\begin{longtable}{lllllll}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
 \multicolumn{1}{c}{\b{Reference}} &
-\IFANYKDEBUILDELSE{\multicolumn{5}{c}{\b{EAPIs}} \\}{\multicolumn{4}{c}{\b{EAPIs}} \\}
+\multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0} &
 \multicolumn{1}{c}{1} &
-\IFANYKDEBUILDELSE{\multicolumn{1}{c}{\IFKDEBUILDCOLOUR{kdebuild-1}} &}{}
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} \\
@@ -22,12 +21,11 @@
 \midrule
 \multicolumn{1}{c}{\b{Feature}} &
 \multicolumn{1}{c}{\b{Reference}} &
-\IFANYKDEBUILDELSE{\multicolumn{5}{c}{\b{EAPIs}} \\}{\multicolumn{4}{c}{\b{EAPIs}} \\}
+\multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0} &
 \multicolumn{1}{c}{1} &
-\IFANYKDEBUILDELSE{\multicolumn{1}{c}{\IFKDEBUILDCOLOUR{kdebuild-1}} &}{}
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} \\
@@ -38,228 +36,111 @@
 \bottomrule
 \endlastfoot
 
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{scm} support} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{scm}} &
-    \IFKDEBUILDCOLOUR{Optional} &
-    \IFKDEBUILDCOLOUR{Optional} &
-    \IFKDEBUILDCOLOUR{Required} &
-    \IFKDEBUILDCOLOUR{Optional} &
-    \IFKDEBUILDCOLOUR{Optional} &
-    \IFKDEBUILDCOLOUR{Optional} \\
-}{}
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{File extension} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{file-extension}} &
-    \IFKDEBUILDCOLOUR{\t{.ebuild}} &
-    \IFKDEBUILDCOLOUR{\t{.ebuild}} &
-    \IFKDEBUILDCOLOUR{\t{.kdebuild-1}} &
-    \IFKDEBUILDCOLOUR{\t{.ebuild}} &
-    \IFKDEBUILDCOLOUR{\t{.ebuild}} &
-    \IFKDEBUILDCOLOUR{\t{.ebuild}} \\
-}{}
-
-Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
-
-\t{IUSE} defaults & \compactfeatureref{iuse-defaults} & No & Yes &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & Yes \\
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{PROVIDE} support} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{provide}} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} \\
-}{}
-
-\t{PROPERTIES} & \compactfeatureref{properties} & Optionally & Optionally &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Optionally} &}{} Optionally & Optionally & Yes \\
-
-\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} & Yes & Yes &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & No \\
-
-\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} & Optionally & Optionally &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Optionally} &}{} Optionally & Optionally & Yes \\
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{Pre-source \t{EAPI}} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{pre-source-eapi}} &
-    \IFKDEBUILDCOLOUR{0 or unset} &
-    \IFKDEBUILDCOLOUR{0 or unset} &
-    \IFKDEBUILDCOLOUR{kdebuild-1} &
-    \IFKDEBUILDCOLOUR{0 or unset} &
-    \IFKDEBUILDCOLOUR{0 or unset} &
-    \IFKDEBUILDCOLOUR{0 or unset} \\
-}{}
-
-\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & Yes \\
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{SRC\_URI} labels} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{src-uri-labels}} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} \\
-}{}
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{PDEPEND} labels} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{pdepend-labels}} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} \\
-}{}
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{Ranged Dependencies} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{ranged-deps}} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{No} \\
-}{}
-
-Slot dependencies &
-    \compactfeatureref{slot-deps} &
-    No &
-    Named &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Named and Operator} &}{}
-    Named &
-    Named &
-    Named and Operator \\
-
-Use dependencies & \compactfeatureref{use-deps} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{kdebuild-style} &}{} 2-style & 2-style & 4-style \\
-
-\t{!} blockers & \compactfeatureref{bang-strength} & Unspecified & Unspecified &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Unspecified} &}{} Weak & Weak & Weak \\
-
-\t{!!} blockers & \compactfeatureref{bang-strength} & Forbidden & Forbidden &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Forbidden} &}{} Strong & Strong & Strong \\
-
-\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} & Always & Always &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Always} &}{} Always & Always & Conditional \\
-
-\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
-
-\t{src\_prepare} & \compactfeatureref{src-prepare} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\
-
-\t{src\_configure} & \compactfeatureref{src-configure} & No & No &
-\IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\
-
-\t{src\_compile} style & \compactfeatureref{src-compile} & 0 & 1 &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{1} &}{} 2 & 2 & 2 \\
-
-\t{src\_install} style & \compactfeatureref{src-install} & no-op & no-op &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{no-op} &}{} no-op & no-op & 4 \\
-
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{src\_test}} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{src-test-required}} &
-    \IFKDEBUILDCOLOUR{User option} &
-    \IFKDEBUILDCOLOUR{User option} &
-    \IFKDEBUILDCOLOUR{Required} &
-    \IFKDEBUILDCOLOUR{User option} &
-    \IFKDEBUILDCOLOUR{User option} &
-    \IFKDEBUILDCOLOUR{User option} \\
-}{}
-
-\t{pkg\_info} & \compactfeatureref{pkg-info} & Installed & Installed &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Both} &}{} Installed & Installed & Both \\
-
-\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} & None & None &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{None} &}{}
+Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} &
+    No & No & No & No & Yes \\
+
+\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
+    No & Yes & Yes & Yes & Yes \\
+
+\t{PROPERTIES} & \compactfeatureref{properties} &
+    Optionally & Optionally & Optionally & Optionally & Yes \\
+
+\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
+    Yes & Yes & Yes & Yes & No \\
+
+\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
+    Optionally & Optionally & Optionally & Optionally & Yes \\
+
+\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
+    No & No & Yes & Yes & Yes \\
+
+Slot dependencies & \compactfeatureref{slot-deps} &
+    No & Named & Named & Named & Named and Operator \\
+
+Use dependencies & \compactfeatureref{use-deps} &
+    No & No & 2-style & 2-style & 4-style \\
+
+\t{!} blockers & \compactfeatureref{bang-strength} &
+    Unspecified & Unspecified & Weak & Weak & Weak \\
+
+\t{!!} blockers & \compactfeatureref{bang-strength} &
+    Forbidden & Forbidden & Strong & Strong & Strong \\
+
+\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
+    Always & Always & Always & Always & Conditional \\
+
+\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
+    No & No & No & No & Yes \\
+
+\t{src\_prepare} & \compactfeatureref{src-prepare} &
+    No & No & Yes & Yes & Yes \\
+
+\t{src\_configure} & \compactfeatureref{src-configure} &
+    No & No & Yes & Yes & Yes \\
+
+\t{src\_compile} style & \compactfeatureref{src-compile} &
+    0 & 1 & 2 & 2 & 2 \\
+
+\t{src\_install} style & \compactfeatureref{src-install} &
+    no-op & no-op & no-op & no-op & 4 \\
+
+\t{pkg\_info} & \compactfeatureref{pkg-info} &
+    Installed & Installed & Installed & Installed & Both \\
+
+\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
+    None & None &
     \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} &
     \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} &
     \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
 
-\t{AA} & \compactfeatureref{aa} & Yes & Yes &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & No \\
-
-\t{KV} & \compactfeatureref{kv} & Yes & Yes &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & No \\
+\t{AA} & \compactfeatureref{aa} &
+    Yes & Yes & Yes & Yes & No \\
 
-\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{KV} & \compactfeatureref{kv} &
+    Yes & Yes & Yes & Yes & No \\
 
-\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
+    No & No & No & No & Yes \\
 
-Most utilities die & \compactfeatureref{die-on-failure} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
+    No & No & No & No & Yes \\
 
-\t{nonfatal} & \compactfeatureref{nonfatal} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+Most utilities die & \compactfeatureref{die-on-failure} &
+    No & No & No & No & Yes \\
 
-\t{dohard} & \compactfeatureref{banned-commands} & Yes & Yes &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Banned} &}{} Yes & Yes & Banned \\
+\t{nonfatal} & \compactfeatureref{nonfatal} &
+    No & No & No & No & Yes \\
 
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{dohtml}} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{banned-commands}} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Banned} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} \\
-}{}
+\t{dohard} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
 
-\t{dosed} & \compactfeatureref{banned-commands} & Yes & Yes &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Banned} &}{} Yes & Yes & Banned \\
+\t{dosed} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
 
-\t{econf} arguments & \compactfeatureref{econf-options} &  &  &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{} &}{} & &
-    \parbox[t]{1in}{disable dependency tracking} \\
+\t{econf} arguments & \compactfeatureref{econf-options} &
+    &  &  &  & \parbox[t]{1in}{disable dependency tracking} \\
 
-\t{dodoc -r} & \compactfeatureref{dodoc} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{dodoc -r} & \compactfeatureref{dodoc} &
+    No & No & No & No & Yes \\
 
-\t{doins} handles symlinks & \compactfeatureref{doins} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{doins} handles symlinks & \compactfeatureref{doins} &
+    No & No & No & No & Yes \\
 
-\t{doman} languages & \compactfeatureref{doman-langs} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\
+\t{doman} languages & \compactfeatureref{doman-langs} &
+    No & No & Yes & Yes & Yes \\
 
-\IFANYKDEBUILDELSE{
-    \IFKDEBUILDCOLOUR{\t{dosym} does \t{dodir}} &
-    \IFKDEBUILDCOLOUR{\compactfeatureref{dosym-dodir}} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{No} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} &
-    \IFKDEBUILDCOLOUR{Yes} \\
-}{}
+Controllable compression & \compactfeatureref{controllable-compress} &
+    No & No & No & No & Yes \\
 
-Controllable compression & \compactfeatureref{controllable-compress} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{docompress} & \compactfeatureref{controllable-compress} &
+    No & No & No & No & Yes \\
 
-\t{docompress} & \compactfeatureref{controllable-compress} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
+\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\
-
-\t{default} function & \compactfeatureref{default-func} & No & No &
-    \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\
+\t{default} function & \compactfeatureref{default-func} &
+    No & No & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -282,30 +163,6 @@ EAPI 1 is EAPI 0 with the following changes:
 \item Different \t{src\_compile} implementation, \featureref{src-compile-1}.
 \end{compactitem}
 
-\IFKDEBUILDELSE
-{
-    \section*{EAPI kdebuild-1}
-
-    EAPI kdebuild-1 is EAPI 1 with the following changes:
-
-    \begin{compactitem}
-    \item \t{scm} support, \featureref{scm}.
-    \item \t{kdebuild-1} file extension, \featureref{file-extension}.
-    \item \t{PROVIDE} banned, \featureref{provide}.
-    \item Pre-source EAPI is \t{kdebuild-1}, \featureref{pre-source-eapi}.
-    \item \t{SRC\_URI} arrows, \featureref{src-uri-arrows}.
-    \item \t{SRC\_URI} labels, \featureref{src-uri-labels}.
-    \item \t{PDEPEND} labels, \featureref{pdepend-labels}.
-    \item Ranged dependencies, \featureref{ranged-deps}.
-    \item Use dependencies, \featureref{use-deps}.
-    \item \t{src\_test} mandatory, \featureref{src-test-required}.
-    \item \t{pkg\_info} can run on non-installed packages, \featureref{pkg-info}.
-    \item \t{dohard}, \t{dohtml}, \t{dosed} banned, \featureref{banned-commands}.
-    \item \t{dosym} will not do \t{dodir}, \featureref{dosym-dodir}.
-    \end{compactitem}
-}{
-}
-
 \section*{EAPI 2}
 
 EAPI 2 is EAPI 1 with the following changes:
diff --git a/eapis.tex b/eapis.tex
index 24cabbe..f7ad06b 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -23,13 +23,6 @@ The following EAPIs are defined by this specification:
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
     in all other ways identical to EAPI `0'.
-\IFKDEBUILDELSE
-{
-    \item[kdebuild-1] A series of extensions to EAPI `1' used by the GenKDEsvn project and
-        formerly by the Gentoo KDE project. Except where
-        explicitly noted, it is in all other ways identical to EAPI `1'.
-}{
-}
 \item[2] EAPI `2' contains a number of extensions to EAPI `1'. Except where explicitly noted, it is
     in all other ways identical to EAPI `1'.
 \item[3] EAPI `3' contains a number of extensions to EAPI `2'. Except where explicitly noted, it is
@@ -38,21 +31,11 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \end{description}
 
-\ifthenelse{\boolean{ENABLE-ALL-OPTIONS}\and\not\boolean{TEX4HT-HACKS}}
-{
-    \note We're not sure whether \t{kdebuild-1} will end up in the final version of this
-    specification. For now, it's included but can easily be hidden using a switch in the master
-    \t{pms.tex} file. To make editing easier, we also have a mode that shows the document both with
-    and without the \t{kdebuild-1} stuff enabled. You currently have that mode enabled---
-    \IFKDEBUILDELSE{
-        text only shown when \t{kdebuild-1} is enabled looks like this,
-    }{
-        and text only shown when it is disabled looks like this.
-    }
-}{
-}
-
-Except where explicitly noted, everything in this specification applies to all of the above EAPIs.
+Except where explicitly noted, everything in this specification
+applies to all of the above EAPIs.%
+\footnote{Another inofficial EAPI `kdebuild-1' was a series of
+    extensions to EAPI `1' formerly used by the Gentoo KDE project.
+    Some of its features have been included in EAPI `2' or later.}
 
 \section{Reserved EAPIs}
 
@@ -61,8 +44,6 @@ Except where explicitly noted, everything in this specification applies to all o
     specification.
 \item EAPIs whose value starts with the string \t{paludis-} are reserved for experimental
     use by the Paludis package manager.
-\item EAPIs whose value starts with the string \t{kdebuild-} are reserved for the GenKDEsvn
-    project, and were formerly used by the Gentoo KDE project.
 \end{compactitem}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 30ae534..0bba364 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -180,8 +180,6 @@ variable.
 \end{landscape}
 
 \begin{centertable}{EAPIs supporting various env variables} \label{tab:env-vars-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -192,30 +190,11 @@ variable.
         \midrule
     \t{0} & Yes & Yes & No & No \\
     \t{1} & Yes & Yes & No & No \\
-    \t{kdebuild-1} & Yes & Yes & No & No \\
     \t{2} & Yes & Yes & No & No \\
     \t{3} & Yes & Yes & No & No \\
     \t{4} & No & No & Yes & Yes \\
     \bottomrule
     \end{tabular}
-}
-{
-    \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} \\
-        \midrule
-    \t{0} & Yes & Yes & No & No \\
-    \t{1} & Yes & Yes & No & No \\
-    \t{2} & Yes & Yes & No & No \\
-    \t{3} & Yes & Yes & No & No \\
-    \t{4} & No & No & Yes & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 Except where otherwise noted, all variables set in the active profiles' \t{make.defaults} files must
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 92fbcc0..25944c0 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,8 +45,6 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -54,26 +52,11 @@ fallback to \t{WORKDIR} is used:
         \midrule
     \t{0} & Always \\
     \t{1} & Always \\
-    \t{kdebuild-1} & Always \\
     \t{2} & Always \\
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{pkg\_pretend}
@@ -95,22 +78,6 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -123,7 +90,6 @@ before the next phase is executed.
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \subsection{pkg\_setup}
@@ -166,8 +132,6 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -175,26 +139,11 @@ section~\ref{sec:s-to-workdir-fallback}.
         \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & No \\
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{src\_configure}
@@ -218,8 +167,6 @@ src_configure() {
 \end{verbatim}
 
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -227,26 +174,11 @@ src_configure() {
         \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & No \\
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{src\_compile}
@@ -301,8 +233,6 @@ src_compile() {
 \end{verbatim}
 
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -310,26 +240,11 @@ src_compile() {
         \midrule
     \t{0} & 0 \\
     \t{1} & 1 \\
-    \t{kdebuild-1} & 1 \\
     \t{2} & 2 \\
     \t{3} & 2 \\
     \t{4} & 2 \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{src\_test}
@@ -346,31 +261,6 @@ aborted.
 
 The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}.
 
-\IFKDEBUILDELSE
-{
-    \featurelabel{src-test-required} In some EAPIs, \t{src\_test} should only be run at user option
-    (and never if restrictions are in place). In others, it must always be run (excepting
-    restrictions). See table~\ref{tab:test-required-table} for which EAPIs fit into which category.
-
-    \begin{centertable}{EAPIs requiring \t{src\_test}} \label{tab:test-required-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Requires \t{src\_test}?}} \\
-        \midrule
-    \t{0} & At user option \\
-    \t{1} & At user option \\
-    \t{kdebuild-1} & Required \\
-    \t{2} & At user option \\
-    \t{3} & At user option \\
-    \t{4} & At user option \\
-    \bottomrule
-    \end{tabular}
-
-    \end{centertable}
-}{
-}
-
 \subsection{src\_install}
 \label{sec:src-install-function}
 
@@ -408,22 +298,6 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{kdebuild-1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \bottomrule
-    \end{tabular}
-}{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -436,7 +310,6 @@ is a no-op.
     \t{4} & 4 \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \subsection{pkg\_preinst}
@@ -499,8 +372,6 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -508,26 +379,11 @@ that dependencies may not be installed.
         \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & Yes \\
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{pkg\_nofetch}
@@ -549,8 +405,6 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -558,7 +412,6 @@ when in the phase in question.
             \midrule
     \t{0} & None \\
     \t{1} & None \\
-    \t{kdebuild-1} & None \\
     \t{2} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_test}} \\
     \t{3} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -567,23 +420,6 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test}} \\
-    \t{3} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test}} \\
-    \t{4} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \section{Call Order}
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index ac5c3bc..8f888ac 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -55,8 +55,6 @@ the package manager's behaviour is undefined; ideally, an error in one ebuild sh
 operations upon other ebuilds or packages.
 
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -64,27 +62,11 @@ operations upon other ebuilds or packages.
         \midrule
     \t{0} & No \\
     \t{1} & Yes \\
-    \t{kdebuild-1} & Yes \\
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
-{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \section{Optional Ebuild-defined Variables}
@@ -95,18 +77,9 @@ Ebuilds may define any of the following variables:
 \item[DEPEND] See section~\ref{sec:dependencies}.
 \item[EAPI] The EAPI. See below for defaults.
 \item[PDEPEND] See section~\ref{sec:dependencies}.
-\IFKDEBUILDELSE
-{
-    \item[PROVIDE] \featurelabel{provide} Zero or more qualified package names of any \e{old style}
-        virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax.  In EAPIs
-        listed in table~\ref{tab:provide-table} as not supporting \t{PROVIDE}, ebuilds must not set this
-        variable and the package manager must reject any ebuild that does so.
-        \label{ebuild-var-provide}
-}{
-    \item[PROVIDE] Zero or more qualified package names of any \e{old style}
-        virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax.
-        \label{ebuild-var-provide}
-}
+\item[PROVIDE] Zero or more qualified package names of any \e{old style}
+    virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax.
+    \label{ebuild-var-provide}
 \item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
     details.
@@ -120,29 +93,7 @@ Ebuilds may define any of the following variables:
     etc. Defaults to \t{\$\{WORKDIR\}/\$\{P\}}.
 \end{description}
 
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{EAPIs supporting \t{PROVIDE}} \label{tab:provide-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROVIDE}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{kdebuild-1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}{
-}
-
 \begin{centertable}{EAPIs supporting \t{PROPERTIES}} \label{tab:properties-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -150,27 +101,11 @@ Ebuilds may define any of the following variables:
         \midrule
     \t{0} & Optionally \\
     \t{1} & Optionally \\
-    \t{kdebuild-1} & Optionally \\
     \t{2} & Optionally \\
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
-{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{EAPI}
@@ -184,14 +119,6 @@ before sourcing the ebuild for metadata generation. When using the ebuild for ot
 package manager must either pre-set \t{EAPI} to the value specified by the ebuild's metadata or
 ensure that it is unset.
 
-\IFKDEBUILDELSE
-{
-    \featurelabel{pre-source-eapi} When sourcing an ebuild with file extension \t{kdebuild-1}, the
-    package manager must pre-set the \t{EAPI} variable to \t{kdebuild-1}; leaving it empty is not
-    allowed. Ebuilds with this extension must not modify the \t{EAPI} variable.
-}{
-}
-
 If any of these variables are set to invalid values, the package manager's behaviour is undefined;
 ideally, an error in one ebuild should not prevent operations upon other ebuilds or packages.
 
@@ -207,23 +134,6 @@ any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{R
 the ebuild portion, and any \t{DEPEND} value set in an eclass does not get added to \t{RDEPEND}.
 
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{kdebuild-1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \bottomrule
-    \end{tabular}
-}
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -236,7 +146,6 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get added
     \t{4} & No \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \section{Magic Ebuild-defined Variables}
@@ -269,23 +178,6 @@ variable defined, and must treat an empty string as ``this information is not av
 based upon any variant condition.
 
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{kdebuild-1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
-{
     \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -298,7 +190,6 @@ based upon any variant condition.
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
diff --git a/eclasses.tex b/eclasses.tex
index e55190b..9aeec91 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -39,14 +39,6 @@ when set by an eclass. They must be accumulated across eclasses, appending the v
 eclass to the resulting value after the previous one is loaded. Then the eclass-defined value is
 appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after the
 implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
-\IFKDEBUILDELSE
-{
-    \featurelabel{pdepend-labels} In EAPIs shown in table~\ref{tab:pdepend-labels-table} as
-    supporting \t{PDEPEND} labels, the values of \t{PDEPEND} from the ebuild and each eclass must be
-    wrapped in parentheses, so that the labels only apply within the ebuild/eclass in which they
-    appear.
-}{
-}
 
 \section{EXPORT\_FUNCTIONS}
 
diff --git a/names.tex b/names.tex
index d746095..2ee5089 100644
--- a/names.tex
+++ b/names.tex
@@ -60,38 +60,9 @@ This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre},
 \t{\_rc} or \t{\_p}, which themselves may be suffixed by an optional integer.
 
-\IFKDEBUILDELSE
-{
-    \featurelabel{scm} \label{scm-versions} In ebuilds using EAPIs listed in
-    table~\ref{tab:scm-table} as requiring support for the \t{-scm} suffix, the preceding version
-    syntax may be either replaced or suffixed by a \t{scm} part. If both a ``normal'' version and a
-    \t{scm} part are present, they must be separated by a hyphen.
-}{
-}
-
 This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
 ``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.
 
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{EAPIs requiring \t{scm} support} \label{tab:scm-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Requires \t{scm} support?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & Yes \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}{
-}
-
 \section{Version Comparison}
 
 Version specifications are compared component by component, moving from left to right,
@@ -102,33 +73,14 @@ from which it was invoked.
 
 \begin{algorithm}
 \caption{Version comparison top-level logic} \label{alg:version-comparison}
-\IFKDEBUILDELSE{
-  \begin{algorithmic}[1]
-    \STATE let $A$ and $B$ be the versions to be compared
-    \IF{$A$ and $B$ both begin with \t{scm}}
-      \STATE compare revision components using Algorithm~\ref{alg:version-comparison-revision}
-    \ELSIF{$A$ begins with \t{scm}}
-      \RETURN $A>B$
-    \ELSIF{$B$ begins with \t{scm}}
-      \RETURN $A<B$
-    \ELSE
-      \STATE compare numeric components using Algorithm~\ref{alg:version-comparison-numeric}
-      \STATE compare letter components using Algorithm~\ref{alg:version-comparison-letter}
-      \STATE compare suffixes using Algorithm~\ref{alg:version-comparison-suffix}
-      \STATE compare revision components using Algorithm~\ref{alg:version-comparison-revision}
-    \ENDIF
-    \RETURN $A=B$
-  \end{algorithmic}
-}{
-  \begin{algorithmic}[1]
+\begin{algorithmic}[1]
     \STATE let $A$ and $B$ be the versions to be compared
     \STATE compare numeric components using Algorithm~\ref{alg:version-comparison-numeric}
     \STATE compare letter components using Algorithm~\ref{alg:version-comparison-letter}
     \STATE compare suffixes using Algorithm~\ref{alg:version-comparison-suffix}
     \STATE compare revision components using Algorithm~\ref{alg:version-comparison-revision}
     \RETURN $A=B$
-  \end{algorithmic}
-}
+\end{algorithmic}
 \end{algorithm}
 
 \begin{algorithm}
@@ -146,25 +98,9 @@ from which it was invoked.
     \STATE compare $An_i$ and $Bn_i$ using Algorithm~\ref{alg:version-comparison-numeric-nonfirst}
   \ENDFOR
   \IF{$Ann>Bnn$}
-    \IFKDEBUILDELSE{
-      \IF{$B$ has any suffixes and no letter, and its first suffix is \t{-scm}}
-        \RETURN $A<B$
-      \ELSE
-        \RETURN $A>B$
-      \ENDIF
-    }{
-      \RETURN $A>B$
-    }
+    \RETURN $A>B$
   \ELSIF{$Ann<Bnn$}
-    \IFKDEBUILDELSE{
-      \IF{$A$ has any suffixes and no letter, and its first suffix is \t{-scm}}
-        \RETURN $A>B$
-      \ELSE
-        \RETURN $A<B$
-      \ENDIF
-    }{
-      \RETURN $A<B$
-    }
+    \RETURN $A<B$
   \ENDIF
 \end{algorithmic}
 \end{algorithm}
@@ -193,8 +129,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for letter components} \label{alg:version-comparison-letter}
 \begin{algorithmic}[1]
-  \STATE let $Al$ be the letter component of $A$ if any, \IFKDEBUILDELSE{otherwise \t{zz} if $A$ has any suffixes and its first suffix is \t{-scm}, }{}otherwise the empty string
-  \STATE let $Bl$ be the letter component of $B$ if any, \IFKDEBUILDELSE{otherwise \t{zz} if $B$ has any suffixes and its first suffix is \t{-scm}, }{}otherwise the empty string
+  \STATE let $Al$ be the letter component of $A$ if any, otherwise the empty string
+  \STATE let $Bl$ be the letter component of $B$ if any, otherwise the empty string
   \IF{$Al>Bl$ using ASCII stringwise comparison}
     \RETURN $A>B$
   \ELSIF{$Al<Bl$ using ASCII stringwise comparison}
@@ -213,13 +149,13 @@ from which it was invoked.
     \STATE compare $As_i$ and $Bs_i$ using Algorithm~\ref{alg:version-comparison-suffix-each}
   \ENDFOR
   \IF{$Asn>Bsn$}
-    \IF{$As_{Bsn}$ is of type \t{\_p} \IFKDEBUILDELSE{or \t{-scm}}{}}
+    \IF{$As_{Bsn}$ is of type \t{\_p}}
       \RETURN $A>B$
     \ELSE
       \RETURN $A<B$
     \ENDIF
   \ELSIF{$Asn<Bsn$}
-    \IF{$Bs_{Asn}$ is of type \t{\_p} \IFKDEBUILDELSE{or \t{-scm}}{}}
+    \IF{$Bs_{Asn}$ is of type \t{\_p}}
       \RETURN $A<B$
     \ELSE
       \RETURN $A>B$
@@ -232,14 +168,14 @@ from which it was invoked.
 \caption{Version comparison logic for each suffix} \label{alg:version-comparison-suffix-each}
 \begin{algorithmic}[1]
   \IF{$As_i$ and $Bs_i$ are of the same type (\t{\_alpha} vs \t{\_beta} etc)}
-    \STATE let $As'_i$ be the integer part of $As_i$ if any, otherwise \IFKDEBUILDELSE{as specified by Algorithm~\ref{alg:version-comparison-suffix-missingint}}{\t{0}}
-    \STATE let $Bs'_i$ be the integer part of $Bs_i$ if any, otherwise \IFKDEBUILDELSE{as specified by Algorithm~\ref{alg:version-comparison-suffix-missingint}}{\t{0}}
-    \IF{$As'_i>Bs'_i$, using integer comparison \IFKDEBUILDELSE{and with $\infty$ greater than any integer}{}}
+    \STATE let $As'_i$ be the integer part of $As_i$ if any, otherwise \t{0}
+    \STATE let $Bs'_i$ be the integer part of $Bs_i$ if any, otherwise \t{0}
+    \IF{$As'_i>Bs'_i$, using integer comparison}
       \RETURN $A>B$
-    \ELSIF{$As'_i<Bs'_i$, using integer comparison \IFKDEBUILDELSE{and with $\infty$ greater than any integer}{}}
+    \ELSIF{$As'_i<Bs'_i$, using integer comparison}
       \RETURN $A<B$
     \ENDIF
-  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}\IFKDEBUILDELSE{<\mbox{\t{-scm}}}{}$}
+  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
     \RETURN $A>B$
   \ELSE
     \RETURN $A<B$
@@ -247,22 +183,6 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\IFKDEBUILDELSE
-{
-  \begin{algorithm}
-  \caption{Deciding an unspecified integer part of a suffix component, for comparison purposes} \label{alg:version-comparison-suffix-missingint}
-  \begin{algorithmic}[1]
-    \STATE let $X$ refer to either $A$ or $B$, whichever version contains the suffix under question
-    \IF{$i+1<Xsn$ and $Xs_{i+1}$ is of type \t{-scm}}
-      \STATE let $Xs'_i$ be $\infty$
-    \ELSE
-      \STATE let $Xs'_i$ be \t{0}
-    \ENDIF
-  \end{algorithmic}
-  \end{algorithm}
-}{
-}
-
 \begin{algorithm}
 \caption{Version comparison logic for revision components} \label{alg:version-comparison-revision}
 \begin{algorithmic}[1]
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f694f72..62adb09 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -22,8 +22,6 @@ The following commands affect this behaviour:
 \end{description}
 
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -32,27 +30,11 @@ The following commands affect this behaviour:
             \midrule
     \t{0} & Non-zero exit & No \\
     \t{1} & Non-zero exit & No \\
-    \t{kdebuild-1} & Non-zero exit & No \\
     \t{2} & Non-zero exit & No \\
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsubsection{Banned commands}
@@ -61,29 +43,7 @@ The following commands affect this behaviour:
 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
 called, the package manager must abort the build process indicating an error.
 
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{3}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dohtml}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No & No \\
-    \t{1} & No & No & No \\
-    \t{kdebuild-1} & Yes & Yes & Yes \\
-    \t{2} & No & No & No \\
-    \t{3} & No & No & No \\
-    \t{4} & Yes & No & Yes \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}{
-    \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -99,8 +59,7 @@ called, the package manager must abort the build process indicating an error.
     \t{4} & Yes & Yes \\
     \bottomrule
     \end{tabular}
-    \end{centertable}
-}
+\end{centertable}
 
 \subsubsection{Sandbox commands}
 These commands affect the behaviour of the sandbox. Each command takes a single directory as
@@ -186,8 +145,6 @@ has returned.
     \end{itemize}
 
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
-    \IFKDEBUILDELSE
-    {
         \begin{tabular}{ l l l }
             \toprule
                 \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -195,26 +152,11 @@ has returned.
                 \midrule
         \t{0} & No \\
         \t{1} & No \\
-        \t{kdebuild-1} & No \\
         \t{2} & No \\
         \t{3} & No \\
         \t{4} & Yes \\
         \bottomrule
         \end{tabular}
-    }{
-        \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} \\
-                \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & No \\
-        \t{4} & Yes \\
-        \bottomrule
-        \end{tabular}
-    }
     \end{centertable}
 
     \t{econf} must be implemented internally---that is, as a bash function and not an external
@@ -331,13 +273,6 @@ that can be passed to \t{dohtml} are as follows:
     It is undefined whether a failure shall occur if \t{-r} is not specified and a directory is
     encountered. Ebuilds must not rely upon any particular behaviour.
 
-\IFKDEBUILDELSE
-{
-    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as
-    per section ~\ref{sec:banned-commands}.
-}{
-}
-
 \item[doinfo] Installs a GNU Info file into the \t{/usr/share/info} area with file mode \t{0644}.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
@@ -402,19 +337,9 @@ that can be passed to \t{dohtml} are as follows:
 
 \item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}.
 
-\IFKDEBUILDELSE
-{
-    \item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first.
-
-        \featurelabel{dosym-dodir} If the directory containing the new link does not exist, creates
-        it if EAPI is listed in table~\ref{tab:dosym-table} as making the directory, or aborts the
-        build process otherwise.  Failure behaviour is EAPI dependent as per
-        section~\ref{sec:failure-behaviour}.
-}{
-    \item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first. If
-        the directory containing the new link does not exist, creates it. Failure behaviour is EAPI
-        dependent as per section~\ref{sec:failure-behaviour}.
-}
+\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first. If
+    the directory containing the new link does not exist, creates it. Failure behaviour is EAPI
+    dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[fowners] Acts as for \t{chown}, but takes paths relative to the image directory. Failure
     behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -453,22 +378,6 @@ that can be passed to \t{dohtml} are as follows:
 \end{description}
 
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -481,12 +390,9 @@ that can be passed to \t{dohtml} are as follows:
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -494,31 +400,14 @@ that can be passed to \t{dohtml} are as follows:
             \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & No \\
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \begin{centertable}{EAPIs supporting \t{doman} languages} \label{tab:doman-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -526,48 +415,13 @@ that can be passed to \t{dohtml} are as follows:
             \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & No \\
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doman} languages?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
-\IFKDEBUILDELSE
-{
-    \begin{centertable}{EAPIs where \t{dosym} makes the directory} \label{tab:dosym-table}
-    \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{dosym} makes the directory?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{kdebuild-1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-    \end{centertable}
-}{
-}
-
 \subsubsection{Commands affecting install destinations}
 The following commands are used to set the various destination trees, all relative to \t{\$\{D\}},
 used by the above installation commands. They must be shell functions or aliases, due to the need to
@@ -647,8 +501,6 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -657,27 +509,11 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
             \midrule
     \t{0} & No & No \\
     \t{1} & No & No \\
-    \t{kdebuild-1} & No & No \\
     \t{2} & No & No \\
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsubsection{Use List Functions}
@@ -705,22 +541,6 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
 \end{description}
 
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{kdebuild-1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \bottomrule
-    \end{tabular}
-}{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -733,7 +553,6 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{4} & Error \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \subsubsection{Text List Functions}
@@ -800,22 +619,6 @@ has returned.
     being in the system set or via dependencies.
 
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -828,7 +631,6 @@ has returned.
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
@@ -841,22 +643,6 @@ has returned.
 \end{description}
 
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
-\IFKDEBUILDELSE
-{
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{kdebuild-1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}{
     \begin{tabular}{ l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -869,7 +655,6 @@ has returned.
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}
 \end{centertable}
 
 \subsubsection{Debug Commands}
diff --git a/pms.cls b/pms.cls
index 48381e8..085e29c 100644
--- a/pms.cls
+++ b/pms.cls
@@ -91,38 +91,6 @@
 \renewcommand{\b}[1]{\textbf{#1}}
 \newcommand{\note}[1]{\paragraph{Note:} #1}
 
-\definecolor{deepblue}{rgb}{0.0, 0.2, 0.7}
-\definecolor{deeppurple}{rgb}{0.7, 0.0, 0.8}
-
-\newboolean{ENABLE-ALL-OPTIONS}
-\newboolean{ENABLE-KDEBUILD}
-
-% Enable the below option if you'd like to see both sides of KDEBUILD
-% conditionals shown in different colours. Disable it to either fully
-% enable or fully disable KDEBUILD.  Not compatible with HTML output.
-\setboolean{ENABLE-ALL-OPTIONS}{false}
-
-% Enable the below if you'd like to see KDEBUILD things.
-\setboolean{ENABLE-KDEBUILD}{false}
-
-\ifthenelse{\boolean{ENABLE-ALL-OPTIONS}\and\not\boolean{TEX4HT-HACKS}}
-{
-    \newcommand{\IFKDEBUILDELSE}[2]{{\def\mycolour{\color{deepblue}}\mycolour #1}{\def\mycolour{\color{deeppurple}}\mycolour #2}}
-    \newcommand{\IFANYKDEBUILDELSE}[2]{#1}
-    \newcommand{\IFKDEBUILDCOLOUR}[1]{{\def\mycolour{\color{deepblue}}\mycolour #1}}
-}{
-    \ifthenelse{\boolean{ENABLE-KDEBUILD}}
-    {
-        \newcommand{\IFKDEBUILDELSE}[2]{#1}
-        \newcommand{\IFANYKDEBUILDELSE}[2]{#1}
-        \newcommand{\IFKDEBUILDCOLOUR}[1]{#1}
-    }{
-        \newcommand{\IFKDEBUILDELSE}[2]{#2}
-        \newcommand{\IFANYKDEBUILDELSE}[2]{#2}
-        \newcommand{\IFKDEBUILDCOLOUR}[1]{#1}
-    }
-}
-
 % Because we are lazy, we define a table environment to fullfil our
 % needs
 \newenvironment{centertable}[1]%
diff --git a/profile-variables.tex b/profile-variables.tex
index fa93225..8533b71 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,8 +34,6 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
-\IFKDEBUILDELSE
-{
     \begin{tabular}{ l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
@@ -43,26 +41,11 @@ completely override those in parent profiles.
         \midrule
     \t{0} & No \\
     \t{1} & No \\
-    \t{kdebuild-1} & No \\
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
     \bottomrule
     \end{tabular}
-}{
-    \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \bottomrule
-    \end{tabular}
-}
 \end{centertable}
 
 \subsection{Specific variables and their meanings}
diff --git a/tree-layout.tex b/tree-layout.tex
index e15d047..b78fde2 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -62,13 +62,7 @@ Any ebuild in a package directory must be named \t{name-ver.suffix}, where:
 \begin{compactitem}
 \item \t{name} is the (unqualified) package name.
 \item \t{ver} is the package's version.
-\IFKDEBUILDELSE
-{
-    \item \label{file-extension} \featurelabel{file-extension} \t{suffix} is \t{ebuild} or
-    \t{kdebuild-1}.
-}{
-    \item \label{file-extension} \t{suffix} is \t{ebuild}.
-}
+\item \label{file-extension} \t{suffix} is \t{ebuild}.
 \end{compactitem}
 
 Package managers must ignore any ebuild file that does not match these rules.
-- 
1.6.6

Replies:
Re: Re: kdebuild-1 conditionals
-- Ciaran McCreesh
Re: Re: kdebuild-1 conditionals
-- Christian Faulhammer
References:
kdebuild-1 conditionals
-- Christian Faulhammer
Re: kdebuild-1 conditionals
-- Ulrich Mueller
Re: kdebuild-1 conditionals
-- Christian Faulhammer
Re: kdebuild-1 conditionals
-- Ulrich Mueller
Re: Re: kdebuild-1 conditionals
-- Christian Faulhammer
Navigation:
Lists: gentoo-pms: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: Re: kdebuild-1 conditionals
Next by thread:
Re: Re: kdebuild-1 conditionals
Previous by date:
Re: Re: kdebuild-1 conditionals
Next by date:
Re: Bash features


Updated Jul 18, 2012

Summary: Archive of the gentoo-pms mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.