1{ lib
2, stdenv
3, cargo
4, fetchPypi
5, buildPythonPackage
6, isPy3k
7, rustPlatform
8, rustc
9, setuptools-rust
10, libiconv
11}:
12
13buildPythonPackage rec {
14 pname = "spacy-alignments";
15 version = "0.9.0";
16
17 disabled = !isPy3k;
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-jcNYghWR9Xbu97/hAYe8ewa5oMQ4ofNGFwY4cY7/EmM=";
22 };
23
24 cargoDeps = rustPlatform.fetchCargoTarball {
25 inherit src;
26 name = "${pname}-${version}";
27 hash = "sha256-I5uI+qFyb4/ArpUZi4yS/E/bmwoW7+CalMq02Gnm9S8=";
28 };
29
30 nativeBuildInputs = [
31 setuptools-rust
32 rustPlatform.cargoSetupHook
33 cargo
34 rustc
35 ];
36
37 buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
38
39 # Fails because spacy_alignments module cannot be loaded correctly.
40 doCheck = false;
41
42 pythonImportsCheck = [ "spacy_alignments" ];
43
44 meta = with lib; {
45 description = "Align tokenizations for spaCy and transformers";
46 homepage = "https://github.com/explosion/spacy-alignments";
47 license = licenses.mit;
48 maintainers = with maintainers; [ ];
49 };
50}