Add Windows ZIP build

This commit is contained in:
Stephen Horvath
2025-09-18 15:03:30 +10:00
parent c1205c7661
commit ba78392b24
4 changed files with 62 additions and 25 deletions

View File

@@ -1,11 +1,15 @@
# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_data_files
import os
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--onefile", action="store_true")
options = parser.parse_args()
datas = [('LpcCrOSEC.bin', '.')] if os.name == 'nt' and os.path.exists('LpcCrOSEC.bin') else []
datas += collect_data_files('yafi')
a = Analysis(
['entrypoint.py'],
pathex=[],
@@ -20,25 +24,35 @@ a = Analysis(
optimize=2,
)
pyz = PYZ(a.pure)
splash = Splash(
'splash.png',
binaries=a.binaries,
datas=a.datas,
text_pos=(4, 480),
# Text doesn't scale on Linux, but does on Windows
text_size=12 if os.name == 'nt' else 6,
minify_script=True,
always_on_top=True,
if options.onefile:
splash = Splash(
'splash.png',
binaries=a.binaries,
datas=a.datas,
text_pos=(4, 480),
# Text doesn't scale on Linux, but does on Windows
text_size=12 if os.name == 'nt' else 6,
minify_script=True,
always_on_top=True,
)
exe_args = (
[
a.scripts,
a.binaries,
a.datas,
splash,
splash.binaries,
]
if options.onefile
else [a.scripts]
)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
splash,
splash.binaries,
[],
*exe_args,
exclude_binaries=not options.onefile,
name='YAFI',
debug=False,
bootloader_ignore_signals=False,
@@ -54,3 +68,14 @@ exe = EXE(
entitlements_file=None,
icon=['yafi.ico'],
)
if not options.onefile:
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='YAFI',
)