65 lines
1.7 KiB
Nix
65 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
replaceVars,
|
|
buildPythonPackage,
|
|
fetchPypi,
|
|
fetchpatch2,
|
|
joblib,
|
|
segments,
|
|
attrs,
|
|
dlinfo,
|
|
typing-extensions,
|
|
espeak-ng,
|
|
setuptools,
|
|
pytest,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "phonemizer";
|
|
version = "3.3.0";
|
|
pyproject = true;
|
|
|
|
build-system = [ setuptools ];
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-Xgw4Ei7/4LMxok5nSv8laHTs4WnXCpzxEgM3tW+OPQw=";
|
|
};
|
|
|
|
patches = [
|
|
(replaceVars ./backend-paths.patch {
|
|
libespeak = "${lib.getLib espeak-ng}/lib/libespeak-ng${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
# FIXME package festival
|
|
})
|
|
# This patch is needed for python3Packages.misaki. See https://github.com/thewh1teagle/espeakng-loader?tab=readme-ov-file#usage-with-phonemizer
|
|
# and https://github.com/bootphon/phonemizer/pull/191.
|
|
(fetchpatch2 {
|
|
name = "pr191-add-option-to-use-custom-espeak-data-path.patch";
|
|
url = "https://github.com/bootphon/phonemizer/commit/cc1db4bfaf688fdfb8275fd83d218f06411455e6.patch?full_index=1";
|
|
hash = "sha256-PMeX7A9BBVLS3Sk/Lum85GpJzKXM5tULTWSURq3MD8E=";
|
|
})
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
joblib
|
|
segments
|
|
attrs
|
|
dlinfo
|
|
typing-extensions
|
|
];
|
|
|
|
# We tried to package festival, but were unable to get the backend running,
|
|
# so let's disable related tests.
|
|
doCheck = false;
|
|
|
|
meta = {
|
|
homepage = "https://github.com/bootphon/phonemizer";
|
|
changelog = "https://github.com/bootphon/phonemizer/blob/v${version}/CHANGELOG.md";
|
|
description = "Simple text to phones converter for multiple languages";
|
|
mainProgram = "phonemize";
|
|
license = lib.licenses.gpl3Plus;
|
|
maintainers = with lib.maintainers; [ bot-wxt1221 ];
|
|
};
|
|
}
|