2025-07-03 15:54:10 +02:00

67 lines
1.4 KiB
Nix

{
lib,
python,
buildPythonPackage,
fetchFromGitHub,
fetchzip,
setuptools,
setuptools-scm,
cython,
cmake,
numpy,
oldest-supported-numpy,
tqdm,
}:
let
dic-dirname = "open_jtalk_dic_utf_8-1.11";
dic-src = fetchzip {
url = "https://github.com/r9y9/open_jtalk/releases/download/v1.11.1/${dic-dirname}.tar.gz";
hash = "sha256-+6cHKujNEzmJbpN9Uan6kZKsPdwxRRzT3ZazDnCNi3s=";
};
in
buildPythonPackage {
pname = "pyopenjtalk";
version = "0-unstable-2025-04-23";
pyproject = true;
# needed because setuptools-scm doesn't like the 0-unstable format
env.SETUPTOOLS_SCM_PRETEND_VERSION = "0.0.1";
src = fetchFromGitHub {
owner = "VOICEVOX";
repo = "pyopenjtalk";
rev = "74703b034dd90a1f199f49bb70bf3b66b1728a86";
hash = "sha256-UUUYoVEqENKux5N7ucbjcnrZ2+ewwxwP8S0WksaJEAQ=";
fetchSubmodules = true;
};
build-system = [
setuptools
setuptools-scm
cython
cmake
numpy
oldest-supported-numpy
];
dontUseCmakeConfigure = true;
dependencies = [
numpy
tqdm
];
postInstall = ''
ln -s ${dic-src} $out/${python.sitePackages}/pyopenjtalk/${dic-dirname}
'';
meta = {
description = "VOICEVOX's fork of the pyopenjtalk text-to-speech library";
homepage = "https://github.com/VOICEVOX/pyopenjtalk";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tomasajt ];
};
}