diff --git a/pkgs/development/python-modules/fugashi/default.nix b/pkgs/development/python-modules/fugashi/default.nix new file mode 100644 index 000000000000..6a8c1ac9db2d --- /dev/null +++ b/pkgs/development/python-modules/fugashi/default.nix @@ -0,0 +1,52 @@ +{ lib +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +, buildPythonPackage +, cython +, mecab +, setuptools-scm +, ipadic +, unidic +, unidic-lite +}: + +buildPythonPackage rec { + pname = "fugashi"; + version = "1.2.1"; + format = "setuptools"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "polm"; + repo = "fugashi"; + rev = "refs/tags/v${version}"; + hash = "sha256-VDqRhJiNDbKFE284EAUS0d5T9cl8kgyHjh+r/HjjDY8="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ cython mecab setuptools-scm ]; + + nativeCheckInputs = [ ipadic pytestCheckHook ] + ++ passthru.optional-dependencies.unidic-lite; + + passthru.optional-dependencies = { + unidic-lite = [ unidic-lite ]; + unidic = [ unidic ]; + }; + + preCheck = '' + cd fugashi + ''; + + pythonImportsCheck = [ "fugashi" ]; + + meta = with lib; { + description = "A Cython MeCab wrapper for fast, pythonic Japanese tokenization and morphological analysis"; + homepage = "https://github.com/polm/fugashi"; + changelog = "https://github.com/polm/fugashi/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ laurent-f1z1 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bf13d29482ae..bb1fe75ef82f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3866,6 +3866,8 @@ self: super: with self; { ftputil = callPackage ../development/python-modules/ftputil { }; + fugashi = callPackage ../development/python-modules/fugashi { }; + func-timeout = callPackage ../development/python-modules/func-timeout { }; funcparserlib = callPackage ../development/python-modules/funcparserlib { };