diff --git a/build/000-install-dependencies-nobel.sh b/build/000-install-dependencies-nobel.sh index 9f32f4a..6040966 100755 --- a/build/000-install-dependencies-nobel.sh +++ b/build/000-install-dependencies-nobel.sh @@ -6,34 +6,24 @@ cd $HOME # Copied from https://github.com/swiftlang/swift-docker/blob/main/swift-ci/main/ubuntu/24.04/Dockerfile DEBIAN_FRONTEND="noninteractive" -apt-get -y update && apt-get -y install \ - build-essential \ - clang \ - cmake \ - git \ - icu-devtools \ - libc++-18-dev \ - libc++abi-18-dev \ - libcurl4-openssl-dev \ - libedit-dev \ - libicu-dev \ - libncurses5-dev \ - libpython3-dev \ - libsqlite3-dev \ - libxml2-dev \ - ninja-build \ - pkg-config \ - python3-six \ - python3-pip \ - python3-pkg-resources \ - python3-psutil \ - python3-setuptools \ - rsync \ - swig \ - systemtap-sdt-dev \ - tzdata \ - uuid-dev \ - zip +apt-get -y update && apt-get -q install -y \ + binutils \ + git \ + unzip \ + gnupg2 \ + libc6-dev \ + libcurl4-openssl-dev \ + libedit2 \ + libgcc-13-dev \ + libpython3-dev \ + libsqlite3-0 \ + libstdc++-13-dev \ + libxml2-dev \ + libncurses-dev \ + libz3-dev \ + pkg-config \ + tzdata \ + zlib1g-dev apt-get install -y \ lsb-release \ @@ -48,5 +38,7 @@ apt-get install -y \ vim \ rpl -clang --version - \ No newline at end of file +# Swiftly dependency +apt-get install -y \ + gnupg2 \ + jq diff --git a/build/020-clone-swift.sh b/build/020-clone-swift.sh index 2ab5d33..55295c5 100755 --- a/build/020-clone-swift.sh +++ b/build/020-clone-swift.sh @@ -2,7 +2,7 @@ set -ex ROOT_DIR=$(realpath $(dirname $0))/../ -SWIFT_VERSION="6.1" +SWIFT_VERSION="6.2" BRANCH="release/$SWIFT_VERSION" source $HOME/.build_env @@ -42,13 +42,25 @@ popd # Install swift for bootstraping pushd $HOME - wget https://download.swift.org/swift-$SWIFT_VERSION-release/ubuntu2404/swift-$SWIFT_VERSION-RELEASE/swift-$SWIFT_VERSION-RELEASE-ubuntu24.04.tar.gz - tar -xvzf swift-$SWIFT_VERSION-RELEASE-ubuntu24.04.tar.gz - rm swift-$SWIFT_VERSION-RELEASE-ubuntu24.04.tar.gz - mv $HOME/swift-$SWIFT_VERSION-RELEASE-ubuntu24.04 $HOME/swift-toolchain - export PATH=$HOME/swift-toolchain/usr/bin:$PATH - echo "export PATH=\$HOME/swift-toolchain/usr/bin:\$PATH" >> .build_env - echo "export SWIFT_PATH=\$HOME/swift-toolchain/usr/bin" >> .build_env - - swift --version + curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz + tar zxf swiftly-$(uname -m).tar.gz + + export SWIFTLY_HOME_DIR="$HOME/.local/share/swiftly" + export SWIFTLY_BIN_DIR="$HOME/.local/bin" + export SWIFTLY_TOOLCHAINS_DIR="$HOME/.local/share/swiftly/toolchains" + + ./swiftly init --quiet-shell-followup + source "$SWIFTLY_HOME_DIR/env.sh" + hash -r + + swiftly install 6.2-snapshot + swiftly use 6.2-snapshot + + pushd .local/share/swiftly/toolchains/6.2-snapshot-2025-07-04/usr/bin/ + ./clang --version + popd + + # Export SWIFT_PATH + TOOLCHAIN_NAME=$(jq -r '.inUse' "$SWIFTLY_HOME_DIR/config.json") + echo "export SWIFT_PATH=\"$SWIFTLY_HOME_DIR/toolchains/$TOOLCHAIN_NAME/usr/bin\"" >> .build_env popd diff --git a/build/version b/build/version index 67ce48f..a8791e1 100644 --- a/build/version +++ b/build/version @@ -1 +1 @@ -6.1-r2 \ No newline at end of file +6.2-r1 \ No newline at end of file diff --git a/patches/swift-corelibs-foundation/0011-fix-parsing-tzdata-version-2-plus.patch b/patches/swift-corelibs-foundation/0011-fix-parsing-tzdata-version-2-plus.patch deleted file mode 100644 index e68d4e1..0000000 --- a/patches/swift-corelibs-foundation/0011-fix-parsing-tzdata-version-2-plus.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 4c69ab6c166e2a8c9689ed747f7089813b8918a3 Mon Sep 17 00:00:00 2001 -From: Andrew Druk -Date: Fri, 6 Sep 2024 15:19:53 +0300 -Subject: [PATCH] Fix parsing tzdata version 2+ by @ybiletskyi - -(cherry picked from commit fac1218bfa3d49cec4f96d7f161f6a08a5281716) ---- - Sources/CoreFoundation/CFTimeZone.c | 95 +++++++++++++++++++++++++---- - 1 file changed, 83 insertions(+), 12 deletions(-) - -diff --git a/Sources/CoreFoundation/CFTimeZone.c b/Sources/CoreFoundation/CFTimeZone.c -index 29f59b3b..535693f0 100644 ---- a/Sources/CoreFoundation/CFTimeZone.c -+++ b/Sources/CoreFoundation/CFTimeZone.c -@@ -61,14 +61,15 @@ - - #if TARGET_OS_LINUX || TARGET_OS_BSD || TARGET_OS_WIN32 || TARGET_OS_WASI - struct tzhead { -- char tzh_magic[4]; /* TZ_MAGIC */ -- char tzh_reserved[16]; /* reserved for future use */ -- char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ -- char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ -- char tzh_leapcnt[4]; /* coded number of leap seconds */ -- char tzh_timecnt[4]; /* coded number of transition times */ -- char tzh_typecnt[4]; /* coded number of local time types */ -- char tzh_charcnt[4]; /* coded number of abbr. chars */ -+ char tzh_magic[4]; /* TZ_MAGIC */ -+ char version[1]; /* version */ -+ char tzh_reserved[15]; /* reserved for future use */ -+ char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ -+ char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ -+ char tzh_leapcnt[4]; /* coded number of leap seconds */ -+ char tzh_timecnt[4]; /* coded number of transition times */ -+ char tzh_typecnt[4]; /* coded number of local time types */ -+ char tzh_charcnt[4]; /* coded number of abbr. chars */ - }; - #endif - -@@ -491,6 +492,20 @@ CF_INLINE int32_t __CFDetzcode(const unsigned char *bufp) { - return (int32_t)result; - } - -+CF_INLINE int64_t __CFDetzcode64(const unsigned char *bufp) { -+ // `result` is uint64_t to avoid undefined behaviour of shifting left negative values -+ uint64_t result = (bufp[0] & 0x80) ? ~0L : 0L; -+ result = (result << 8) | (bufp[0] & 0xff); -+ result = (result << 8) | (bufp[1] & 0xff); -+ result = (result << 8) | (bufp[2] & 0xff); -+ result = (result << 8) | (bufp[3] & 0xff); -+ result = (result << 8) | (bufp[4] & 0xff); -+ result = (result << 8) | (bufp[5] & 0xff); -+ result = (result << 8) | (bufp[6] & 0xff); -+ result = (result << 8) | (bufp[7] & 0xff); -+ return (int64_t)result; -+} -+ - CF_INLINE void __CFEntzcode(int32_t value, unsigned char *bufp) { - bufp[0] = (value >> 24) & 0xff; - bufp[1] = (value >> 16) & 0xff; -@@ -499,10 +514,11 @@ CF_INLINE void __CFEntzcode(int32_t value, unsigned char *bufp) { - } - - static Boolean __CFParseTimeZoneData(CFAllocatorRef allocator, CFDataRef data, CFTZPeriod **tzpp, CFIndex *cntp) { -- int32_t len, timecnt, typecnt, charcnt, idx, cnt; -+ int32_t len, timecnt, typecnt, charcnt, leapcnt, ttisgmtcnt, ttisstdcnt, idx, cnt, version; - const uint8_t *p, *timep, *typep, *ttisp, *charp; - CFStringRef *abbrs; - Boolean result = true; -+ int32_t trans_size = 4; - - p = CFDataGetBytePtr(data); - len = CFDataGetLength(data); -@@ -510,9 +526,22 @@ static Boolean __CFParseTimeZoneData(CFAllocatorRef allocator, CFDataRef data, C - return false; - } - -+ /* read version 1 header */ - if (!(p[0] == 'T' && p[1] == 'Z' && p[2] == 'i' && p[3] == 'f')) return false; /* Don't parse without TZif at head of file */ - -- p += 20 + 4 + 4 + 4; /* skip reserved, ttisgmtcnt, ttisstdcnt, leapcnt */ -+ p += 4; -+ version = __CFDetzcode(p); -+ if (version > 1) { -+ trans_size = 8; -+ } -+ p += 1; -+ p += 15; /* skip reserved */ -+ ttisgmtcnt = __CFDetzcode(p); -+ p += 4; -+ ttisstdcnt = __CFDetzcode(p); -+ p += 4; -+ leapcnt = __CFDetzcode(p); -+ p += 4; - timecnt = __CFDetzcode(p); - p += 4; - typecnt = __CFDetzcode(p); -@@ -530,8 +559,46 @@ static Boolean __CFParseTimeZoneData(CFAllocatorRef allocator, CFDataRef data, C - if (len - (int32_t)sizeof(struct tzhead) < (4 + 1) * timecnt + (4 + 1 + 1) * typecnt + charcnt) { - return false; - } -+ -+ if (trans_size == 8) { -+ int32_t skip = timecnt * 5 + typecnt * 6 + charcnt + leapcnt * 8 + ttisstdcnt + ttisgmtcnt; -+ p += skip; /* skip version 1 data block */ -+ -+ /* read version 2+ header */ -+ if (!(p[0] == 'T' && p[1] == 'Z' && p[2] == 'i' && p[3] == 'f')) return false; /* Don't parse without TZif at head of file */ -+ p += 4; -+ version = __CFDetzcode(p); -+ p += 1; -+ -+ p += 15; /* skip reserved */ -+ ttisgmtcnt = __CFDetzcode(p); -+ p += 4; -+ ttisstdcnt = __CFDetzcode(p); -+ p += 4; -+ leapcnt = __CFDetzcode(p); -+ p += 4; -+ timecnt = __CFDetzcode(p); -+ p += 4; -+ typecnt = __CFDetzcode(p); -+ p += 4; -+ charcnt = __CFDetzcode(p); -+ p += 4; -+ -+ if (typecnt <= 0 || timecnt < 0 || charcnt < 0) { -+ return false; -+ } -+ if (1024 < timecnt || 32 < typecnt || 128 < charcnt) { -+ // reject excessive timezones to avoid arithmetic overflows for -+ // security reasons and to reject potentially corrupt files -+ return false; -+ } -+ if (len - (((int32_t)sizeof(struct tzhead)) * 2) - skip < (trans_size + 1) * timecnt + (4 + 1 + 1) * typecnt + charcnt) { -+ return false; -+ } -+ } -+ - timep = p; -- typep = timep + 4 * timecnt; -+ typep = timep + trans_size * timecnt; - ttisp = typep + timecnt; - charp = ttisp + (4 + 1 + 1) * typecnt; - cnt = (0 < timecnt) ? timecnt : 1; -@@ -548,12 +615,16 @@ static Boolean __CFParseTimeZoneData(CFAllocatorRef allocator, CFDataRef data, C - int32_t itime, offset; - uint8_t type, dst, abbridx; - -+ if (trans_size == 8) { -+ at = (CFAbsoluteTime)(__CFDetzcode64(timep) + 0.0) - kCFAbsoluteTimeIntervalSince1970; -+ } else { - at = (CFAbsoluteTime)(__CFDetzcode(timep) + 0.0) - kCFAbsoluteTimeIntervalSince1970; -+ } - if (0 == timecnt) itime = INT_MIN; - else if (at < (CFAbsoluteTime)INT_MIN) itime = INT_MIN; - else if ((CFAbsoluteTime)INT_MAX < at) itime = INT_MAX; - else itime = (int32_t)at; -- timep += 4; /* harmless if 0 == timecnt */ -+ timep += trans_size; /* harmless if 0 == timecnt */ - type = (0 < timecnt) ? (uint8_t)*typep++ : 0; - if (typecnt <= type) { - result = false; --- -2.46.0 - diff --git a/patches/swift-corelibs-foundation/0012-fix-swift-6-in-certificate-trust-and--basic-auth.patch b/patches/swift-corelibs-foundation/0011-fix-swift-6-in-certificate-trust-and--basic-auth.patch similarity index 100% rename from patches/swift-corelibs-foundation/0012-fix-swift-6-in-certificate-trust-and--basic-auth.patch rename to patches/swift-corelibs-foundation/0011-fix-swift-6-in-certificate-trust-and--basic-auth.patch diff --git a/patches/swift-corelibs-foundation/0013-fix-memory-leak-in-nsattributedstring.patch b/patches/swift-corelibs-foundation/0012-fix-memory-leak-in-nsattributedstring.patch similarity index 100% rename from patches/swift-corelibs-foundation/0013-fix-memory-leak-in-nsattributedstring.patch rename to patches/swift-corelibs-foundation/0012-fix-memory-leak-in-nsattributedstring.patch diff --git a/patches/swift-corelibs-foundation/0014-add-swift-syntax-source-dir-variable.patch b/patches/swift-corelibs-foundation/0014-add-swift-syntax-source-dir-variable.patch deleted file mode 100644 index 7cff318..0000000 --- a/patches/swift-corelibs-foundation/0014-add-swift-syntax-source-dir-variable.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5634e39e22b102d27a70b98b2579d599090f4d8c Mon Sep 17 00:00:00 2001 -From: Andrew Druk -Date: Mon, 14 Apr 2025 17:17:58 +0300 -Subject: [PATCH] Add SwiftSyntax source dir variable - ---- - CMakeLists.txt | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c0d46e43..3c611c97 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -83,6 +83,11 @@ set(CMAKE_POSITION_INDEPENDENT_CODE YES) - - # Fetchable dependencies - include(FetchContent) -+if (_SwiftSyntax_SourceDIR) -+ FetchContent_Declare(SwiftSyntax -+ SOURCE_DIR ${_SwiftSyntax_SourceDIR}) -+ message(STATUS "_SwiftSyntax_SourceDIR: ${_SwiftSyntax_SourceDIR}") -+endif() - if (_SwiftFoundationICU_SourceDIR) - FetchContent_Declare(SwiftFoundationICU - SOURCE_DIR ${_SwiftFoundationICU_SourceDIR}) --- -2.46.0 - diff --git a/patches/swift-corelibs-foundation/0015-add-empty-CFPosixSpawnFileActionsChdir-for-android.patch b/patches/swift-corelibs-foundation/0015-add-empty-CFPosixSpawnFileActionsChdir-for-android.patch deleted file mode 100644 index 8538ae7..0000000 --- a/patches/swift-corelibs-foundation/0015-add-empty-CFPosixSpawnFileActionsChdir-for-android.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 15c1f65dbeb3a2151d6ac36c03ccb67d7173850d Mon Sep 17 00:00:00 2001 -From: Andrew Druk -Date: Sat, 10 May 2025 15:26:22 +0300 -Subject: [PATCH] Add empty _CFPosixSpawnFileActionsChdir - ---- - Sources/CoreFoundation/CFPlatform.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/Sources/CoreFoundation/CFPlatform.c b/Sources/CoreFoundation/CFPlatform.c -index 90f4aa78..0eea2f3b 100644 ---- a/Sources/CoreFoundation/CFPlatform.c -+++ b/Sources/CoreFoundation/CFPlatform.c -@@ -2248,6 +2248,10 @@ CF_EXPORT int _CFPosixSpawn(pid_t *_CF_RESTRICT pid, const char *_CF_RESTRICT pa - return _CFPosixSpawnImpl(pid, path, file_actions, attrp, argv, envp); - } - -+CF_EXPORT int _CFPosixSpawnFileActionsChdir(_CFPosixSpawnFileActionsRef file_actions, const char *path) { -+ return 0; -+} -+ - #elif !TARGET_OS_WIN32 && !TARGET_OS_WASI - - #include --- -2.46.0 - diff --git a/patches/swift-foundation/0001-open-range-attributed-string-from-nsrange.patch b/patches/swift-foundation/0001-open-range-attributed-string-from-nsrange.patch deleted file mode 100644 index 0eb2790..0000000 --- a/patches/swift-foundation/0001-open-range-attributed-string-from-nsrange.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d403cbb5aa39add8631c5a0fa9aed9e3b7a6aee9 Mon Sep 17 00:00:00 2001 -From: Andrew Druk -Date: Sat, 29 Mar 2025 15:00:55 +0200 -Subject: [PATCH] Add Range.init(location:length:in:) - ---- - .../AttributedString/Conversion.swift | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/Sources/FoundationEssentials/AttributedString/Conversion.swift b/Sources/FoundationEssentials/AttributedString/Conversion.swift -index acaee31..dd4afd1 100644 ---- a/Sources/FoundationEssentials/AttributedString/Conversion.swift -+++ b/Sources/FoundationEssentials/AttributedString/Conversion.swift -@@ -466,6 +466,22 @@ extension Range where Bound == AttributedString.Index { - let start = bstr.utf16.index(bstr.startIndex, offsetBy: range.location) - let end = bstr.utf16.index(start, offsetBy: range.length) - -+ guard start >= string.startIndex._value, end <= string.endIndex._value else { return nil } -+ self.init(uncheckedBounds: (.init(start), .init(end))) -+ } -+#else -+ public init?(location: Int, length: Int, in string: S) { -+ // FIXME: This can return indices addressing trailing surrogates, which isn't a thing -+ // FIXME: AttributedString is normally prepared to handle. -+ // FIXME: Consider rounding everything down to the nearest scalar boundary. -+ guard location >= 0, length >= 0 else { return nil } -+ let endOffset = location + length -+ let bstr = string.__guts.string -+ guard endOffset <= bstr.utf16.count else { return nil } -+ -+ let start = bstr.utf16.index(bstr.startIndex, offsetBy: location) -+ let end = bstr.utf16.index(start, offsetBy: length) -+ - guard start >= string.startIndex._value, end <= string.endIndex._value else { return nil } - self.init(uncheckedBounds: (.init(start), .init(end))) - } --- -2.46.0 - diff --git a/patches/swift-syntax/0001-replace-bionic-with-android.patch b/patches/swift-syntax/0001-replace-bionic-with-android.patch deleted file mode 100644 index b6a49f0..0000000 --- a/patches/swift-syntax/0001-replace-bionic-with-android.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 8c034c74bd78046b0686e521136a1258f800d1cb Mon Sep 17 00:00:00 2001 -From: Andrew Druk -Date: Mon, 14 Apr 2025 18:18:40 +0300 -Subject: [PATCH] Replace Bionic with Android - ---- - .../LibraryPluginProvider.swift | 2 ++ - Sources/SwiftSyntax/SyntaxText.swift | 10 ++++++---- - .../swift-syntax-dev-utils/common/ProcessRunner.swift | 2 +- - 3 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift b/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift -index 44be07e2..69bb6db8 100644 ---- a/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift -+++ b/Sources/SwiftLibraryPluginProvider/LibraryPluginProvider.swift -@@ -35,6 +35,8 @@ import SwiftSyntaxMacros - @_implementationOnly import Glibc - #elseif canImport(Musl) - @_implementationOnly import Musl -+#elseif canImport(Android) -+@_implementationOnly import Android - #endif - #endif - -diff --git a/Sources/SwiftSyntax/SyntaxText.swift b/Sources/SwiftSyntax/SyntaxText.swift -index 5229771f..53c0a37a 100644 ---- a/Sources/SwiftSyntax/SyntaxText.swift -+++ b/Sources/SwiftSyntax/SyntaxText.swift -@@ -15,8 +15,8 @@ - private import Darwin - #elseif canImport(Glibc) - private import Glibc --#elseif canImport(Bionic) --private import Bionic -+#elseif canImport(Android) -+private import Android - #elseif canImport(Musl) - private import Musl - #endif -@@ -25,6 +25,8 @@ private import Musl - import Darwin - #elseif canImport(Glibc) - import Glibc -+#elseif canImport(Android) -+import Android - #elseif canImport(Musl) - import Musl - #endif -@@ -296,8 +298,8 @@ private func compareMemory( - return Darwin.memcmp(s1, s2, count) == 0 - #elseif canImport(Glibc) - return Glibc.memcmp(s1, s2, count) == 0 -- #elseif canImport(Bionic) -- return Bionic.memcmp(s1, s2, count) == 0 -+ #elseif canImport(Android) -+ return Android.memcmp(s1, s2, count) == 0 - #else - return UnsafeBufferPointer(start: s1, count: count) - .elementsEqual(UnsafeBufferPointer(start: s2, count: count)) -diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift -index e88611cb..4f14ab6c 100644 ---- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift -+++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/ProcessRunner.swift -@@ -24,7 +24,7 @@ class SigIntListener { - /// Registers a `SIGINT` signal handler that forwards `SIGINT` to all - /// subprocesses that are registered in `runningSubprocesses` - static func registerSigIntSubprocessTerminationHandler() { -- #if canImport(Darwin) || canImport(Glibc) || canImport(Bionic) -+ #if canImport(Darwin) || canImport(Glibc) || canImport(Android) - signal(SIGINT) { _ in - SigIntListener.hasReceivedSigInt = true - for process in SigIntListener.runningSubprocesses { --- -2.46.0 - diff --git a/patches/swift/0001-Add-presets-for-android-x86-x86_64.patch b/patches/swift/0001-Add-presets-for-android-x86-x86_64.patch deleted file mode 100644 index 9102ff2..0000000 --- a/patches/swift/0001-Add-presets-for-android-x86-x86_64.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 83574307e1f3aa5f67da93f4d93dc58f3bffe0fc Mon Sep 17 00:00:00 2001 -From: Andrew Druk -Date: Sat, 12 Apr 2025 15:19:51 +0300 -Subject: [PATCH] Add presets for android x86 x86_64 - ---- - utils/build-presets.ini | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/utils/build-presets.ini b/utils/build-presets.ini -index 14b9a7006d2..23abcd95d91 100644 ---- a/utils/build-presets.ini -+++ b/utils/build-presets.ini -@@ -1026,6 +1026,20 @@ mixin-preset=buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build - - android-arch=aarch64 - -+[preset: buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build,x86] -+mixin-preset=buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build -+ -+dash-dash -+ -+android-arch=i686 -+ -+[preset: buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build,x86_64] -+mixin-preset=buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build -+ -+dash-dash -+ -+android-arch=x86_64 -+ - # Ubuntu 18.04 preset for backwards compat and future customizations. - [preset: buildbot_linux_1804] - mixin-preset=buildbot_linux --- -2.46.0 - diff --git a/patches/swift/0001-Add-presets-for-android-x86.patch b/patches/swift/0001-Add-presets-for-android-x86.patch new file mode 100644 index 0000000..aba215d --- /dev/null +++ b/patches/swift/0001-Add-presets-for-android-x86.patch @@ -0,0 +1,28 @@ +From d90fb71c6e53c3bd529f2ed8ca8c2af50abbeb09 Mon Sep 17 00:00:00 2001 +From: Andrew Druk +Date: Mon, 30 Jun 2025 19:10:18 +0300 +Subject: [PATCH] Add presets for android x86 + +--- + utils/build-presets.ini | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/utils/build-presets.ini b/utils/build-presets.ini +index e4ff823fa96..d711a994546 100644 +--- a/utils/build-presets.ini ++++ b/utils/build-presets.ini +@@ -1039,6 +1039,11 @@ mixin-preset=buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build + + android-arch=aarch64 + ++[preset: buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build,x86] ++mixin-preset=buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build ++ ++android-arch=i686 ++ + [preset: buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build,x86_64] + mixin-preset=buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build + +-- +2.46.0 +