69 lines
1.5 KiB
Python
69 lines
1.5 KiB
Python
import os
|
|
import platform
|
|
import sys
|
|
import tomllib
|
|
|
|
block_cipher = None
|
|
|
|
machine = platform.machine().lower()
|
|
binaries = []
|
|
if sys.platform.startswith("linux"):
|
|
if machine in ("x86_64", "amd64"):
|
|
libdir = "/usr/lib/x86_64-linux-gnu"
|
|
elif machine in ("aarch64", "arm64"):
|
|
libdir = "/usr/lib/aarch64-linux-gnu"
|
|
else:
|
|
libdir = "/usr/lib"
|
|
binaries = []
|
|
elif sys.platform == "darwin":
|
|
binaries = []
|
|
elif sys.platform.startswith("win"):
|
|
# Windows DLLs
|
|
binaries = []
|
|
|
|
with open("./uv.lock", "rb") as f:
|
|
lock = tomllib.load(f)
|
|
|
|
hidden = [
|
|
*{pkg["name"] for pkg in lock.get("package", [])},
|
|
"aiohttp",
|
|
"socketio",
|
|
"engineio",
|
|
"engineio.async_drivers.aiohttp",
|
|
"socketio.async_drivers.aiohttp",
|
|
"app"
|
|
]
|
|
|
|
hidden = [f.replace("-", "_") for f in hidden]
|
|
|
|
a = Analysis( # noqa: F821 # type: ignore
|
|
["app/native.py"],
|
|
pathex=[os.getcwd()],
|
|
binaries=binaries,
|
|
datas=[
|
|
("ui/exported", "ui/exported"),
|
|
("app/", "app/"),
|
|
],
|
|
hiddenimports=hidden,
|
|
hookspath=[],
|
|
runtime_hooks=[],
|
|
excludes=[],
|
|
cipher=block_cipher,
|
|
)
|
|
|
|
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) # type: ignore # noqa: F821
|
|
|
|
exe = EXE( # type: ignore # noqa: F821
|
|
pyz,
|
|
a.scripts,
|
|
a.binaries,
|
|
a.zipfiles,
|
|
a.datas,
|
|
name="YTPTube",
|
|
debug=False,
|
|
strip=False,
|
|
upx=True,
|
|
console=False, # Turn on to True if you want a console window for debugging.
|
|
icon="ui/public/favicon.ico",
|
|
onefile=True,
|
|
)
|