-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathrhasspyasr_kaldi_hermes.spec
74 lines (65 loc) · 1.72 KB
/
rhasspyasr_kaldi_hermes.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# -*- mode: python -*-
import os
import site
from pathlib import Path
from PyInstaller.utils.hooks import copy_metadata
block_cipher = None
# Need to specially handle these snowflakes
webrtcvad_path = None
site_dirs = site.getsitepackages()
# Add explicit site packages
rhasspy_site_packages = os.environ.get("RHASSPY_SITE_PACKAGES")
if rhasspy_site_packages:
site_dirs = [rhasspy_site_packages] + site_dirs
# Add virtual environment site packages
venv_path = os.environ.get("VIRTUAL_ENV")
if venv_path:
venv_lib = Path(venv_path) / "lib"
for venv_python_dir in venv_lib.glob("python*"):
venv_site_dir = venv_python_dir / "site-packages"
if venv_site_dir.is_dir():
site_dirs.append(venv_site_dir)
# Look for compiled artifacts
for site_dir in site_dirs:
site_dir = Path(site_dir)
webrtcvad_paths = list(site_dir.glob("_webrtcvad.*.so"))
if webrtcvad_paths:
webrtcvad_path = webrtcvad_paths[0]
break
assert webrtcvad_path, "Missing webrtcvad"
a = Analysis(
[Path.cwd() / "__main__.py"],
pathex=["."],
binaries=[(webrtcvad_path, ".")],
datas=copy_metadata("webrtcvad"),
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name="rhasspyasr_kaldi_hermes",
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name="rhasspyasr_kaldi_hermes",
)