nostalgia/util/scripts/pkg-gba.py
Gary Talent 8c6b2234ec
All checks were successful
Build / build (push) Successful in 1m14s
[olympic/util] Make pkg-gba script check return code of subprocesses
2025-05-05 23:11:37 -05:00

44 lines
1.2 KiB
Python
Executable File

#! /usr/bin/env python3
#
# Copyright 2016 - 2023 gary@drinkingtea.net
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
import platform
import shutil
import subprocess
import sys
os = platform.system().lower()
arch = platform.machine()
host_env = f'{os}-{arch}'
def run(args: list[str]):
if subprocess.run(args).returncode != 0:
sys.exit(1)
# get current build type
with open(".current_build", "r") as f:
current_build = f.readlines()[0]
if current_build[len(current_build) - 1] == '\n':
current_build = current_build[:len(current_build) - 1]
project_dir = sys.argv[1]
project_name = sys.argv[2]
bin = f'./build/{host_env}-{current_build}/bin/'
project_bin = f'build/gba-release/bin/{project_name}.bin'
project_gba = f'{project_name}.gba'
project_manifest = f'{project_name.lower()}-manifest.json'
shutil.copyfile(project_bin, project_gba)
run([
f'{bin}/{project_name.lower()}-pack',
'-src', project_dir,
'-rom-bin', project_gba,
'-manifest', project_manifest])
run(['gbafix', project_gba])