summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/sudachidict/default.nix
blob: e949603b53796c8799b5320e078318bad5a379f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
  buildPythonPackage,
  fetchFromGitHub,
  sudachidict,
  setuptools,
  sudachipy,
}:

buildPythonPackage rec {
  pname = "sudachidict-${sudachidict.dict-type}";
  inherit (sudachidict) version meta;
  pyproject = true;

  src = fetchFromGitHub {
    owner = "WorksApplications";
    repo = "SudachiDict";
    tag = "v${version}";
    hash = "sha256-twmQWz8MWYBE2QtowiqPrmjudOgFfk7MjjujYG8ykcY=";
  };

  sourceRoot = "${src.name}/python";

  # setup script tries to get data from the network but we use the nixpkgs' one
  postPatch = ''
    substituteInPlace setup.py \
      --replace 'ZIP_NAME = urlparse(ZIP_URL).path.split("/")[-1]' "" \
      --replace "not os.path.exists(RESOURCE_DIR)" "False"
    substituteInPlace INFO.json \
      --replace "%%VERSION%%" ${version} \
      --replace "%%DICT_VERSION%%" ${version} \
      --replace "%%DICT_TYPE%%" ${sudachidict.dict-type}
  '';

  build-system = [ setuptools ];

  dependencies = [ sudachipy ];

  # we need to prepare some files before the build
  # https://github.com/WorksApplications/SudachiDict/blob/develop/package_python.sh
  preBuild = ''
    install -Dm644 ${sudachidict}/share/system.dic -t sudachidict_${sudachidict.dict-type}/resources
    touch sudachidict_${sudachidict.dict-type}/__init__.py
  '';
}