-
Notifications
You must be signed in to change notification settings - Fork 2
/
w3modmanager.spec
102 lines (96 loc) · 2.29 KB
/
w3modmanager.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# -*- mode: python -*-
from os import path
from pathlib import Path
from shutil import rmtree
from PyInstaller.building.build_main import COLLECT, EXE, PYZ, Analysis
runtime_hooks = ['./runtime.py'] if path.isfile('./runtime.py') else []
a = Analysis(
['./w3modmanager/__main__.py'],
pathex=['./w3modmanager'],
binaries=[],
datas=[('resources', 'resources')],
hiddenimports=[],
hookspath=[],
runtime_hooks=runtime_hooks,
excludes=[
# ignore unused Qt libraries
'PySide6.QtBluetooth',
'PySide6.QtCharts',
'PySide6.QtDataVisualization',
'PySide6.QtDesigner',
'PySide6.QtLocation',
'PySide6.QtMultimedia',
'PySide6.QtNetwork',
'PySide6.QtOpenGL',
'PySide6.QtOpenGLWidgets',
'PySide6.QtPdf',
'PySide6.QtPdfWidgets',
'PySide6.QtPrintSupport',
'PySide6.QtQml',
'PySide6.QtQuick',
'PySide6.QtQuick3D',
'PySide6.QtQuickControls2',
'PySide6.QtQuickWidgets',
'PySide6.QtSql',
'PySide6.QtTest',
'PySide6.QtTextToSpeech',
'PySide6.QtUiTools',
'PySide6.QtWebChannel',
'PySide6.QtWebEngineCore',
'PySide6.QtWebEngineCore',
'PySide6.QtWebEngineWidgets',
'PySide6.QtWebSockets',
# ignore lib2to3
'lib2to3'
],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=None,
noarchive=False
)
pyz = PYZ(
a.pure,
a.zipped_data,
cipher=None
)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='w3modmanager',
debug=False,
bootloader_ignore_signals=False,
strip=True,
upx=False,
console=False,
icon='./resources/icons/w3b.ico'
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=False,
upx_exclude=[],
name='w3modmanager'
)
# remove unused files from the distribution
remove = [
'Qt6Network.dll',
'Qt6OpenGL.dll',
'Qt6Pdf.dll',
'Qt6Qml.dll',
'Qt6QmlModels.dll',
'Qt6Quick.dll',
'Qt6VirtualKeyboard.dll',
'translations'
]
dist = Path(coll.name)
for filename in remove:
target = dist.joinpath('PySide6').joinpath(filename)
if target.is_file():
target.unlink()
if target.is_dir():
rmtree(target)