私はNixを使用して制限されたリソースを使用する共有ホスティングの私の家の下にパッケージをインストールしています(したがってバイナリパッケージはありません)。 git-annexをインストールしようとしています。依存関係の1つであるhaskell-lensをビルドすると、単体テストは大量のメモリを消費し、そのテストが終了し、インストールが失敗します。
パッケージをインストールするために単体テストをスキップする方法はありますか? Cabal Builderを見てみると、falseに設定してテストを無効にhaskell-packages.nix
できるようです。enableCheckPhase
以下を試しましたが、~/.nixpkgs/config.nix
テストはまだ実行中です。
{
packageOverrides = pkgs: with pkgs; {
# ...other customizations...
haskellPackages = haskellPackages.override {
extension = self : super : {
self.lens = self.disableTest self.lens;
};
};
};
}
ベストアンサー1
nixpkgs
承認された回答が公開されてから状況が再構成され、テストを無効にする新機能があります。これでpkgs.haskell.lib.dontCheck
、テストを無効にする機能でHaskellパッケージをラップできます。以下は、shared-memory
OS Xでビルドするときに依存関係テストを無効にする必要があるHaskellプロジェクトの1つのNix式の例です。
{ pkgs ? import <nixpkgs> {}, compiler ? "ghc7103" }:
pkgs.haskell.packages.${compiler}.callPackage ./my-project.nix
{ shared-memory =
let shared-memory = pkgs.haskell.packages.${compiler}.shared-memory;
in if pkgs.stdenv.isDarwin
then pkgs.haskell.lib.dontCheck shared-memory
else shared-memory;
}