在使用Nix构建Haskell依赖项时,如何避免构建可执行文件?

在使用Nix构建Haskell依赖项时,如何避免构建可执行文件?,haskell,nix,Haskell,Nix,在我的.nix文件中,我有包foo和bar,其中bar取决于foo: let haskellPackages = reflex-platform.ghcjs.override { overrides = self: super: { foo = pkgs.haskell.lib.dontCheck (pkgs.haskell.lib.dontHaddock (self.callCabal2nix "foo" .

在我的
.nix
文件中,我有包
foo
bar
,其中
bar
取决于
foo

let
  haskellPackages = reflex-platform.ghcjs.override {
    overrides = self: super: {
      foo =
        pkgs.haskell.lib.dontCheck
          (pkgs.haskell.lib.dontHaddock
             (self.callCabal2nix "foo" ./foo { }));
      bar = self.callCabal2nix "bar" ./bar { };
    };
  };

in
  haskellPackages.bar
如何禁用
foo
中包含的生成可执行文件?我只想建图书馆

我尝试了
覆盖bal
,但没有成功。这仍然会生成
foo
可执行文件:

let
  haskellPackages = reflex-platform.ghcjs.override {
    overrides = self: super: {
      foo =
        pkgs.haskell.lib.overrideCabal
          (pkgs.haskell.lib.dontCheck
             (pkgs.haskell.lib.dontHaddock
                (self.callCabal2nix "foo" ./foo { })));
          (drv: { isExecutable = false; });
      bar = self.callCabal2nix "bar" ./bar { };
    };
  };

in
  haskellPackages.bar

我可以用GHC而不是GHCJS重现同样的问题。

你找到解决方法了吗?@分号太久了,我不记得了。