fix(pyinstaller): update platform-specific settings and optimize EXE configuration

This commit is contained in:
benexl
2025-12-31 15:02:29 +03:00
parent 9d72a50916
commit b9766af11a

View File

@@ -1,8 +1,13 @@
# -*- mode: python ; coding: utf-8 -*-
import sys
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
block_cipher = None
# Platform-specific settings
is_windows = sys.platform == 'win32'
is_macos = sys.platform == 'darwin'
# Collect all required data files
datas = [
('../viu_media/assets', 'viu_media/assets'),
@@ -13,10 +18,7 @@ datas = [
hiddenimports = [
'click',
'rich',
'requests',
'yt_dlp',
'python_mpv',
'fuzzywuzzy',
'viu_media',
'viu_media.cli.interactive.menu',
'viu_media.cli.interactive.menu.media',
@@ -38,7 +40,7 @@ hiddenimports = [
] + collect_submodules('viu_media')
a = Analysis(
['../viu_media/viu.py'], # Changed entry point
['../viu_media/viu.py'],
pathex=[],
binaries=[],
datas=datas,
@@ -50,16 +52,18 @@ a = Analysis(
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
strip=True, # Strip debug information
optimize=2 # Optimize bytecode noarchive=False
noarchive=False,
)
pyz = PYZ(
a.pure,
a.zipped_data,
optimize=2 # Optimize bytecode cipher=block_cipher
cipher=block_cipher,
)
# Icon path - only use .ico on Windows
icon_path = '../viu_media/assets/icons/logo.ico' if is_windows else None
exe = EXE(
pyz,
a.scripts,
@@ -70,7 +74,7 @@ exe = EXE(
name='viu',
debug=False,
bootloader_ignore_signals=False,
strip=True,
strip=not is_windows, # strip doesn't work well on Windows without proper tools
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
@@ -79,5 +83,5 @@ exe = EXE(
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='../viu_media/assets/icons/logo.ico'
icon=icon_path,
)