mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-03 02:33:15 +00:00
Merge pull request #103714 from mweinelt/python/phonemizer
python3Packages.phonemizer: init at 2.2.1
This commit is contained in:
commit
3e5039cbd5
@ -0,0 +1,29 @@
|
|||||||
|
diff --git a/phonemizer/backend/espeak.py b/phonemizer/backend/espeak.py
|
||||||
|
index 387c11c..ceb5e7e 100644
|
||||||
|
--- a/phonemizer/backend/espeak.py
|
||||||
|
+++ b/phonemizer/backend/espeak.py
|
||||||
|
@@ -81,10 +81,7 @@ class BaseEspeakBackend(BaseBackend):
|
||||||
|
if _ESPEAK_DEFAULT_PATH:
|
||||||
|
return _ESPEAK_DEFAULT_PATH
|
||||||
|
|
||||||
|
- espeak = distutils.spawn.find_executable('espeak-ng')
|
||||||
|
- if not espeak: # pragma: nocover
|
||||||
|
- espeak = distutils.spawn.find_executable('espeak')
|
||||||
|
- return espeak
|
||||||
|
+ return "@espeak@"
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def is_available(cls):
|
||||||
|
diff --git a/phonemizer/backend/festival.py b/phonemizer/backend/festival.py
|
||||||
|
index b5bc56d..0833160 100644
|
||||||
|
--- a/phonemizer/backend/festival.py
|
||||||
|
+++ b/phonemizer/backend/festival.py
|
||||||
|
@@ -78,7 +78,7 @@ class FestivalBackend(BaseBackend):
|
||||||
|
if _FESTIVAL_DEFAULT_PATH:
|
||||||
|
return _FESTIVAL_DEFAULT_PATH
|
||||||
|
|
||||||
|
- return distutils.spawn.find_executable('festival')
|
||||||
|
+ return "@festival@"
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def is_available(cls):
|
73
pkgs/development/python-modules/phonemizer/default.nix
Normal file
73
pkgs/development/python-modules/phonemizer/default.nix
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{ lib
|
||||||
|
, substituteAll
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchPypi
|
||||||
|
, python3Packages
|
||||||
|
, pkgs
|
||||||
|
, joblib
|
||||||
|
, segments
|
||||||
|
, attrs
|
||||||
|
, espeak-ng
|
||||||
|
, pytestCheckHook
|
||||||
|
, pytestrunner
|
||||||
|
, pytestcov
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "phonemizer";
|
||||||
|
version = "2.2.1";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "127n4f10zxq60qd8xvlc1amji4wbghqb90rfp25rzdk716kvgwab";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i -e '/\'pytest-runner\'/d setup.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./backend-paths.patch;
|
||||||
|
espeak = "${lib.getBin espeak-ng}/bin/espeak";
|
||||||
|
# override festival path should you try to integrate it
|
||||||
|
festival = "";
|
||||||
|
})
|
||||||
|
./remove-intertwined-festival-test.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
joblib
|
||||||
|
segments
|
||||||
|
attrs
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
pytestcov
|
||||||
|
];
|
||||||
|
|
||||||
|
# We tried to package festvial, but were unable to get the backend running,
|
||||||
|
# so let's disable related tests.
|
||||||
|
pytestFlagsArray = [
|
||||||
|
"--ignore=test/test_festival.py"
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
"test_festival"
|
||||||
|
"test_relative"
|
||||||
|
"test_absolute"
|
||||||
|
"test_readme_festival_syll"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/bootphon/phonemizer";
|
||||||
|
description = "Simple text to phones converter for multiple languages";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ hexa ];
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
diff --git a/test/test_main.py b/test/test_main.py
|
||||||
|
index 71d605a..d137cd7 100644
|
||||||
|
--- a/test/test_main.py
|
||||||
|
+++ b/test/test_main.py
|
||||||
|
@@ -63,7 +63,6 @@ def test_readme():
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ')
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ', '--verbose')
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ', '--quiet')
|
||||||
|
- _test(u'hello world', u'hhaxlow werld', '-b festival --strip')
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ', '-l en-us')
|
||||||
|
_test(u'bonjour le monde', u'bɔ̃ʒuʁ lə mɔ̃d ', '-l fr-fr')
|
||||||
|
_test(u'bonjour le monde', u'b ɔ̃ ʒ u ʁ ;eword l ə ;eword m ɔ̃ d ;eword ',
|
@ -0,0 +1,22 @@
|
|||||||
|
diff --git a/test/test_main.py b/test/test_main.py
|
||||||
|
index 71d605a..0ea3c74 100644
|
||||||
|
--- a/test/test_main.py
|
||||||
|
+++ b/test/test_main.py
|
||||||
|
@@ -63,17 +63,12 @@ def test_readme():
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ')
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ', '--verbose')
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ', '--quiet')
|
||||||
|
- _test(u'hello world', u'hhaxlow werld', '-b festival --strip')
|
||||||
|
_test(u'hello world', u'həloʊ wɜːld ', '-l en-us')
|
||||||
|
_test(u'bonjour le monde', u'bɔ̃ʒuʁ lə mɔ̃d ', '-l fr-fr')
|
||||||
|
_test(u'bonjour le monde', u'b ɔ̃ ʒ u ʁ ;eword l ə ;eword m ɔ̃ d ;eword ',
|
||||||
|
'-l fr-fr -p " " -w ";eword "')
|
||||||
|
|
||||||
|
|
||||||
|
-@pytest.mark.skipif(
|
||||||
|
- '2.1' in backend.FestivalBackend.version(),
|
||||||
|
- reason='festival-2.1 gives different results than further versions '
|
||||||
|
- 'for syllable boundaries')
|
||||||
|
def test_readme_festival_syll():
|
||||||
|
_test(u'hello world',
|
||||||
|
u'hh ax ;esyll l ow ;esyll ;eword w er l d ;esyll ;eword ',
|
@ -5290,6 +5290,8 @@ in {
|
|||||||
|
|
||||||
pyomo = callPackage ../development/python-modules/pyomo { };
|
pyomo = callPackage ../development/python-modules/pyomo { };
|
||||||
|
|
||||||
|
phonemizer = callPackage ../development/python-modules/phonemizer { };
|
||||||
|
|
||||||
pyopencl = callPackage ../development/python-modules/pyopencl { };
|
pyopencl = callPackage ../development/python-modules/pyopencl { };
|
||||||
|
|
||||||
pyopengl = callPackage ../development/python-modules/pyopengl { };
|
pyopengl = callPackage ../development/python-modules/pyopengl { };
|
||||||
|
Loading…
Reference in New Issue
Block a user