|
2 | 2 |
|
3 | 3 | set -eo pipefail
|
4 | 4 |
|
5 |
| -if [[ -n "${1}" ]]; then |
6 |
| - WORKSPACE_PATH="$1" |
7 |
| -else |
8 |
| - WORKSPACE_PATH="/src/dash" |
9 |
| -fi |
| 5 | +WORKSPACE_PATH="${1:-$(pwd)}" |
10 | 6 |
|
11 |
| -if [[ ! -d "$WORKSPACE_PATH" ]]; then |
12 |
| - echo "$0: $WORKSPACE_PATH is not a valid directory, exiting!" |
| 7 | +if [[ ! -d "${WORKSPACE_PATH}" || ! "${WORKSPACE_PATH}" = /* || ! -f "${WORKSPACE_PATH}/contrib/guix/guix-build" ]]; then |
| 8 | + echo "${0##*/}: ${WORKSPACE_PATH} is not the top directory of the Dash Core repository, exiting!" |
13 | 9 | exit 1
|
14 | 10 | fi
|
15 | 11 |
|
16 | 12 | XCODE_VERSION="12.2"
|
17 | 13 | XCODE_RELEASE="12B45b"
|
18 | 14 | XCODE_ARCHIVE="Xcode-${XCODE_VERSION}-${XCODE_RELEASE}-extracted-SDK-with-libcxx-headers"
|
| 15 | +XCODE_SOURCE="${XCODE_SOURCE:-https://bitcoincore.org/depends-sources/sdks}" |
| 16 | + |
| 17 | +export SDK_PATH="${SDK_PATH:-${WORKSPACE_PATH}/depends/SDKs}" |
19 | 18 |
|
20 | 19 | # Check if macOS SDK is present, if not, download it
|
21 |
| -if [ ! -d "${WORKSPACE_PATH}/depends/SDKs/${XCODE_ARCHIVE}" ] |
22 |
| -then |
23 |
| - mkdir -p "${WORKSPACE_PATH}/depends/SDKs" |
24 |
| - curl -L https://bitcoincore.org/depends-sources/sdks/${XCODE_ARCHIVE}.tar.gz | tar -xz -C "${WORKSPACE_PATH}/depends/SDKs" |
| 20 | +if [[ ! -d "${SDK_PATH}/${XCODE_ARCHIVE}" ]]; then |
| 21 | + echo "Preparing macOS SDK..." |
| 22 | + mkdir -p "${SDK_PATH}" |
| 23 | + curl -L "${XCODE_SOURCE}/${XCODE_ARCHIVE}.tar.gz" | tar -xz -C "${SDK_PATH}" |
| 24 | +fi |
| 25 | + |
| 26 | +# Add safe.directory option only when WORKSPACE_PATH was specified via cmd-line arguments (happens in CI) |
| 27 | +if [[ -n "${1}" ]]; then |
| 28 | + # Avoid adding duplicates |
| 29 | + git config --global --fixed-value --get safe.directory "${WORKSPACE_PATH}" >> /dev/null || \ |
| 30 | + (echo "Adding safe.directory" && git config --global --add safe.directory "${WORKSPACE_PATH}") |
25 | 31 | fi
|
26 | 32 |
|
27 | 33 | cd "${WORKSPACE_PATH}"
|
28 |
| -git config --global --add safe.directory "${WORKSPACE_PATH}" |
29 | 34 | git status >> /dev/null
|
30 | 35 |
|
| 36 | +export HOSTS="${HOSTS:-x86_64-linux-gnu aarch64-linux-gnu riscv64-linux-gnu |
| 37 | + x86_64-w64-mingw32 |
| 38 | + x86_64-apple-darwin arm64-apple-darwin}" |
| 39 | + |
31 | 40 | ./contrib/guix/guix-build
|
0 commit comments