web-dev-qa-db-ja.com

nixで壊れたHaskellパッケージをオーバーライドするにはどうすればよいですか?

私はNixOSを使用していますが、Haskellプロジェクト用にNix Haskell環境をセットアップしようとしています。私は このHaskellパッケージnix-Shellを介して動作させようとしているNixで書かれていますが、依存するHaskellパッケージClay このバグで説明されているようにビルドされません開いたばかりのレポート 。このパッケージを、機能するこのHaskellパッケージの別の(古いまたは新しい、問題ではないと思います)バージョンでオーバーライドするにはどうすればよいですか?

3
Jonathan

完全に関連しているわけではありませんが、ビルドに失敗した既存のパッケージを変更する必要がありました。私は結局:

nixpkgs.config.packageOverrides = pkgs: {
    haskellPackages = pkgs.haskellPackages.override {
      overrides = hsSelf: hsSuper: {
        greenclip  = pkgs.haskell.lib.overrideCabal hsSuper.greenclip  (oa: {
          version = "3.1.1";
          sha256 = "1axh1q7kcvcnhn4rl704i4gcix5yn5v0sb3bdgjk4vgkd7fv8chw";
          executablePkgconfigDepends = oa.executablePkgconfigDepends ++ [pkgs.xorg.libXdmcp];
        });

        wordexp  = pkgs.haskell.lib.overrideCabal hsSuper.wordexp  (oa: {
          version = "0.2.2";
          sha256 = "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4";
        });
      };
    };
  };

上記は私のconfiguration.nixに行きました

1