diff --git a/tools/cache-version.json b/tools/cache-version.json index 11b023725e..7f58754e84 100644 --- a/tools/cache-version.json +++ b/tools/cache-version.json @@ -1,4 +1,4 @@ { - "version": "v1.2.4", + "version": "v1.2.5", "urlPrefix": "https://github.com/MonsterDruide1/OdysseyDecompToolsCache/releases/download" } diff --git a/tools/common b/tools/common index 091099c098..3ee53333dc 160000 --- a/tools/common +++ b/tools/common @@ -1 +1 @@ -Subproject commit 091099c098d111f511ba5432a4a065880fc31c8a +Subproject commit 3ee53333dc5f65c56ddd3f82444262818a60712b diff --git a/tools/nix/artifacts.json b/tools/nix/artifacts.json index 29b3344db4..dc51ba4a95 100644 --- a/tools/nix/artifacts.json +++ b/tools/nix/artifacts.json @@ -1,14 +1,14 @@ { "x86_64-linux": { "filename": "OdysseyDecomp-binaries_x86_64-Linux.tar.xz", - "hash": "sha256-QqhiIn2ERmrzihr8UXqZgoS6Ct+odggVaZ8lGfRagCQ=" + "hash": "sha256-cz12/Ov4hHAdXarJ+SR2eudgT3csKDzpdl186ruBIBs=" }, "aarch64-linux": { "filename": "OdysseyDecomp-binaries_aarch64-Linux.tar.xz", - "hash": "sha256-a24rhpEu8m9USEDwz3EMaPA2ioMNNApa2GpNfbsN/hc=" + "hash": "sha256-8TcySS+j5fhNy25wBK0s6C+ya9/OTmRvNiBQM3ib8WE=" }, "aarch64-darwin": { "filename": "OdysseyDecomp-binaries_arm64-Darwin.tar.xz", - "hash": "sha256-pyhaFNViMrUbrKFNPKnX5j2YoZOVNGzzfSVk7OVoAck=" + "hash": "sha256-a1bX1NKb556W6VdUzHzS/a4g5tnsNAVj2fjAf+RewAU=" } } \ No newline at end of file diff --git a/tools/setup.py b/tools/setup.py index 092b4aec76..beb5d4224b 100755 --- a/tools/setup.py +++ b/tools/setup.py @@ -52,17 +52,10 @@ def prepare_executable(original_nso: Optional[Path]): if nso_hash != COMPRESSED_V10_HASH and nso_hash != UNCOMPRESSED_V10_HASH: setup.fail(f"unknown executable: {nso_hash}") - setup._convert_nso_to_elf(original_nso) + setup._convert_nso_to_elf(original_nso, TARGET_ELF_PATH, TARGET_UNCOMPRESSED_NSO_PATH) - converted_elf_path = original_nso.with_suffix(".elf") - - if not converted_elf_path.is_file(): - setup.fail("internal error while preparing executable (missing ELF) please report") - - shutil.move(converted_elf_path, TARGET_ELF_PATH) - - uncompressed_nso_path = original_nso.with_suffix(".uncompressed.nso") - shutil.move(uncompressed_nso_path, TARGET_UNCOMPRESSED_NSO_PATH) + if not TARGET_ELF_PATH.is_file() or hashlib.sha256(TARGET_ELF_PATH.read_bytes()).hexdigest() != V10_ELF_HASH: + setup.fail("Internal error while exporting ELF (ELF either doesn't exist or has an incorrect hash) please report") if not TARGET_UNCOMPRESSED_NSO_PATH.is_file() or hashlib.sha256(TARGET_UNCOMPRESSED_NSO_PATH.read_bytes()).hexdigest() != UNCOMPRESSED_V10_HASH: setup.fail("Internal error while exporting uncompressed NSO (uncompressed NSO either doesn't exist or has an incorrect hash) please report")