mirror of https://github.com/Chizi123/Arch-autobuild-repo.git

Joel Grunbaum
yesterday b7cd53c75bf46cf7e7d35e36a415722bdb432b08
scripts/build_binary.py
@@ -1,11 +1,12 @@
#!/usr/bin/env python3
"""
Script to build a standalone executable for archbuild using PyInstaller.
Script to build a standalone executable for archrepobuild using PyInstaller.
"""
import subprocess
import sys
import os
import shutil
from pathlib import Path
def build():
@@ -23,17 +24,23 @@
    src = root / "src"
    
    # Create a temporary entry script
    entry_script = root / "archbuild_entry.py"
    entry_script.write_text("from archbuild.cli import main\nif __name__ == '__main__':\n    main()\n")
    entry_script = root / "archrepobuild_entry.py"
    entry_script.write_text("from archrepobuild.cli import main\nif __name__ == '__main__':\n    main()\n")
    # PyInstaller command
    cmd = [
        "pyinstaller",
    pyinstaller_exe = shutil.which("pyinstaller")
    if pyinstaller_exe:
        cmd = [pyinstaller_exe]
    else:
        cmd = [sys.executable, "-m", "PyInstaller"]
    cmd += [
        "--onefile",
        "--name", "archbuild-bin",
        "--name", "archrepobuild",
        "--paths", str(src),
        "--clean",
        "--collect-all", "archbuild",
        "--collect-all", "archrepobuild",
        "--collect-all", "rich",
        str(entry_script)
    ]
    
@@ -41,7 +48,7 @@
    try:
        result = subprocess.run(cmd, cwd=root)
        if result.returncode == 0:
            print("\nSuccessfully built executable: dist/archbuild-bin")
            print("\nSuccessfully built executable: dist/archrepobuild")
        else:
            print("\nBuild failed!")
            sys.exit(result.returncode)