mirror of
https://github.com/zeldaret/ph
synced 2026-06-14 06:13:56 -04:00
Install dsd in setup.py
This commit is contained in:
@@ -7,3 +7,5 @@ ph_*/
|
||||
*.sav
|
||||
*.xMAP
|
||||
objdiff.json
|
||||
/dsd
|
||||
/dsd.exe
|
||||
|
||||
+27
-4
@@ -2,21 +2,43 @@ import requests
|
||||
import zipfile
|
||||
import io
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import shutil
|
||||
import platform
|
||||
|
||||
DSD_VERSION = 'v0.1.0'
|
||||
|
||||
|
||||
tools_path = Path(__file__).parent
|
||||
deps_path = tools_path / 'deps'
|
||||
if not deps_path.exists(): deps_path.mkdir()
|
||||
root_path = tools_path.parent
|
||||
|
||||
|
||||
exe_extension = ''
|
||||
match platform.system():
|
||||
case 'Windows': system = 'windows'; exe_extension = '.exe'
|
||||
case 'Linux': system = 'linux'
|
||||
case system:
|
||||
print(f'Unknown system "{system}"')
|
||||
exit(1)
|
||||
match platform.machine().lower():
|
||||
case 'amd64' | 'x86_64': machine = 'x86_64'
|
||||
case machine:
|
||||
print(f'Unknown machine: {machine}')
|
||||
exit(1)
|
||||
|
||||
|
||||
print('\nInstalling dsd...')
|
||||
response = requests.get(f'https://github.com/AetiasHax/ds-decomp/releases/download/{DSD_VERSION}/dsd-{system}-{machine}{exe_extension}')
|
||||
with open(root_path / f'dsd{exe_extension}', 'wb') as f:
|
||||
f.write(response.content)
|
||||
|
||||
|
||||
print('\nInstalling toolchain...')
|
||||
response = requests.get('http://decomp.aetias.com/mwccarm.zip')
|
||||
zip_file = zipfile.ZipFile(io.BytesIO(response.content))
|
||||
zip_file.extractall(tools_path)
|
||||
|
||||
print('\nPatching...')
|
||||
subprocess.run([sys.executable, 'patch_mwcc.py', 'mwccarm/2.0/sp1p5/mwasmarm.exe'], cwd=tools_path)
|
||||
|
||||
print('\nInstalling ELFIO...')
|
||||
response = requests.get('https://github.com/serge1/ELFIO/releases/download/Release_3.12/elfio-3.12.zip')
|
||||
@@ -26,3 +48,4 @@ elfio_path = deps_path / 'elfio-3.12'
|
||||
elfio_new_path = deps_path / 'elfio'
|
||||
if elfio_new_path.exists(): shutil.rmtree(elfio_new_path)
|
||||
elfio_path.rename(elfio_new_path)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user