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
索引
此文档由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日格林威治标准时间 03:27:00