|
From: <sv...@op...> - 2025-12-01 09:20:55
|
Author: manx Date: Mon Dec 1 10:20:42 2025 New Revision: 24542 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=24542 Log: [Imp] build: Add OpenMPT ARM64 legacy builds, like libopenmpt. [Mod] OpenMPT: Version is now 1.33.00.16 Modified: trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py trunk/OpenMPT/build/build_openmpt_release.cmd trunk/OpenMPT/common/versionNumber.h trunk/OpenMPT/installer/generate_update_json.py trunk/OpenMPT/installer/install-multi-arch.iss Modified: trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py ============================================================================== --- trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py Sun Nov 30 15:59:26 2025 (r24541) +++ trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py Mon Dec 1 10:20:42 2025 (r24542) @@ -72,6 +72,7 @@ openmpt_zip_amd64_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-amd64-legacy/" openmpt_zip_arm_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-arm-legacy/" openmpt_zip_arm64_basepath = "installer/OpenMPT-" + openmpt_version + "-arm64/" +openmpt_zip_arm64_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-arm64-legacy/" openmpt_zip_arm64ec_basepath = "installer/OpenMPT-" + openmpt_version + "-arm64ec/" openmpt_zip_symbols_basepath = "installer/OpenMPT-" + openmpt_version + "-symbols/" openmpt_zip_x86_path = openmpt_zip_x86_basepath @@ -80,6 +81,7 @@ openmpt_zip_amd64_legacy_path = openmpt_zip_amd64_legacy_basepath openmpt_zip_arm_legacy_path = openmpt_zip_arm_legacy_basepath openmpt_zip_arm64_path = openmpt_zip_arm64_basepath +openmpt_zip_arm64_legacy_path = openmpt_zip_arm64_legacy_basepath openmpt_zip_arm64ec_path = openmpt_zip_arm64ec_basepath openmpt_zip_symbols_path = openmpt_zip_symbols_basepath @@ -145,6 +147,8 @@ remove_file("installer/" + openmpt_version_name + "-portable-arm-legacy.update.json") remove_file("installer/" + openmpt_version_name + "-portable-arm64.zip") remove_file("installer/" + openmpt_version_name + "-portable-arm64.update.json") +remove_file("installer/" + openmpt_version_name + "-portable-arm64-legacy.zip") +remove_file("installer/" + openmpt_version_name + "-portable-arm64-legacy.update.json") remove_file("installer/" + openmpt_version_name + "-portable-arm64ec.zip") remove_file("installer/" + openmpt_version_name + "-portable-arm64ec.update.json") remove_file("installer/" + openmpt_version_name + "-symbols.7z") @@ -155,6 +159,7 @@ remove_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip.digests") remove_file("installer/" + openmpt_version_name + "-portable-arm-legacy.zip.digests") remove_file("installer/" + openmpt_version_name + "-portable-arm64.zip.digests") +remove_file("installer/" + openmpt_version_name + "-portable-arm64-legacy.zip.digests") remove_file("installer/" + openmpt_version_name + "-portable-arm64ec.zip.digests") remove_file("installer/" + openmpt_version_name + "-symbols.7z.digests") remove_file("installer/" + openmpt_version_name + "-update.json") @@ -167,9 +172,10 @@ raise Exception("Something went wrong during manual creation!") -sourcePathModern = "bin/release/vs2022-win11-static/" -sourcePathLegacyARM = "bin/release/vs2022-win8-static/" -sourcePathLegacy = "bin/release/vs2022-win7-static/" +sourcePathModern = "bin/release/vs2022-win11-static/" +sourcePathLegacyARM64 = "bin/release/vs2022-win10-static/" +sourcePathLegacyARM = "bin/release/vs2022-win8-static/" +sourcePathLegacy = "bin/release/vs2022-win7-static/" signToolCmdLine = ["signtool", "sign", "/fd", "sha256", "/a", "/tr", "http://time.certum.pl", "/td", "sha256"] @@ -245,6 +251,15 @@ copy_pluginbridge(sourcePathModern, "arm64ec", openmpt_zip_arm64_path) Path(openmpt_zip_arm64_path + "OpenMPT.portable").touch() +print("Copying arm64 legacy binaries...") +shutil.rmtree(openmpt_zip_arm64_legacy_basepath, ignore_errors=True) +copy_binaries(sourcePathLegacyARM64 + "arm64/", openmpt_zip_arm64_legacy_path) +copy_pluginbridge(sourcePathLegacy, "x86", openmpt_zip_arm64_legacy_path) +copy_pluginbridge(sourcePathLegacy, "amd64", openmpt_zip_arm64_legacy_path) +copy_pluginbridge(sourcePathLegacyARM, "arm", openmpt_zip_arm64_legacy_path) +copy_pluginbridge(sourcePathLegacyARM64, "arm64", openmpt_zip_arm64_legacy_path) +Path(openmpt_zip_arm64_legacy_path + "OpenMPT.portable").touch() + print("Copying arm64ec binaries...") shutil.rmtree(openmpt_zip_arm64_basepath, ignore_errors=True) copy_binaries(sourcePathModern + "arm64ec/", openmpt_zip_arm64ec_path) @@ -263,6 +278,7 @@ copy_symbols(sourcePathLegacy + "amd64/", openmpt_zip_symbols_path + "amd64-legacy/") copy_symbols(sourcePathLegacyARM + "arm/", openmpt_zip_symbols_path + "arm-legacy/") copy_symbols(sourcePathModern + "arm64/", openmpt_zip_symbols_path + "arm64/") +copy_symbols(sourcePathLegacyARM64 + "arm64/", openmpt_zip_symbols_path + "arm64-legacy/") copy_symbols(sourcePathModern + "arm64ec/", openmpt_zip_symbols_path + "arm64ec/") copy_symbols_pluginbridge(sourcePathModern + "x86/", openmpt_zip_symbols_path + "x86/", "x86") copy_symbols_pluginbridge(sourcePathLegacy + "x86/", openmpt_zip_symbols_path + "x86-legacy/", "x86") @@ -270,6 +286,7 @@ copy_symbols_pluginbridge(sourcePathLegacy + "amd64/", openmpt_zip_symbols_path + "amd64-legacy/", "amd64") copy_symbols_pluginbridge(sourcePathLegacyARM + "arm/", openmpt_zip_symbols_path + "arm-legacy/", "arm") copy_symbols_pluginbridge(sourcePathModern + "arm64/", openmpt_zip_symbols_path + "arm64/", "arm64") +copy_symbols_pluginbridge(sourcePathLegacyARM64 + "arm64/", openmpt_zip_symbols_path + "arm64-legacy/", "arm64") copy_symbols_pluginbridge(sourcePathModern + "arm64ec/", openmpt_zip_symbols_path + "arm64ec/", "arm64ec") if not singleThreaded: @@ -290,6 +307,7 @@ copy_other(openmpt_zip_amd64_legacy_path, openmpt_version_short) copy_other(openmpt_zip_arm_legacy_path, openmpt_version_short) copy_other(openmpt_zip_arm64_path, openmpt_version_short) +copy_other(openmpt_zip_arm64_legacy_path, openmpt_version_short) copy_other(openmpt_zip_arm64ec_path, openmpt_version_short) print("Creating zip files and installers...") @@ -320,6 +338,9 @@ p7zarm64 = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm64.zip", "."], cwd=openmpt_zip_arm64_basepath) if singleThreaded: p7zarm64.communicate() +p7zarm64legacy = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm64-legacy.zip", "."], cwd=openmpt_zip_arm64_legacy_basepath) +if singleThreaded: + p7zarm64legacy.communicate() p7zarm64ec = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm64ec.zip", "."], cwd=openmpt_zip_arm64ec_basepath) if singleThreaded: p7zarm64ec.communicate() @@ -336,10 +357,11 @@ p7zamd64legacy.communicate() p7zarm.communicate() p7zarm64.communicate() + p7zarm64legacy.communicate() p7zarm64ec.communicate() p7zsymbols.communicate() -if(p7zx86.returncode != 0 or p7zx86legacy.returncode != 0 or p7zamd64.returncode != 0 or p7zamd64legacy.returncode != 0 or p7zarm.returncode != 0 or p7zarm64.returncode != 0 or p7zarm64ec.returncode != 0 or pInno.returncode != 0): +if(p7zx86.returncode != 0 or p7zx86legacy.returncode != 0 or p7zamd64.returncode != 0 or p7zamd64legacy.returncode != 0 or p7zarm.returncode != 0 or p7zarm64.returncode != 0 or p7zarm64legacy.returncode != 0 or p7zarm64ec.returncode != 0 or pInno.returncode != 0): raise Exception("Something went wrong during packaging!") def hash_file(filename): @@ -360,6 +382,7 @@ hash_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip") hash_file("installer/" + openmpt_version_name + "-portable-arm-legacy.zip") hash_file("installer/" + openmpt_version_name + "-portable-arm64.zip") +hash_file("installer/" + openmpt_version_name + "-portable-arm64-legacy.zip") hash_file("installer/" + openmpt_version_name + "-portable-arm64ec.zip") hash_file("installer/" + openmpt_version_name + "-symbols.7z") @@ -369,6 +392,7 @@ shutil.rmtree(openmpt_zip_amd64_legacy_basepath) shutil.rmtree(openmpt_zip_arm_legacy_basepath) shutil.rmtree(openmpt_zip_arm64_basepath) +shutil.rmtree(openmpt_zip_arm64_legacy_basepath) shutil.rmtree(openmpt_zip_arm64ec_basepath) shutil.rmtree(openmpt_zip_symbols_basepath) Modified: trunk/OpenMPT/build/build_openmpt_release.cmd ============================================================================== --- trunk/OpenMPT/build/build_openmpt_release.cmd Sun Nov 30 15:59:26 2025 (r24541) +++ trunk/OpenMPT/build/build_openmpt_release.cmd Mon Dec 1 10:20:42 2025 (r24542) @@ -14,6 +14,7 @@ cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 x64 Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 ARM64 Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 ARM64EC Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 ARM64 Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win8 ARM Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 Win32 Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 x64 Release 7z default || goto error Modified: trunk/OpenMPT/common/versionNumber.h ============================================================================== --- trunk/OpenMPT/common/versionNumber.h Sun Nov 30 15:59:26 2025 (r24541) +++ trunk/OpenMPT/common/versionNumber.h Mon Dec 1 10:20:42 2025 (r24542) @@ -16,4 +16,4 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 33 #define VER_MINOR 00 -#define VER_MINORMINOR 15 +#define VER_MINORMINOR 16 Modified: trunk/OpenMPT/installer/generate_update_json.py ============================================================================== --- trunk/OpenMPT/installer/generate_update_json.py Sun Nov 30 15:59:26 2025 (r24541) +++ trunk/OpenMPT/installer/generate_update_json.py Mon Dec 1 10:20:42 2025 (r24542) @@ -159,6 +159,23 @@ f.close() update = { + "url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64-legacy.zip", + "checksums": { + "SHA-512": hash_file_sha512("installer/OpenMPT-" + plainversion + "-portable-arm64-legacy.zip"), + "SHA3-512": hash_file_sha3_512("installer/OpenMPT-" + plainversion + "-portable-arm64-legacy.zip"), + }, + "filename": "OpenMPT-" + version + "-portable-arm64-legacy.zip", + "autoupdate_installer": None, + "autoupdate_archive": { + "subfolder": "", + "restartbinary": "OpenMPT.exe" + } +} +with open("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64-legacy.update.json", "wb") as f: + f.write((json.dumps(update, ensure_ascii=False, indent=1)).encode('utf-8')) + f.close() + +update = { "url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64ec.zip", "checksums": { "SHA-512": hash_file_sha512("installer/OpenMPT-" + plainversion + "-portable-arm64ec.zip"), @@ -268,6 +285,18 @@ "supported_architectures": { "arm64":True }, "required_processor_features": { "arm64":{} } }, + "portable-arm64-legacy": { + "url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64-legacy.update.json", + "download_url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64-legacy.zip", + "type": "archive", + "can_autoupdate": True, + "autoupdate_minversion": "1.30.00.08", + "os": "windows", + "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":19041, "wine_major":1, "wine_minor":8, "wine_update":0 }, + "required_architectures": {}, + "supported_architectures": { "arm64":True }, + "required_processor_features": { "arm64":{} } + }, "portable-arm64ec": { "url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64ec.update.json", "download_url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64ec.zip", @@ -299,6 +328,7 @@ sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-amd64-legacy.update.json") sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm-legacy.update.json") sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64.update.json") +sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64-legacy.update.json") sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64ec.update.json") pdumpkey = Popen(["bin/release/vs2022-win7-static/amd64/updatesigntool.exe", "dumpkey", "auto", "installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-update-publickey.jwk.json"]) Modified: trunk/OpenMPT/installer/install-multi-arch.iss ============================================================================== --- trunk/OpenMPT/installer/install-multi-arch.iss Sun Nov 30 15:59:26 2025 (r24541) +++ trunk/OpenMPT/installer/install-multi-arch.iss Mon Dec 1 10:20:42 2025 (r24542) @@ -5,6 +5,7 @@ #define BuildFolder "release\vs2022-win11-static" #define BuildFolderLegacyarm "release\vs2022-win8-static" +#define BuildFolderLegacyarm64 "release\vs2022-win10-static" #define BuildFolderLegacyx86 "release\vs2022-win7-static" #define BuildFolderLegacyamd64 "release\vs2022-win7-static" @@ -119,6 +120,11 @@ Source: ..\bin\{#BuildFolder}\arm64\PluginBridgeLegacy-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.26100 Source: ..\bin\{#BuildFolder}\arm64\openmpt-lame.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.26100 Source: ..\bin\{#BuildFolder}\arm64\openmpt-mpg123.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.26100 +Source: ..\bin\{#BuildFolderLegacyarm64}\arm64\OpenMPT.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; OnlyBelowVersion: 10.0.26100 +Source: ..\bin\{#BuildFolderLegacyarm64}\arm64\PluginBridge-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; OnlyBelowVersion: 10.0.26100 +Source: ..\bin\{#BuildFolderLegacyarm64}\arm64\PluginBridgeLegacy-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; OnlyBelowVersion: 10.0.26100 +Source: ..\bin\{#BuildFolderLegacyarm64}\arm64\openmpt-lame.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; OnlyBelowVersion: 10.0.26100 +Source: ..\bin\{#BuildFolderLegacyarm64}\arm64\openmpt-mpg123.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; OnlyBelowVersion: 10.0.26100 Source: ..\bin\{#BuildFolder}\arm64ec\OpenMPT.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.26100 Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridge-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.26100 @@ -300,7 +306,7 @@ end; paARM64: begin - if (GetWindowsVersion >= $0A0065F4) then + if (GetWindowsVersion >= $0A004A61) then begin Result := 'arm64'; end |