2024-06-05 15:53:02 +00:00
|
|
|
{
|
|
|
|
buildPythonPackage,
|
|
|
|
fetchFromGitHub,
|
|
|
|
sudachidict,
|
|
|
|
setuptools,
|
|
|
|
sudachipy,
|
2024-01-02 11:29:13 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "sudachidict-${sudachidict.dict-type}";
|
|
|
|
inherit (sudachidict) version meta;
|
|
|
|
pyproject = true;
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "WorksApplications";
|
|
|
|
repo = "SudachiDict";
|
|
|
|
rev = "refs/tags/v${version}";
|
|
|
|
hash = "sha256-xJ/iPywOZA2kzHaVU43Bc8TUboj3OpDg1kLFMIc/T90=";
|
|
|
|
};
|
|
|
|
|
2024-04-21 15:54:59 +00:00
|
|
|
sourceRoot = "${src.name}/python";
|
2024-01-02 11:29:13 +00:00
|
|
|
|
|
|
|
# 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}
|
|
|
|
'';
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
nativeBuildInputs = [ setuptools ];
|
2024-01-02 11:29:13 +00:00
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
propagatedBuildInputs = [ sudachipy ];
|
2024-01-25 14:12:00 +00:00
|
|
|
|
2024-01-02 11:29:13 +00:00
|
|
|
# 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
|
|
|
|
'';
|
|
|
|
}
|