【发布时间】:2020-02-11 17:53:15
【问题描述】:
问题。我正在从它的 GitHub repo 构建一个 nix 表达式 godot-haskell
- 具有/需要 git 子模块才能正确编译
- 采用我想使用的可选构建参数
godot-api
如果我手动克隆这个 repo(通过 git clone --recursive 递归),然后
let
# ...
godot-haskell = haskellPackages.callPackage /local/path/to/default.nix { api-json = godot-api; };
# ...
in
# ...
然后一切正常!但如果我尝试在非本地执行此操作:
godot-haskell-nix = "${fetchFromGitHub {
fetchSubmodules = true;
owner = "SimulaVR";
repo = "godot-haskell";
rev = "df592f8e12647ed58d7ba6da4cf40a382d83725e";
sha256 = "05wp8lzj2xqwkif8hw9l4byw0dfm3y3jaccsvjif4izfwycj91r8";
}}/default.nix";
godot-haskell = haskellPackages.callPackage godot-haskell-nix { api-json = godot-api; }; # <- With the `api-json` build argument
然后我得到
error: anonymous function at /nix/store/xnf67r119iazf828ixny8wjyzl01hwsg-source/default.nix:1:1 called with unexpected argument 'api-json', at /nix/store/7knlwgidnagqrckm5h051i4rxjf3l68z-nixpkgs-20.03pre211220.1144ee55385/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix:87:27
(use '--show-trace' to show detailed location information)
问题: 为什么在本地执行时可以正常工作,但使用fetchFromGitHub 时突然失败?如何解决这个错误?
【问题讨论】: