GUILE-SINGLE.ECLASS
章节: eclass-manpages (5)更新: 2024 年 11 月
索引 返回主内容
名称
guile-single.eclass - 用于针对单个 Guile 构建的软件包的实用程序。描述
此 eclass 帮助软件包针对单个 Guile 版本构建,通常是使用 Guile 进行扩展的软件包,例如 GNU Make,或者用 Guile 编写的程序,例如 Haunt。受 Gentoo Python 生态系统中先前工作的影响。
这些软件包应使用 guile_gen_cond_dep 生成其 Guile 软件包依赖项的依赖项字符串(即其他 Guile 单实现和多实现软件包)。它们还应利用 GUILE_DEPS 和 GUILE_REQUIRED_USE 指定对其 Guile 版本的依赖项。
它们还应该在 src_prepare 期间通过 guile_bump_sources 升级源代码,并在 src_install 期间通过 guile_unstrip_ccache 取消 ccache 的剥离。
如果 eclass 的用户需要 Guile 本身的一些 USE 标记,则应通过 GUILE_REQ_USE 提供。
此 eclass 提供了 guile-single_pkg_setup,它设置了 Guile 和使用它的构建系统所需的环境变量。有关更多详细信息,请参阅该函数的文档。
支持的 EAPIS
8传递提供的 ECLASSES
guile-utils示例
一个 Guile 程序
# Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 GUILE_COMPAT=( 2-2 3-0 ) inherit guile-single DESCRIPTION="Haunt is a simple, functional, hackable static site generator" HOMEPAGE="https://dthompson.us/projects/haunt.html" SRC_URI="https://files.dthompson.us/releases/${PN}/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" REQUIRED_USE="${GUILE_REQUIRED_USE}" RDEPEND=" ${GUILE_DEPS} $(guile_gen_cond_dep ' dev-scheme/guile-reader[${GUILE_MULTI_USEDEP}] dev-scheme/guile-commonmark[${GUILE_MULTI_USEDEP}] ') " DEPEND="${RDEPEND}"
一个利用 Guile 进行扩展的程序(GNU make,省略了无关的部分)
GUILE_COMPAT=( 1-8 2-0 2-2 3-0 ) inherit flag-o-matic unpacker verify-sig guile-single # ... REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )" DEPEND=" guile? ( ${GUILE_DEPS} ) " src_prepare() { # ... if use guile; then guile-single_src_prepare fi } pkg_setup() { if use guile; then guile-single_pkg_setup fi } src_configure() { # ... local myeconfargs=( $(use_with guile) ) econf "${myeconfargs[@]}" } src_install() { # ... if use guile; then guile_unstrip_ccache fi }
函数
- guile_gen_cond_dep <dependency> [<pattern>...]
- 采用一个字符串,该字符串使用 (quoted) ${GUILE_SINGLE_USEDEP} 和 ${GUILE_MULTI_USEDEP} 标记作为每个兼容插槽的正确 USE 依赖项字符串的占位符。
如果提供了模式,则将其视为要为其生成依赖项字符串的插槽列表,否则,将采用 ${GUILE_COMPAT[@]}。
- guile-single_pkg_setup
- 使用适当的 GUILE_SINGLE_TARGET 设置 PKG_CONFIG_PATH,并设置 guile-config 以及 GUILE、GUILD 和 GUILESNARF 环境变量。还将 GUILE_EFFECTIVE_VERSION 设置为与 GUILE_SELECTED_TARGET 相同的值,因为构建系统有时会检查该变量。
有关后三者的详细信息,请参阅 guile_export。
- guile-single_src_prepare
- 运行默认的准备阶段,然后通过 guile_bump_sources 升级 Guile 源代码。
- guile-single_src_install
- 运行默认的安装阶段,然后使用 guile_unstrip_ccache 标记 ccache 文件不应被剥离。
ECLASS 变量
- GUILE_COMPAT (必需) (在继承之前设置)
- 可接受的 Guile 版本列表。例如,像下面这样设置此变量将允许软件包针对 Guile 2.2 或 3.0 构建
GUILE_COMPAT=( 2-2 3-0 )
请保持升序排列。
作者
作者: Arsen Arsenović <[email protected]>维护者
Gentoo Scheme 项目 <[email protected]>报告 Bug
请通过 https://bugs.gentoo.org/ 报告 Bug。文件
guile-single.eclass另请参阅
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/guile-single.eclass
索引
此文档由 man2html 使用手册页创建。
时间: 2024 年 11 月 12 日格林威治标准时间 03:27:01