From 37af0ab82e9e67d92c65f2b47afd6505cab17e02 Mon Sep 17 00:00:00 2001 From: Butta Date: Tue, 14 Dec 2021 08:29:09 +0530 Subject: [PATCH] swift: update from 5.5.1 to 5.5.2 --- packages/llbuild/build.sh | 5 +- packages/swift/build.sh | 31 +++++---- packages/swift/swift-cmake.patch | 30 +++------ ...on-Sources-Foundation-CMakeLists.txt.patch | 6 +- ...ricUnixToolchain+LinkerSupport.swift.patch | 26 -------- packages/swift/swift-ndk-23.patch | 24 +++---- packages/swift/swift-vend-swiftpm-flags.patch | 64 +++++++++---------- 7 files changed, 71 insertions(+), 115 deletions(-) delete mode 100644 packages/swift/swift-driver-Sources-SwiftDriver-Jobs-GenericUnixToolchain+LinkerSupport.swift.patch diff --git a/packages/llbuild/build.sh b/packages/llbuild/build.sh index 79d703b27..6973f741e 100644 --- a/packages/llbuild/build.sh +++ b/packages/llbuild/build.sh @@ -2,9 +2,8 @@ TERMUX_PKG_HOMEPAGE=https://github.com/apple/swift-llbuild TERMUX_PKG_DESCRIPTION="A low-level build system, used by the Swift Package Manager" TERMUX_PKG_LICENSE="Apache-2.0, NCSA" TERMUX_PKG_MAINTAINER="@buttaface" -TERMUX_PKG_VERSION=5.5 -TERMUX_PKG_REVISION=1 +TERMUX_PKG_VERSION=5.5.2 TERMUX_PKG_SRCURL=https://github.com/apple/swift-llbuild/archive/swift-${TERMUX_PKG_VERSION}-RELEASE.tar.gz -TERMUX_PKG_SHA256=09e774c4a97bbb7473ab2b69ef2a547036660ce7d5d2c67802974de3e23381f8 +TERMUX_PKG_SHA256=6767df1c14d09c990e72c2e9ec9c61765610c1fe7801c92894afa36f9928d320 TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_DEPENDS="libc++, libandroid-spawn, libsqlite" diff --git a/packages/swift/build.sh b/packages/swift/build.sh index e52bfad56..1cffc988d 100644 --- a/packages/swift/build.sh +++ b/packages/swift/build.sh @@ -2,13 +2,12 @@ TERMUX_PKG_HOMEPAGE=https://swift.org/ TERMUX_PKG_DESCRIPTION="Swift is a high-performance system programming language" TERMUX_PKG_LICENSE="Apache-2.0, NCSA" TERMUX_PKG_MAINTAINER="@buttaface" -TERMUX_PKG_VERSION=5.5.1 -TERMUX_PKG_REVISION=3 +TERMUX_PKG_VERSION=5.5.2 SWIFT_RELEASE="RELEASE" TERMUX_PKG_SRCURL=https://github.com/apple/swift/archive/swift-$TERMUX_PKG_VERSION-$SWIFT_RELEASE.tar.gz -TERMUX_PKG_SHA256=b4092b2584919f718a55ad0ed460fbc48e84ec979a9397ce0adce307aba41ac9 +TERMUX_PKG_SHA256=0046ecab640475441251b1cceb3dd167a4c7729852104d7675bdbd75fced6b82 TERMUX_PKG_HOSTBUILD=true -TERMUX_PKG_DEPENDS="lld, clang, libc++, ndk-sysroot, libandroid-glob, libandroid-spawn, libcurl, libicu, libicu-static, libsqlite, libuuid, libxml2, libdispatch, llbuild" +TERMUX_PKG_DEPENDS="clang, libandroid-glob, libandroid-spawn, libcurl, libicu, libicu-static, libsqlite, libuuid, libxml2, libdispatch, llbuild" TERMUX_PKG_BUILD_DEPENDS="cmake, ninja, perl, pkg-config, rsync" TERMUX_PKG_BLACKLISTED_ARCHES="i686" TERMUX_PKG_NO_STATICSPLIT=true @@ -39,20 +38,20 @@ termux_step_post_get_source() { mv .temp swift declare -A library_checksums - library_checksums[swift-cmark]=36c9de0d5a7f71455542c780b8a0a4bd703e6f0d1456a5a1a9caf22e3cb4182a - library_checksums[llvm-project]=095763d76000b95910ce19837d45b932a48f8ab4a002a8b27e986b1a29e8432f - library_checksums[swift-corelibs-libdispatch]=de280f470850d98887eeb0f2b4dc3524d0f2f8eb93af5618d4f1e5312d4cbbdf - library_checksums[swift-corelibs-foundation]=ab99fbcf0e8ede00482c614cfd0c4c42a27ae94744ca3ce0d9b03a52a3f8d4d0 - library_checksums[swift-corelibs-xctest]=11ee237c61dcd1fb20b30c35a552e5c0044d069cbaad9fb9bddd175efec4f984 - library_checksums[swift-llbuild]=39998792dea9d36ec1b98d07e9e6100a9853e9a3f845b319de81cf1aaae6a8dd + library_checksums[swift-cmark]=90ce146d7e0fda81aa8ecc74fa9401ec9f68596ed6b2c89dbfd0fde11244aa07 + library_checksums[llvm-project]=8e4c58ed8b3518252e8ab96110d2f2e801d7ea1a2e2c176ba55bb13bbd698910 + library_checksums[swift-corelibs-libdispatch]=2611b4dc9530207e19dae07599355622f76c32694aca3ef909149a7ecf48dfc7 + library_checksums[swift-corelibs-foundation]=19e909e006c72813309360d22c3ce13680be5634a0924e78baf10f75fb45f6df + library_checksums[swift-corelibs-xctest]=24aa1314ac89904d801e5009ebf9e3c1838d40dd22d1f8ab5a34c14b722844aa + library_checksums[swift-llbuild]=6767df1c14d09c990e72c2e9ec9c61765610c1fe7801c92894afa36f9928d320 library_checksums[swift-argument-parser]=9dfcb236f599e309e49af145610957648f8a59d9527b4202bc5bdda0068556d7 library_checksums[Yams]=8bbb28ef994f60afe54668093d652e4d40831c79885fa92b1c2cd0e17e26735a library_checksums[swift-crypto]=86d6c22c9f89394fd579e967b0d5d0b6ce33cdbf52ba70f82fa313baf70c759f - library_checksums[swift-driver]=f8ea378f1d9466fbd0206796dabb03e178390f3fd6584e582038ae75fd75fece - library_checksums[swift-tools-support-core]=a2f21a2814286ee23766ae55eebe5a4797ad04fd674ef37a9411a9bd40782222 - library_checksums[swift-package-manager]=73331ad0d27f1e40a0d50d45337f986e0303dd0c872a0991db916126bd3949fe - library_checksums[indexstore-db]=a678003f61b2795ee76d89fd4f008a77fab4522d275764db413ecce8b0aa66e2 - library_checksums[sourcekit-lsp]=9c5f3358e854cf42af1a03567e02d04476bb5b47c3b914512f29ecc46117e445 + library_checksums[swift-driver]=73416d9b329d88f37d607f0d0a6583368eeec2140a28fb8877ee1fb0125a496e + library_checksums[swift-tools-support-core]=811ab41295b175d79b940151feacf05fa10787ff250ee3ca8af877041d49d87e + library_checksums[swift-package-manager]=4c16cb5073759c9bd9de110f96b8fb0983a8255bf28e7b39709876f3bae90e5a + library_checksums[indexstore-db]=d4d1cb6300a2b5fb81e3e77cba50284ffd6405bc264464db465ee7c2c285807d + library_checksums[sourcekit-lsp]=ecaeeaddcf750379e561798719290affa6ffd3573754a496d3afa3b3d0f46597 for library in "${!library_checksums[@]}"; do \ if [ "$library" = "swift-argument-parser" ]; then @@ -90,7 +89,7 @@ termux_step_post_get_source() { termux_download \ https://swift.org/builds/swift-$TERMUX_PKG_VERSION-release/ubuntu2004/swift-$TERMUX_PKG_VERSION-$SWIFT_RELEASE/$SWIFT_BIN.tar.gz \ $TERMUX_PKG_CACHEDIR/$SWIFT_BIN.tar.gz \ - 2b78e9eaf7e3ca980de3228fa5b611d3f9cf116b26d8cdad81ed3435b8d8027a + 383935e857202ff41a411ac11c477d2e86fb8960e186789245991474abf99c9e fi } diff --git a/packages/swift/swift-cmake.patch b/packages/swift/swift-cmake.patch index cd948c6b3..3f856df5d 100644 --- a/packages/swift/swift-cmake.patch +++ b/packages/swift/swift-cmake.patch @@ -39,7 +39,7 @@ diff --git a/swift/stdlib/public/Concurrency/CMakeLists.txt b/swift/stdlib/publi index 3313f56c8a6..59804ff6228 100644 --- a/swift/stdlib/public/Concurrency/CMakeLists.txt +++ b/swift/stdlib/public/Concurrency/CMakeLists.txt -@@ -24,20 +24,11 @@ if(SWIFT_CONCURRENCY_USES_DISPATCH) +@@ -24,8 +24,8 @@ if(SWIFT_CONCURRENCY_USES_DISPATCH) # FIXME: we can't rely on libdispatch having been built for the # target at this point in the process. Currently, we're relying # on soft-linking. @@ -50,26 +50,14 @@ index 3313f56c8a6..59804ff6228 100644 endif() endif() --# Linux requires us to link an atomic library to use atomics. --# Frustratingly, in many cases this isn't necessary because the --# sequence is inlined, but we have some code that's just subtle --# enough to turn into runtime calls. --if(SWIFT_HOST_VARIANT STREQUAL "android") -- list(APPEND SWIFT_RUNTIME_CONCURRENCY_SWIFT_LINK_FLAGS -- -latomic) --endif() -- - add_swift_target_library(swift_Concurrency ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_STDLIB - ../CompatibilityOverride/CompatibilityOverride.cpp - Actor.cpp -@@ -87,6 +87,6 @@ add_swift_target_library(swift_Concurrency ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} I - -Xfrontend -enable-experimental-concurrency - -Xfrontend -define-availability - -Xfrontend \"SwiftStdlib 5.5:macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0\" -- LINK_FLAGS "${SWIFT_RUNTIME_CONCURRENCY_SWIFT_LINK_FLAGS}" -+ LINK_FLAGS "${SWIFT_RUNTIME_CONCURRENCY_SWIFT_LINK_FLAGS};-ldispatch" - INSTALL_IN_COMPONENT stdlib - ) +@@ -120,6 +120,7 @@ add_swift_target_library(swift_Concurrency ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} I + SWIFT_MODULE_DEPENDS_WINDOWS CRT + + LINK_LIBRARIES ${swift_concurrency_link_libraries} ++ LINK_FLAGS "-ldispatch" + + C_COMPILE_FLAGS + -Dswift_Concurrency_EXPORTS ${SWIFT_RUNTIME_CONCURRENCY_C_FLAGS} diff --git a/swift/stdlib/public/Platform/CMakeLists.txt b/swift/stdlib/public/Platform/CMakeLists.txt index 8ded40c5791..c811000b1d1 100644 --- a/swift/stdlib/public/Platform/CMakeLists.txt diff --git a/packages/swift/swift-corelibs-foundation-Sources-Foundation-CMakeLists.txt.patch b/packages/swift/swift-corelibs-foundation-Sources-Foundation-CMakeLists.txt.patch index ce9d8a80f..e13fd9180 100644 --- a/packages/swift/swift-corelibs-foundation-Sources-Foundation-CMakeLists.txt.patch +++ b/packages/swift/swift-corelibs-foundation-Sources-Foundation-CMakeLists.txt.patch @@ -2,13 +2,9 @@ diff --git a/swift-corelibs-foundation/Sources/Foundation/CMakeLists.txt b/swift index 016bf294..cd534f16 100644 --- a/swift-corelibs-foundation/Sources/Foundation/CMakeLists.txt +++ b/swift-corelibs-foundation/Sources/Foundation/CMakeLists.txt -@@ -166,7 +166,14 @@ if(CMAKE_SYSTEM_NAME STREQUAL Windows) - target_link_options(Foundation PRIVATE +@@ -166,6 +166,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL Windows) $) elseif(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) -+ if(NOT BUILD_SHARED_LIBS) -+ target_compile_options(Foundation PRIVATE "SHELL:-disallow-use-new-driver") -+ endif() target_link_options(Foundation PRIVATE "SHELL:-no-toolchain-stdlib-rpath") + if(${CMAKE_SYSTEM_NAME} STREQUAL Android) + target_link_libraries(Foundation PRIVATE android-spawn) diff --git a/packages/swift/swift-driver-Sources-SwiftDriver-Jobs-GenericUnixToolchain+LinkerSupport.swift.patch b/packages/swift/swift-driver-Sources-SwiftDriver-Jobs-GenericUnixToolchain+LinkerSupport.swift.patch deleted file mode 100644 index 60dd24028..000000000 --- a/packages/swift/swift-driver-Sources-SwiftDriver-Jobs-GenericUnixToolchain+LinkerSupport.swift.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8dda3589e3e9fc940e8704a083a54a647ffde795 -From: Saleem Abdulrasool -Date: Fri, 23 Jul 2021 09:26:48 -0700 -Subject: [PATCH] Jobs: do not inject the swiftautolink file into archives - -It has been observed that a static library may sometimes contain the -autolink extracted rules. This causes autolink-extract to not be able -to process the archive as a dependency, causing a build failure. ---- - .../SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/swift-driver/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift b/swift-driver/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift -index a08e3fa1..93eceb72 100644 ---- a/swift-driver/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift -+++ b/swift-driver/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift -@@ -290,7 +290,8 @@ extension GenericUnixToolchain { - commandLine.appendFlag("crs") - commandLine.appendPath(outputFile) - -- commandLine.append(contentsOf: inputs.map { .path($0.file) }) -+ commandLine.append(contentsOf: inputs.filter { $0.type == .object } -+ .map { .path($0.file) }) - return try getToolPath(.staticLinker(lto)) - } - diff --git a/packages/swift/swift-ndk-23.patch b/packages/swift/swift-ndk-23.patch index 42a2513fe..cbf52096c 100644 --- a/packages/swift/swift-ndk-23.patch +++ b/packages/swift/swift-ndk-23.patch @@ -321,18 +321,6 @@ index b9ed0d10833..da6618507ec 100644 if '@SWIFT_INCLUDE_TOOLS@' == 'TRUE': config.available_features.add('swift_tools_extra') -diff --git a/swift/utils/build-script b/swift/utils/build-script -index 3fd0497330b..b34078757a4 100755 ---- a/swift/utils/build-script -+++ b/swift/utils/build-script -@@ -686,7 +686,6 @@ class BuildScriptInvocation(object): - "--android-arch", args.android_arch, - "--android-ndk", args.android_ndk, - "--android-api-level", args.android_api_level, -- "--android-ndk-gcc-version", args.android_ndk_gcc_version, - "--android-icu-uc", args.android_icu_uc, - "--android-icu-uc-include", args.android_icu_uc_include, - "--android-icu-i18n", args.android_icu_i18n, diff --git a/swift/utils/build-script-impl b/swift/utils/build-script-impl index 3971ac0c5e1..93efa3811eb 100755 --- a/swift/utils/build-script-impl @@ -429,3 +417,15 @@ index 962c633f191..9da09c7bd39 100644 # Let the main config do the real work. config.test_exec_root = os.path.dirname(os.path.realpath(__file__)) lit_config.load_config(config, "@SWIFT_SOURCE_DIR@/validation-test/lit.cfg") +diff --git a/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py b/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py +index 1e8e70d42a5..2ea2450825a 100644 +--- a/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py ++++ b/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py +@@ -306,7 +306,6 @@ class BuildScriptInvocation(object): + "--android-arch", args.android_arch, + "--android-ndk", args.android_ndk, + "--android-api-level", args.android_api_level, +- "--android-ndk-gcc-version", args.android_ndk_gcc_version, + "--android-icu-uc", args.android_icu_uc, + "--android-icu-uc-include", args.android_icu_uc_include, + "--android-icu-i18n", args.android_icu_i18n, diff --git a/packages/swift/swift-vend-swiftpm-flags.patch b/packages/swift/swift-vend-swiftpm-flags.patch index de156ee7e..63a31dbf1 100644 --- a/packages/swift/swift-vend-swiftpm-flags.patch +++ b/packages/swift/swift-vend-swiftpm-flags.patch @@ -12,38 +12,6 @@ Swift packages. Also, make using a prebuilt toolchain explicit and pass an install prefix in to swift-driver. -diff --git a/swift/utils/build-script b/swift/utils/build-script -index e19967df1fa40..afd6d76933987 100755 ---- a/swift/utils/build-script -+++ b/swift/utils/build-script -@@ -558,6 +558,10 @@ class BuildScriptInvocation(object): - if args.cross_compile_hosts: - impl_args += [ - "--cross-compile-hosts", " ".join(args.cross_compile_hosts)] -+ if args.cross_compile_deps_path is not None: -+ impl_args += [ -+ "--cross-compile-deps-path=%s" % args.cross_compile_deps_path -+ ] - - if args.test_paths: - impl_args += ["--test-paths", " ".join(args.test_paths)] -@@ -1075,9 +1079,14 @@ class BuildScriptInvocation(object): - # Core Lipo... - self._execute_merged_host_lipo_core_action() - -+ non_darwin_cross_compile_hostnames = [ -+ target for target in self.args.cross_compile_hosts if not -+ StdlibDeploymentTarget.get_target_for_name(target).platform.is_darwin] - # Non-build-script-impl products... -- # Note: currently only supports building for the host. -- for host_target in [self.args.host_target]: -+ # Note: currently only supports cross-compiling for non-Darwin hosts. -+ for host_target in [self.args.host_target] + non_darwin_cross_compile_hostnames: -+ if self.args.skip_local_build and host_target == self.args.host_target: -+ continue - for product_class in product_classes: - if product_class.is_build_script_impl_product(): - continue diff --git a/swift/utils/build_swift/build_swift/driver_arguments.py b/swift/utils/build_swift/build_swift/driver_arguments.py index 850c30dce3d86..fcd2f52f349be 100644 --- a/swift/utils/build_swift/build_swift/driver_arguments.py @@ -80,6 +48,38 @@ index bc0041beea192..fa15ca93bb897 100644 PathOption('--host-cc'), PathOption('--host-cxx'), PathOption('--host-libtool'), +diff --git a/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py b/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py +index fb1237dd6d6..be697fda761 100644 +--- a/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py ++++ b/swift/utils/swift_build_support/swift_build_support/build_script_invocation.py +@@ -181,6 +181,10 @@ class BuildScriptInvocation(object): + if args.cross_compile_hosts: + impl_args += [ + "--cross-compile-hosts", " ".join(args.cross_compile_hosts)] ++ if args.cross_compile_deps_path is not None: ++ impl_args += [ ++ "--cross-compile-deps-path=%s" % args.cross_compile_deps_path ++ ] + + if args.test_paths: + impl_args += ["--test-paths", " ".join(args.test_paths)] +@@ -666,9 +670,14 @@ class BuildScriptInvocation(object): + # Core Lipo... + self._execute_merged_host_lipo_core_action() + ++ non_darwin_cross_compile_hostnames = [ ++ target for target in self.args.cross_compile_hosts if not ++ StdlibDeploymentTarget.get_target_for_name(target).platform.is_darwin] + # Non-build-script-impl products... +- # Note: currently only supports building for the host. +- for host_target in [self.args.host_target]: ++ # Note: currently only supports cross-compiling for non-Darwin hosts. ++ for host_target in [self.args.host_target] + non_darwin_cross_compile_hostnames: ++ if self.args.skip_local_build and host_target == self.args.host_target: ++ continue + for product_class in product_classes: + if product_class.is_build_script_impl_product(): + continue diff --git a/swift/utils/swift_build_support/swift_build_support/products/product.py b/swift/utils/swift_build_support/swift_build_support/products/product.py index fd202b8cf1738..741353f15ce45 100644 --- a/swift/utils/swift_build_support/swift_build_support/products/product.py