haskell 如何找到构建macos/达尔文二进制缓存的nixpkgs版本?

vlurs2pr  于 2022-12-19  发布在  Mac
关注(0)|答案(1)|浏览(139)

我想把nixpkgs固定到一个相当新的版本上,比如说Haskell LTS-12.9之类的,我想在MacOS(达尔文)构建中使用nix-build。
问题是大多数Haskell包都没有二进制缓存,而且构建需要很长时间才能完成(在MacOS上)。
我如何才能找到“最佳”nixpkgs修订版,它足够新,可以包含我需要的软件版本,但足够旧,可以在Linux和MacOS上使用二进制缓存?

roejwanj

roejwanj1#

您可以在status.nixos.org上找到nixpkgs的构建版本
您可能希望使用nixpkgs-18.09-darwinnixpkgs-unstable的修订版。
然后可以像这样获取nixpkgs

builtins.fetchGit {
  name = "nixpkgs";
  url = "https://github.com/nixos/nixpkgs.git";
  rev = "6ec64973bc3a48b0c54d11c782e8b88b550a8eab";
  ref = "release-18.09";
})

当修订不在默认分支下时,ref属性是必需的,通常为master
Nix手册中的一个注解描述如下:

**注:**最好始终指定修订版本所属的分支。如果未指定分支,则在默认分支更改时提取器可能会失败。此外,尝试从非默认分支提交并看到提取失败可能会令人困惑。如果指定了分支,则错误会明显得多。

我想这种行为是受Git协议中的一个变通方法的启发,如果我没记错的话,你只能指定refs来获取,而不能指定任意提交。

相关问题