mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-13 20:28:21 +10:00
61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
# Patches LC_VERSION_MIN_MACOSX in Load Command to report 10.10
|
|
#
|
|
# By default Pyinstaller will create binaries supporting 10.13+
|
|
# However this limitation is entirely arbitrary for our libraries
|
|
# and instead we're able to support 10.10 without issues.
|
|
#
|
|
# To verify set version:
|
|
# otool -l ./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher
|
|
#
|
|
# cmd LC_VERSION_MIN_MACOSX
|
|
# cmdsize 16
|
|
# version 10.13
|
|
# sdk 10.9
|
|
import sys
|
|
import plistlib
|
|
from pathlib import Path
|
|
|
|
def main():
|
|
patch_load_command()
|
|
patch_info_plist()
|
|
|
|
|
|
def patch_load_command():
|
|
print("- Patching LC_VERSION_MIN_MACOSX")
|
|
path = './dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher'
|
|
find = b'\x00\x0D\x0A\x00' # 10.13 (0xA0D)
|
|
replace = b'\x00\x0A\x0A\x00' # 10.10 (0xA0A)
|
|
with open(path, 'rb') as f:
|
|
data = f.read()
|
|
data = data.replace(find, replace)
|
|
with open(path, 'wb') as f:
|
|
f.write(data)
|
|
|
|
def patch_info_plist():
|
|
print("- Updating Info.plist")
|
|
# Github Actions will supply us with the following environment variables:
|
|
# - Commit Message
|
|
# - Commit ID
|
|
# - Branch
|
|
# - Commit URL
|
|
# - Commit Date
|
|
|
|
argsv = sys.argv
|
|
argsv.pop(0)
|
|
plist_path = './dist/OpenCore-Patcher.app/Contents/Info.plist'
|
|
plist = plistlib.load(Path(plist_path).open("rb"))
|
|
print("- Loaded Plist")
|
|
# Add Github Dictonary
|
|
print("- Adding Github Dictionary")
|
|
plist["Github"] = {
|
|
"Commit Message": argsv[0],
|
|
"Commit ID": argsv[1],
|
|
"Branch": argsv[2],
|
|
"Commit URL": argsv[3],
|
|
"Commit Date": argsv[4],
|
|
}
|
|
print("- Writing Plist")
|
|
plistlib.dump(plist, Path(plist_path).open("wb"), sort_keys=True)
|
|
|
|
|
|
main() |