-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy pathvoice2json.spec.in
62 lines (55 loc) · 1.51 KB
/
voice2json.spec.in
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
# -*- mode: python -*-
import os
import site
from pathlib import Path
from PyInstaller.utils.hooks import copy_metadata
block_cipher = None
prefix = Path("@prefix@")
site_dirs = site.getsitepackages()
lib_dir = prefix / "lib"
for lib_python_dir in lib_dir.glob("python*"):
site_dir = lib_python_dir / "site-packages"
if site_dir.is_dir():
site_dirs.append(site_dir)
# Look for compiled artifacts
artifacts = ["_webrtcvad.*.so"]
found_artifacts = {}
for site_dir in site_dirs:
site_dir = Path(site_dir)
for artifact in artifacts:
artifact_paths = list(site_dir.glob(artifact))
if artifact_paths:
found_artifacts[artifact] = artifact_paths[0]
continue
missing_artifacts = set(artifacts) - set(found_artifacts)
assert not missing_artifacts, missing_artifacts
a = Analysis(
[Path.cwd() / "__main__.py"],
pathex=["."],
binaries=[(p, ".") for p in found_artifacts.values()],
datas=copy_metadata("webrtcvad"),
hiddenimports=["networkx"],
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="voice2json",
debug=False,
bootloader_ignore_signals=False,
strip=True,
upx=True,
console=True,
)
coll = COLLECT(
exe, a.binaries, a.zipfiles, a.datas, strip=True, upx=True, name="voice2json"
)