使用 eclasses
Eclass 是一个函数或功能的集合(库),在软件包之间共享。请参阅 Eclass 编写指南,了解有关 eclasses 功能、工作原理和编写方法的完整信息,以及 Eclass 参考,获取有关各种常用 eclasses 的文档。本节仅解释如何使用已编写的 eclass。
inherit
inherit要使用 eclass,必须对其进行“继承”。这通过 inheritebuild.shinherit
在使用 inheritmultilib-minimal.eclass
继承 eclass 后,可以使用其提供的函数。以下是一个使用三个 eclasses 的示例 ebuild,foomatic-0.1-r2.ebuild
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools bash-completion-r1 flag-o-matic
DESCRIPTION="Tool for foo"
HOMEPAGE="https://foomatic.sf.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha ~amd64 ~x86 ~x64-macos"
RDEPEND="sys-libs/ncurses:0=
	>=sys-libs/readline:0="
DEPEND="${RDEPEND}"
src_prepare() {
	eapply "${FILESDIR}/${P}-gentoo.patch"
	eapply_user
	eautoreconf
}
src_configure() {
	econf --sysconfdir="${EPREFIX}"/etc/devtodo
}
src_compile() {
	replace-flags -O? -O1
	default
}
src_install() {
	default
	dobashcomp "${FILESDIR}/${PN}.bash-completion" ${PN}
}
请注意,标题后立即使用 inherit
需要 autotoolseautoreconfflag-o-maticreplace-flagsbash-completion-r1dobashcomp