nixpkgs/pkgs/development/python-modules/sentencepiece/default.nix
Daniël de Kok 27d0c5a07e sentencepiece: split into multiple outputs, optional gperftools
I am using sentencepiece in a downstream application where I want to
minimize the resulting closures. This commit makes changes to make
sentencepiece a leaner dependency:

- Split the outputs, so that the binaries/headers do not end up in the
  transitive closure in a library dependency.

- Add the `withGPerfTools` option, which is enabled by default, to
  make it possible to disable the gperftools dependency. According to
  the sentencepiece README, this dependency gives a 10-40% performance
  improvement. But in many cases this is overshadowed by the neural
  networks that use piece identifiers as input anyway.
2020-03-14 15:40:29 -07:00

18 lines
380 B
Nix

{ buildPythonPackage
, stdenv
, sentencepiece
, pkgconfig
}:
buildPythonPackage rec {
pname = "sentencepiece";
inherit (sentencepiece) version src;
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ sentencepiece.dev ];
sourceRoot = "source/python";
# sentencepiece installs 'bin' output.
meta = builtins.removeAttrs sentencepiece.meta [ "outputsToInstall" ];
}