diff --git a/contrib/osx/README.md b/contrib/osx/README.md index f65a32e29..ca404ff11 100644 --- a/contrib/osx/README.md +++ b/contrib/osx/README.md @@ -8,12 +8,13 @@ This guide explains how to build Electrum binaries for macOS systems. 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. +makes the binaries [incompatible with older versions](https://github.com/pyinstaller/pyinstaller/issues/1191). +Before starting, make sure that the Xcode command line tools are installed (e.g. you have `git`). -#### 1.1 Get Xcode +#### 1.1a Get Xcode -Building the QR code reader (CalinsQRReader) requires full Xcode (not just command line tools). +Building the QR scanner (CalinsQRReader) requires full Xcode (not just command line tools). The last Xcode version compatible with El Capitan is Xcode 8.2.1 @@ -27,6 +28,17 @@ Make sure it is the "selected" xcode (e.g.): sudo xcode-select -s $HOME/Downloads/Xcode.app/Contents/Developer/ +#### 1.1b Build QR scanner separately on newer Mac + +Alternatively, you can try building just the QR scanner on newer macOS. + +On newer Mac, run: + + pushd contrib/osx/CalinsQRReader; xcodebuild; popd + cp -r contrib/osx/CalinsQRReader/build prebuilt_qr + +Move `prebuilt_qr` to El Capitan: `contrib/osx/CalinsQRReader/prebuilt_qr`. + #### 1.2 Build Electrum diff --git a/contrib/osx/make_osx b/contrib/osx/make_osx index fd4a09f4e..17eb3fb93 100755 --- a/contrib/osx/make_osx +++ b/contrib/osx/make_osx @@ -94,7 +94,8 @@ info "Building CalinsQRReader..." d=contrib/osx/CalinsQRReader pushd $d rm -fr build -xcodebuild || fail "Could not build CalinsQRReader" +# prefer building using xcode ourselves. otherwise fallback to prebuilt binary +xcodebuild || cp -r prebuilt_qr build || fail "Could not build CalinsQRReader" popd DoCodeSignMaybe "CalinsQRReader.app" "${d}/build/Release/CalinsQRReader.app" "$APP_SIGN" # If APP_SIGN is empty will be a noop