LBRY-Vault/contrib/build-osx
Filip Gospodinov bdecef0eaf contrib: bump pyinstaller to 3.4
PyInstaller 3.4 highlights:

* patch for deterministic builds by electrum
* improved support for Qt5-based applications
* added support for Python 3.7
2018-09-14 14:29:19 +02:00
..
base.sh follow-up previous commit 2018-03-27 16:51:39 +02:00
cdrkit-deterministic.patch Add script to build dmg on Linux 2018-03-27 15:22:06 +02:00
make_osx contrib: bump pyinstaller to 3.4 2018-09-14 14:29:19 +02:00
osx.spec include plugins in win/mac binaries 2018-09-04 17:06:42 +02:00
package.sh osx builds: use version number from Info.plist 2018-03-27 17:31:44 +02:00
README.md Add script to build dmg on Linux 2018-03-27 15:22:06 +02:00

Building Mac OS binaries

This guide explains how to build Electrum binaries for macOS systems.

The build process consists of two steps:

1. Building the binary

This needs to be done on a system running macOS or OS X. We use El Capitan (10.11.6) as building it on High Sierra makes the binaries incompatible with older versions.

Before starting, make sure that the Xcode command line tools are installed (e.g. you have git).

cd electrum
./contrib/build-osx/make_osx

This creates a folder named Electrum.app.

2. Building the image

The usual way to distribute macOS applications is to use image files containing the application. Although these images can be created on a Mac with the built-in hdiutil, they are not deterministic.

Instead, we use the toolchain that Bitcoin uses: genisoimage and libdmg-hfsplus. These tools do not work on macOS, so you need a separate Linux machine (or VM).

Copy the Electrum.app directory over and install the dependencies, e.g.:

apt install libcap-dev cmake make gcc faketime

Then you can just invoke package.sh with the path to the app:

cd electrum
./contrib/build-osx/package.sh ~/Electrum.app/