【发布时间】:2019-03-20 23:43:12
【问题描述】:
我们目前正在调查 Nix 是否可以成为我们打包构建软件所需的第三方库和工具的合适工具。免责声明:我刚刚了解了 Nix,但仍在尝试将所有部分放在一起。
我们的产品需要 ABI 兼容 CentOS5 系统。这就是为什么我们在 CentOS5 Docker 容器中构建我们的软件,使用自定义构建的 GCC,以及许多其他第三方工具和库,它们都是从源代码构建的。
目前,我们有一个大的 Makefile 来构建所有这些依赖项,并使用 CI 作业来构建依赖项。每当其中一个依赖项发生变化,或者对 Makefile 进行一些更改时,我们都会重新构建所有依赖项,这需要很长时间。
我们没有改进 Makefile,而是寻找更容易维护的更简单的解决方案。我认为 Nix 可能能够通过将 Makefile 转换为具有每个派生指定的正确依赖项的单独派生来帮助我们处理这个问题。 Nix 是否适合这个用例?我看到的主要问题是 Nix 使用现代 glibc 库作为基础派生,我们不能依赖它。我们是否需要构建一个自定义的 glibc 版本,或者我们能否以某种方式依赖安装在主机系统(CentOS5 系统)上的 glibc?
【问题讨论】:
标签: nix