可能有人知道为什么
$ nix-shell \
-I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz \
-p "haskellPackages.ghcWithPackages (p: [p.compose-ltr])" \
--run ghci
失败
Configuring compose-ltr-0.2.3...
Setup: Encountered missing dependencies:
QuickCheck ==2.8.1, hspec ==2.2.0
builder for ‘/nix/store/pvmm9qcp9xpj5hw77nbfyfj4wxs49jl8-compose-ltr-0.2.3.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/41znxh9qi408n9j63fqvixrlkaasrgkx-ghc-8.0.1-with-packages.drv’: 1 dependencies couldn't be built
(为分离和强调添加了空行)
我问,因为据我所知,我并没有要求nix
构建/运行compose-ltr
的单元测试,所以为什么它关心{{1} }和QuickCheck
?
是的,提到了QuickCheck和hspec in the .cabal
file, but only for test-suite spec
and not library
。
此外,我可以通过
解决这个问题hspec
命令中进一步指定了一些内容,nix-shell
文件.cabal
或compose-ltr
个文件添加到.nix
?我不会说我对compose-ltr
有很多经验,所以欢迎详细回复。
答案 0 :(得分:3)
替换
p.compose-ltr
与
(haskell.lib.dontCheck p.compose-ltr)
禁用此程序包的测试。总的来说,这应该包括在https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/haskell-modules/configuration-common.nix中(我认为GitHub上的公关会受到欢迎)