存在哪些包管理器可以将开发版本(git head)编译和安装为可配置的安装前缀?
即通过输入命令,我希望能够:
- 更新到我正在安装的软件的最新开发版本(使用http直接下载、Git、Mercurial或任何其他SCM)
configure
使用传递给CMake 的“正确选项”启动编译- 将软件安装在特定的安装前缀中
- 以适当的方式更新环境变量(即修改
PATH
或LD_LIBRARY_PATH
等)
基本上,它可以归结为一个独立于发行版的工具,其行为就像emerge
来自 Gentoo 或pacman
/yaourt
来自 Arch 的特定软件子集(安装在单独的、可定制的安装前缀中)。
到目前为止我知道:
还有其他类似的工具吗?
答案1
按照要求。既然你提到你想要一些像emerge
Gentoo 的实用程序一样的行为,你可以使用Gentoo 前缀为了这。
Gentoo 前缀是一种在另一个操作系统中运行的沙盒 Gentoo。您甚至可以获得实际的emerge
命令。前缀安装到特定目录(例如/home/john/gentoo
),然后从安装路径(例如/home/john/gentoo/usr/bin/vim
)运行二进制文件。
Prefix 维护它自己的完整环境,其中包含所需的所有库。这是因为依赖性跟踪。例如,如果您安装 vim,prefix 需要知道 vim 所需的所有库都存在。 vim 确实可以使用主机操作系统中的库,但由于它们是由单独的包管理器维护的,因此 prefix 不知道它们。
答案2
看一眼易建。它针对 HPC 领域,但可能会满足您的需求。