mirror of
https://github.com/Alex313031/thorium.git
synced 2025-01-09 11:27:32 -03:00
95 lines
2.5 KiB
Python
95 lines
2.5 KiB
Python
|
# Copyright (c) 2024 Alex313031 and gz83.
|
||
|
|
||
|
"""
|
||
|
This file is the equivalent of version.sh in the parent folder, but for native
|
||
|
builds on Windows, we do not need to deal with the vs artifacts hash and linux
|
||
|
sysroot. At the same time, download only the PGO file for win64.
|
||
|
"""
|
||
|
|
||
|
import os
|
||
|
import shutil
|
||
|
import subprocess
|
||
|
import sys
|
||
|
|
||
|
|
||
|
def fail(msg):
|
||
|
# Print error message and exit
|
||
|
print(f"{sys.argv[0]}: {msg}", file=sys.stderr)
|
||
|
sys.exit(111)
|
||
|
|
||
|
|
||
|
def try_run(command):
|
||
|
# Execute a command and die on failure
|
||
|
try:
|
||
|
subprocess.run(command, shell=True, check=True)
|
||
|
except subprocess.CalledProcessError:
|
||
|
fail(f"Failed {command}")
|
||
|
|
||
|
|
||
|
def copy(src, dst):
|
||
|
# Copy a file and print verbose output like cp -v
|
||
|
try:
|
||
|
print(f"Copying {src} to {dst}")
|
||
|
shutil.copy(src, dst)
|
||
|
except FileNotFoundError as e:
|
||
|
fail(f"File copy failed: {e}")
|
||
|
|
||
|
|
||
|
# --help
|
||
|
def display_help():
|
||
|
print(f"\nScript to check out Chromium tag of current Thorium version.\n")
|
||
|
print(f"\nNOTE: You may need to run trunk.py before using this script\n")
|
||
|
|
||
|
if '--help' in sys.argv:
|
||
|
display_help()
|
||
|
sys.exit(0)
|
||
|
|
||
|
|
||
|
# Set chromium/src dir from Windows environment variable
|
||
|
cr_src_dir = os.getenv('CR_DIR', r'C:/src/chromium/src')
|
||
|
# Set Thorium dir from Windows environment variable
|
||
|
thor_src_dir = os.path.expandvars(os.getenv('THOR_DIR', r'%USERPROFILE%/thorium'))
|
||
|
|
||
|
|
||
|
# Set thor_ver
|
||
|
thor_ver = "128.0.6613.194"
|
||
|
|
||
|
|
||
|
print(f"\nCurrent Thorium version is: {thor_ver}\n")
|
||
|
print(f"\nNOTE: Checking out tags/{thor_ver} in {cr_src_dir}\n")
|
||
|
|
||
|
# Change directory to cr_src_dir and run commands
|
||
|
os.chdir(cr_src_dir)
|
||
|
|
||
|
try_run(f'git checkout -f tags/{thor_ver}')
|
||
|
|
||
|
# Copy files using shutil
|
||
|
copy(
|
||
|
os.path.normpath(os.path.join(thor_src_dir, 'thorium-libjxl/src/DEPS')),
|
||
|
os.path.normpath(os.path.join(cr_src_dir, 'DEPS'))
|
||
|
)
|
||
|
copy(
|
||
|
os.path.normpath(os.path.join(thor_src_dir, 'thorium-libjxl/src/.gitmodules')),
|
||
|
os.path.normpath(os.path.join(cr_src_dir, '.gitmodules'))
|
||
|
)
|
||
|
copy(
|
||
|
os.path.normpath(os.path.join(thor_src_dir, 'thorium-libjxl/src/third_party/.gitignore')),
|
||
|
os.path.normpath(os.path.join(cr_src_dir, 'third_party/.gitignore'))
|
||
|
)
|
||
|
|
||
|
# Commands to run
|
||
|
commands = [
|
||
|
'git clean -ffd',
|
||
|
'git clean -ffd',
|
||
|
'gclient sync --with_branch_heads --with_tags -f -R -D',
|
||
|
'gclient runhooks',
|
||
|
]
|
||
|
|
||
|
# Run each command with error handling
|
||
|
for cmd in commands:
|
||
|
try_run(cmd)
|
||
|
|
||
|
print(f"\nChromium tree is checked out at tag: {thor_ver}\n")
|
||
|
|
||
|
print("\nDone! You can now run setup.py\n")
|