build: Xcode 12.1, macOS SDK 10.15.6

This commit is contained in:
fanquake 2021-03-18 07:59:58 +08:00
parent 9ed2f19d38
commit c29cba44b3
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1
6 changed files with 17 additions and 17 deletions

View file

@ -10,8 +10,8 @@ export CONTAINER_NAME=ci_macos_cross
export DOCKER_NAME_TAG=ubuntu:20.04 # Check that Focal can cross-compile to macos (Focal is used in the gitian build as well) export DOCKER_NAME_TAG=ubuntu:20.04 # Check that Focal can cross-compile to macos (Focal is used in the gitian build as well)
export HOST=x86_64-apple-darwin18 export HOST=x86_64-apple-darwin18
export PACKAGES="cmake imagemagick librsvg2-bin libz-dev libtiff-tools libtinfo5 python3-setuptools xorriso" export PACKAGES="cmake imagemagick librsvg2-bin libz-dev libtiff-tools libtinfo5 python3-setuptools xorriso"
export XCODE_VERSION=11.3.1 export XCODE_VERSION=12.1
export XCODE_BUILD_ID=11C505 export XCODE_BUILD_ID=12A7403
export RUN_UNIT_TESTS=false export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false export RUN_FUNCTIONAL_TESTS=false
export GOAL="deploy" export GOAL="deploy"

View file

@ -210,7 +210,7 @@ def main():
args.macos = 'm' in args.os args.macos = 'm' in args.os
# Disable for MacOS if no SDK found # Disable for MacOS if no SDK found
if args.macos and not os.path.isfile('gitian-builder/inputs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz'): if args.macos and not os.path.isfile('gitian-builder/inputs/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz'):
print('Cannot build for MacOS, SDK does not exist. Will build for other OSes') print('Cannot build for MacOS, SDK does not exist. Will build for other OSes')
args.macos = False args.macos = False

View file

@ -31,7 +31,7 @@ remotes:
- "url": "https://github.com/bitcoin/bitcoin.git" - "url": "https://github.com/bitcoin/bitcoin.git"
"dir": "bitcoin" "dir": "bitcoin"
files: files:
- "Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz" - "Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz"
script: | script: |
set -e -o pipefail set -e -o pipefail
@ -88,7 +88,7 @@ script: |
BASEPREFIX="${PWD}/depends" BASEPREFIX="${PWD}/depends"
mkdir -p ${BASEPREFIX}/SDKs mkdir -p ${BASEPREFIX}/SDKs
tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz
# Build dependencies for each host # Build dependencies for each host
for i in $HOSTS; do for i in $HOSTS; do

View file

@ -167,7 +167,7 @@ find output/ -type f -print0 | sort -z | xargs -r0 sha256sum
Set the path where _extracted_ SDKs can be found. This is passed through to Set the path where _extracted_ SDKs can be found. This is passed through to
the depends tree. Note that this is should be set to the _parent_ directory of the depends tree. Note that this is should be set to the _parent_ directory of
the actual SDK (e.g. SDK_PATH=$HOME/Downloads/macOS-SDKs instead of the actual SDK (e.g. SDK_PATH=$HOME/Downloads/macOS-SDKs instead of
$HOME/Downloads/macOS-SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers). $HOME/Downloads/macOS-SDKs/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers).
* _**JOBS**_ * _**JOBS**_

View file

@ -13,9 +13,9 @@ When complete, it will have produced `Bitcoin-Core.dmg`.
### Step 1: Obtaining `Xcode.app` ### Step 1: Obtaining `Xcode.app`
Our current macOS SDK Our current macOS SDK
(`Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz`) can be (`Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz`) can be
extracted from extracted from
[Xcode_11.3.1.xip](https://download.developer.apple.com/Developer_Tools/Xcode_11.3.1/Xcode_11.3.1.xip). [Xcode_12.1.xip](https://download.developer.apple.com/Developer_Tools/Xcode_12.1/Xcode_12.1.xip).
An Apple ID is needed to download this. An Apple ID is needed to download this.
After Xcode version 7.x, Apple started shipping the `Xcode.app` in a `.xip` After Xcode version 7.x, Apple started shipping the `Xcode.app` in a `.xip`
@ -27,25 +27,25 @@ approach (tested on Debian Buster) is outlined below:
apt install cpio apt install cpio
git clone https://github.com/bitcoin-core/apple-sdk-tools.git git clone https://github.com/bitcoin-core/apple-sdk-tools.git
# Unpack Xcode_11.3.1.xip and place the resulting Xcode.app in your current # Unpack Xcode_12.1.xip and place the resulting Xcode.app in your current
# working directory # working directory
python3 apple-sdk-tools/extract_xcode.py -f Xcode_11.3.1.xip | cpio -d -i python3 apple-sdk-tools/extract_xcode.py -f Xcode_12.1.xip | cpio -d -i
``` ```
On macOS the process is more straightforward: On macOS the process is more straightforward:
```bash ```bash
xip -x Xcode_11.3.1.xip xip -x Xcode_12.1.xip
``` ```
### Step 2: Generating `Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz` from `Xcode.app` ### Step 2: Generating `Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz` from `Xcode.app`
To generate `Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz`, run To generate `Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz`, run
the script [`gen-sdk`](./gen-sdk) with the path to `Xcode.app` (extracted in the the script [`gen-sdk`](./gen-sdk) with the path to `Xcode.app` (extracted in the
previous stage) as the first argument. previous stage) as the first argument.
```bash ```bash
# Generate a Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz from # Generate a Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz from
# the supplied Xcode.app # the supplied Xcode.app
./contrib/macdeploy/gen-sdk '/path/to/Xcode.app' ./contrib/macdeploy/gen-sdk '/path/to/Xcode.app'
``` ```

View file

@ -1,7 +1,7 @@
OSX_MIN_VERSION=10.14 OSX_MIN_VERSION=10.14
OSX_SDK_VERSION=10.15.1 OSX_SDK_VERSION=10.15.6
XCODE_VERSION=11.3.1 XCODE_VERSION=12.1
XCODE_BUILD_ID=11C505 XCODE_BUILD_ID=12A7403
LD64_VERSION=609 LD64_VERSION=609
OSX_SDK=$(SDK_PATH)/Xcode-$(XCODE_VERSION)-$(XCODE_BUILD_ID)-extracted-SDK-with-libcxx-headers OSX_SDK=$(SDK_PATH)/Xcode-$(XCODE_VERSION)-$(XCODE_BUILD_ID)-extracted-SDK-with-libcxx-headers