mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-14 04:38:20 +10:00
80 lines
3.5 KiB
Markdown
80 lines
3.5 KiB
Markdown
# Build and run from source
|
|
|
|
OpenCore Legacy Patcher at its core is a Python-based GUI/CLI-based application. In turn, to run the project from source, you simply need to invoke the OpenCore-Patcher-GUI.command file via Python.
|
|
|
|
For developers wishing to validate mainline changes, you may use these nightly links:
|
|
|
|
* [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app-wxpython/main/OpenCore-Patcher.app%20%28GUI%29.zip)
|
|
|
|
**Warning**: These binaries should not be used without first consulting the [CHANGELOG](./CHANGELOG.md). Do not distribute these links in forums, please link to this document instead.
|
|
|
|
* Users running new builds of the project without understanding what has changed are at a higher risk of bricking their installation as they do not read any warnings provided in the CHANGELOG. We wish to minimize these situations as much as possible.
|
|
|
|
## Getting Started
|
|
|
|
To start, ensure you have Python 3.6 or newer installed. Additionally, ensure that it was downloaded from the official source, [python.org](https://www.python.org/downloads/macos/).
|
|
|
|
* Python installations either preinstalled or provided with Xcode or the Xcode Command Line Tools are unsupported due to reliability issues.
|
|
|
|
Once Python is installed, open Terminal and run the following:
|
|
|
|
```sh
|
|
# Move into a directory to store the project
|
|
cd ~/Developer
|
|
# Clone project
|
|
git clone https://github.com/dortania/OpenCore-Legacy-Patcher
|
|
# Move into Project directory
|
|
cd ./OpenCore-Legacy-Patcher
|
|
# Install Python dependencies used by the project
|
|
pip3 install -r requirements.txt
|
|
```
|
|
|
|
If you have any installation errors, see the following troubleshooting options:
|
|
|
|
* Use Python 3.10
|
|
* Our build server currently uses Python 3.10 for generating binaries used in releases
|
|
* Use .whl snapshots for installing additional dependencies
|
|
|
|
## Running OpenCore Legacy Patcher
|
|
|
|
To run the project from source, simply invoke via python3:
|
|
|
|
```sh
|
|
# Launch GUI
|
|
python3 OpenCore-Patcher-GUI.command
|
|
```
|
|
|
|
Note that the OpenCore-Patcher-GUI.command file can be run as both a GUI and a CLI utility for other programs to call. If no core arguments are passed, the GUI is initialized. Otherwise the CLI will start:
|
|
|
|
```sh
|
|
# Launch CLI
|
|
python3 OpenCore-Patcher-GUI.command --build --model iMac12,2 --verbose
|
|
```
|
|
|
|
Pass `-h` or `--help` for more information on supported CLI arguments.
|
|
|
|
## Generating prebuilt binaries
|
|
|
|
The main goal of generating prebuilt binaries is to strip the requirement of a local Python installation for users. For developers, there's very little benefit besides enabling dark mode support in the GUI. For development, simply use the OpenCore-Patcher-GUI.command file with a Python 3 installation.
|
|
|
|
* Note that due to PyInstaller's linking mechanism, binaries generated on Catalina and newer are not compatible with High Sierra and older
|
|
* To ensure the best compatibility, generate binaries on macOS Mojave. These binaries will be compatible with macOS 10.9 to macOS 12.
|
|
* Currently our build system is a [Macmini8,1 provided by MacStadium](https://www.macstadium.com/opensource) running macOS Mojave (10.14.6).
|
|
|
|
```sh
|
|
# Install PyInstaller
|
|
pip3 install pyinstaller
|
|
# Move into project directory
|
|
cd ~/Developer/OpenCore-Legacy-Patcher/
|
|
# Create the pyinstaller based Application
|
|
# Optional Arguments
|
|
# '--reset_binaries': Redownload and generate support files
|
|
python3 Build-Binary.command
|
|
# Open build folder
|
|
open ./dist/
|
|
```
|
|
|
|
Once done, you'll find the application generated at `./dist/OpenCore-Patcher.app`:
|
|
|
|

|