RUBY-NG.ECLASS

章节: eclass-manpages (5)
更新: 2024 年 11 月
索引 返回主内容

名称

ruby-ng.eclass - 用于安装 Ruby 软件包并提供对多个 Ruby 版本槽的支持的 eclass。

描述

Ruby eclass 旨在简化 Ruby 软件包的安装并将其集成到 Gentoo Linux 系统中。

当前可用的目标列在 ruby-utils.eclass 中

此 eclass 未定义配置、编译、测试或安装阶段的实现。相反,使用默认阶段。这些阶段的具体实现可以在 ebuild 中提供,以便为每个 Ruby 实现或所有 Ruby 实现运行,如下所示


 * each_ruby_configure
 * all_ruby_configure

支持的 EAPIS

7 8

函数

ruby_implementation_depend 目标 [比较符 [版本]]
此函数返回 Ruby 实现的正式软件包原子。

`目标' 必须是 USE_RUBY 的有效值之一(见上文)

设置 `比较符' 和 `版本' 以将比较符(=、>= 等)和版本字符串包含到返回的字符串中

返回值:将在依赖项中使用的 Ruby 实现的软件包原子。

ruby_samelib
便利函数,用于输出依赖项的使用依赖项部分。用作 ruby_add_rdepend() 和 ruby_add_bdepend() 的构建块,但也可能在 ebuild 中用于指定更复杂的依赖项。

返回值:带有当前 Ruby 实现的 use 标志字符串

ruby_implementation_command
并非所有实现都具有与目标相同的命令基名;此函数在两者之间进行转换

返回值:给定 Ruby 实现的路径

ruby_add_rdepend 依赖项
添加指定的依赖项,并使用条件添加到 RDEPEND,同时考虑当前的 Ruby 目标集。这确保了软件包的所有 Ruby 依赖项都为相同的 Ruby 目标安装。对于所有 Ruby 依赖项,请使用此函数,而不是自行设置 RDEPEND。原子列表使用与普通依赖项相同的语法。

注意:运行时依赖项也作为构建时测试依赖项添加。

ruby_add_bdepend 依赖项
添加指定的依赖项,并使用条件添加到 BDEPEND,同时考虑当前的 Ruby 目标集。这确保了软件包的所有 Ruby 依赖项都为相同的 Ruby 目标安装。对于所有 Ruby 依赖项,请使用此函数,而不是自行设置 DEPEND 或 BDEPEND。原子列表使用与普通依赖项相同的语法。
ruby_add_depend 依赖项
将指定的依赖项添加到 DEPEND,类似于 ruby_add_bdepend。
ruby_get_use_implementations
获取用户启用的 Ruby use 目标数组
ruby_get_use_targets
获取 ebuild 设置的 Ruby use 目标数组
ruby_implementations_depend
生成软件包正在针对其构建的各种 Ruby 实现的依赖项字符串。当 RUBY_OPTIONAL 未设置时,不应使用此函数,但如果 RUBY_OPTIONAL=yes,则必须使用此函数。不要将此函数与 ruby_implementation_depend() 混淆。

返回值:适合注入 DEPEND 和 RDEPEND 的依赖项。

ruby-ng_pkg_setup
检查是否存在至少一个 Ruby 目标实现。
ruby-ng_src_unpack
解压缩源代码存档。
ruby-ng_src_prepare
为每个 Ruby 目标实现应用补丁并准备版本。还执行常见的清理任务。
ruby-ng_src_configure
配置软件包。
ruby-ng_src_compile
编译软件包。
ruby-ng_src_test
运行软件包的测试。
ruby-ng_src_install
为每个 Ruby 目标实现安装软件包。
ruby_rbconfig_value rbconfig 项目
返回值:返回 ${RUBY} 中的 Ruby 解释器的给定 rbconfig 项目的值。
doruby 文件 [文件...]
将指定的文件安装到 ${RUBY} 中的 Ruby 解释器的 sitelibdir 中。
ruby_get_libruby
返回值:${RUBY} 中的 Ruby 解释器所属的 libruby*.so 的位置。
ruby_get_hdrdir
返回值:${RUBY} 中的 Ruby 解释器所属的头文件的位置。
ruby_get_version
返回值:${RUBY} 中的 Ruby 解释器的版本,或 'ruby' 指向的内容。
ruby_get_implementation
返回值:${RUBY} 中的 Ruby 解释器的实现,或 'ruby' 指向的内容。
ruby-ng_rspec
这只是一个围绕 rspec 命令(由 $RUBY} 执行)的包装器,它也尊重 TEST_VERBOSE 和 NOCOLOR 环境变量。可以选择接受要传递给 rspec 调用的参数。环境变量 RSPEC_VERSION 可用于控制必须执行的特定 rspec 版本。出于历史兼容性,它默认为 2。
ruby-ng_cucumber
这只是一个围绕 cucumber 命令(由 $RUBY} 执行)的包装器,它也尊重 TEST_VERBOSE 和 NOCOLOR 环境变量。
ruby-ng_sus
这只是一个围绕 sus-parallel 命令(由 $RUBY} 执行)的包装器,它也尊重 TEST_VERBOSE 和 NOCOLOR 环境变量。
ruby-ng_testrb-2
这只是 testrb 命令的替代品,它加载测试文件并执行它们,使用 test-unit 2.x。这实际上需要旧的 test-unit-2 版本或 2.5.1-r1 或更高版本,因为它们删除了脚本,并且我们安装了一个损坏的包装器一段时间。这也尊重 TEST_VERBOSE 和 NOCOLOR 环境变量。

ECLASS 变量

USE_RUBY (必填)
此变量包含软件包兼容的目标(见上文)的空格分隔列表。它必须在 `inherit' 调用之前设置。没有默认值。所有 ebuild 都应设置此变量。
RUBY_PATCHES
要应用于所有实现的补丁文件名字符串或数组。
RUBY_OPTIONAL
将值设置为“yes”以使对 Ruby 解释器的依赖成为可选,然后使用 ruby_implementations_depend() 来帮助填充 BDEPEND、DEPEND 和 RDEPEND。
RUBY_S
如果定义,此变量确定解压缩后的源目录名称。默认为软件包的名称。请注意,此变量支持通配符机制,以帮助处理将提交哈希作为目录名称一部分的 github tarball。
RUBY_QA_ALLOWED_LIBS
如果定义,此变量包含即使它们没有链接到 libruby 也允许存在的共享对象的允许列表。这避免了使这成为强制的 QA 检查。如果您收到相关的“缺少链接”QA 警告,这很可能不是您要查找的内容,因为正确的修复方法几乎总是确保共享对象链接到 libruby。在某些情况下并非如此,并且共享对象是将在其他方式中使用的通用代码(例如 selenium 的 firefox 驱动程序扩展)。当设置时,此参数将传递给“grep -E”以删除对这些共享对象的报告。

作者

作者:Diego E. Pettenò <[email protected]>
作者:Alex Legler <[email protected]>
作者:Hans de Graaff <[email protected]>

维护者

Ruby 小组 <[email protected]>

报告 Bug

请通过 https://bugs.gentoo.org/ 报告 Bug

文件

ruby-ng.eclass

另请参见

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/ruby-ng.eclass


索引

名称
描述
支持的 EAPIS
函数
ECLASS 变量
作者
维护者
报告 Bug
文件
另请参见

此文档由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日格林威治标准时间 03:27:00