如何找到构建 macos/darwin 二进制缓存的 nixpkgs 修订版?
How to find nixpkgs revision where macos/darwin binary cache is built?
我想将 nixpkgs 固定到一个非常新的修订版,比如 Haskell LTS-12.9 或其他版本。我想为 MacOS (Darwin) 构建使用 nix-build。
问题是大多数 Haskell 包没有二进制缓存,构建需要很长时间才能完成(在 MacOS 上)。
我如何找到 "optimal" nixpkgs 修订版,该修订版足够新以包含我需要的软件版本,但又足够旧以供 Linux 和 MacOS 使用二进制缓存?
您可以找到 nixpkgs 的缓存版本 right here on the HowOldIs app.
您可能希望使用 nixpkgs-18.09-darwin
或 nixpkgs-unstable
的修订版。
然后您可以像这样获取 nixpkgs
builtins.fetchGit {
name = "nixpkgs";
url = "https://github.com/nixos/nixpkgs.git";
rev = "6ec64973bc3a48b0c54d11c782e8b88b550a8eab";
ref = "release-18.09";
})
当修订不在默认分支下时,ref
属性是必需的 - 通常是 master
。
注释in the Nix manual描述如下:
Note: It is nice to always specify the branch which a revision belongs to. Without the branch being specified, the fetcher might fail if the default branch changes. Additionally, it can be confusing to try a commit from a non-default branch and see the fetch fail. If the branch is specified the fault is much more obvious.
我想这种行为是受 Git 协议中的变通方法的启发,如果我没记错的话,你只能指定用于获取的引用,但不能指定任意提交。
我想将 nixpkgs 固定到一个非常新的修订版,比如 Haskell LTS-12.9 或其他版本。我想为 MacOS (Darwin) 构建使用 nix-build。
问题是大多数 Haskell 包没有二进制缓存,构建需要很长时间才能完成(在 MacOS 上)。
我如何找到 "optimal" nixpkgs 修订版,该修订版足够新以包含我需要的软件版本,但又足够旧以供 Linux 和 MacOS 使用二进制缓存?
您可以找到 nixpkgs 的缓存版本 right here on the HowOldIs app.
您可能希望使用 nixpkgs-18.09-darwin
或 nixpkgs-unstable
的修订版。
然后您可以像这样获取 nixpkgs
builtins.fetchGit {
name = "nixpkgs";
url = "https://github.com/nixos/nixpkgs.git";
rev = "6ec64973bc3a48b0c54d11c782e8b88b550a8eab";
ref = "release-18.09";
})
当修订不在默认分支下时,ref
属性是必需的 - 通常是 master
。
注释in the Nix manual描述如下:
Note: It is nice to always specify the branch which a revision belongs to. Without the branch being specified, the fetcher might fail if the default branch changes. Additionally, it can be confusing to try a commit from a non-default branch and see the fetch fail. If the branch is specified the fault is much more obvious.
我想这种行为是受 Git 协议中的变通方法的启发,如果我没记错的话,你只能指定用于获取的引用,但不能指定任意提交。