Building Mac OS binaries ======================== This guide explains how to build Electrum binaries for macOS systems. ## 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 (or later) makes the binaries incompatible with older versions. #### 1.1 Get Xcode Building the QR code reader (CalinsQRReader) requires full Xcode (not just command line tools). The last Xcode version compatible with El Capitan is Xcode 8.2.1 Get it from [here](https://developer.apple.com/download/more/). Unfortunately, you need an "Apple ID" account. After downloading, uncompress it. Make sure it is the "selected" xcode (e.g.): sudo xcode-select -s $HOME/Downloads/Xcode.app/Contents/Developer/ #### 1.2 Build Electrum cd electrum ./contrib/osx/make_osx This creates both a folder named Electrum.app and the .dmg file. ## 2. Building the image deterministically (WIP) 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/osx/package.sh ~/Electrum.app/