diff --git a/packages/swift/build.sh b/packages/swift/build.sh index 8a48b4bb8..507c28fad 100644 --- a/packages/swift/build.sh +++ b/packages/swift/build.sh @@ -2,11 +2,10 @@ 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.3.2 +TERMUX_PKG_VERSION=5.3.3 SWIFT_RELEASE="RELEASE" -TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/apple/swift/archive/swift-$TERMUX_PKG_VERSION-$SWIFT_RELEASE.tar.gz -TERMUX_PKG_SHA256=2087bb002dfef7ea2d7fbfaa097eeafd10d997cae52e2f34bb115fca68dd8039 +TERMUX_PKG_SHA256=f32b9dd541fbf3a412123138eb8aaf0fa793d866779c6c3cd5df6621788258c3 TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_DEPENDS="binutils-gold, clang, libc++, ndk-sysroot, libandroid-glob, libandroid-spawn, libcurl, libicu, libicu-static, libsqlite, libuuid, libxml2, libdispatch, llbuild" TERMUX_PKG_BUILD_DEPENDS="cmake, ninja, perl, pkg-config, python2, rsync" @@ -32,13 +31,13 @@ termux_step_post_get_source() { mv .temp swift declare -A library_checksums - library_checksums[swift-cmark]=d20bc09a2c76c3fb161886025334cb7e3e9884037ad91d2fa4b42ef36dfee958 - library_checksums[llvm-project]=838e41803613ce4890f4259eef1d99ee4cf1b7cbdf1c664e04e4958863999b38 - library_checksums[swift-corelibs-libdispatch]=d18ad8f24e3461108d8e2e0c838c8fca671f808ab8d06a2c32a7065f321995a1 - library_checksums[swift-corelibs-foundation]=e1bd30e4ad88484b12d7af600c7460bc3495efbf07f243d1ddb543779793a735 - library_checksums[swift-corelibs-xctest]=1f7771c0bc14ce1c6efdc9533c31d063e47af555e1ee6fc5cef42677f96a4131 - library_checksums[swift-llbuild]=296cee1a19c17375877d88084e20e5d98bcc7a87950f3ade143c0222439f1c9d - library_checksums[swift-package-manager]=e62bbe51d90a93ad52b668e7a882c6a6488782b7e2a5cd74737c177882ebd681 + library_checksums[swift-cmark]=24316b173df877c02ea6f3a080b2bf69e8b644a301d3510e9c13fa1059b279e9 + library_checksums[llvm-project]=fe3fb21653263c3dd4b9e02794169445f5460751b155a4c7277a37145ce057f3 + library_checksums[swift-corelibs-libdispatch]=84a482afefdcda26c7dc83e3b75e662ed7705786a34a6b4958c0cdc6cace2c46 + library_checksums[swift-corelibs-foundation]=a11ef4cf6e26d9055bbf0d9c56fe018578b8e1ca1f1733f982b5bb95a01ee11a + library_checksums[swift-corelibs-xctest]=64812585a4acdf9eaf481039455102b87a33e6f762abef3891ecc9c4a222883c + library_checksums[swift-llbuild]=560a6f12292de156be23a22ea0932f95e300443ad1d422e03a7dacb689e74e78 + library_checksums[swift-package-manager]=ad79ddfff3c0bdafa28594206f02ac22956a0e98067fd3fc546c355b9e571c5a for library in "${!library_checksums[@]}"; do \ termux_download \ @@ -57,7 +56,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 \ - dc360633c85ba16371646da55bcea9f4cf442e3312af2d3f5bb6e85f88d00f7c + e2624f2b56cd63011aa1a185ea3fa9aedf157efe86e6b21b3eacc569a948e75e fi fi # The Swift compiler searches for the clang headers so symlink against them. diff --git a/packages/swift/swift-corelibs-xctest-CMakeLists.txt.patch b/packages/swift/swift-corelibs-xctest-CMakeLists.txt.patch index 8a0ebea76..9f1e37576 100644 --- a/packages/swift/swift-corelibs-xctest-CMakeLists.txt.patch +++ b/packages/swift/swift-corelibs-xctest-CMakeLists.txt.patch @@ -9,14 +9,11 @@ diff --git a/swift-corelibs-xctest/CMakeLists.txt b/swift-corelibs-xctest/CMakeL index 531e7c0..589930f 100644 --- a/swift-corelibs-xctest/CMakeLists.txt +++ b/swift-corelibs-xctest/CMakeLists.txt -@@ -56,6 +56,10 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) - target_link_libraries(XCTest PRIVATE - dispatch +@@ -58,6 +58,7 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin) Foundation) -+ if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows) -+ target_link_options(XCTest PRIVATE "SHELL:-no-toolchain-stdlib-rpath") + if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows) + target_link_options(XCTest PRIVATE "SHELL:-no-toolchain-stdlib-rpath") + set_target_properties(XCTest PROPERTIES INSTALL_RPATH "$ORIGIN") -+ endif() + endif() endif() set_target_properties(XCTest PROPERTIES - Swift_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/swift diff --git a/packages/swift/swift-utils-build-script-impl-build.patch b/packages/swift/swift-utils-build-script-impl-build.patch index 5dc356e8d..daba7251b 100644 --- a/packages/swift/swift-utils-build-script-impl-build.patch +++ b/packages/swift/swift-utils-build-script-impl-build.patch @@ -7,7 +7,7 @@ diff --git a/swift/utils/build-script-impl b/swift/utils/build-script-impl index 7f39ff97459..af310ec8cbf 100755 --- a/swift/utils/build-script-impl +++ b/swift/utils/build-script-impl -@@ -1604,6 +1604,18 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -1584,6 +1584,18 @@ for host in "${ALL_HOSTS[@]}"; do ) fi @@ -26,7 +26,7 @@ index 7f39ff97459..af310ec8cbf 100755 for product in "${PRODUCTS[@]}"; do [[ $(should_execute_action "${host}-${product/_static}-build") ]] || continue -@@ -2066,7 +2078,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2022,7 +2034,7 @@ for host in "${ALL_HOSTS[@]}"; do -DCMAKE_C_FLAGS="$(llvm_c_flags ${host})" -DCMAKE_CXX_FLAGS="$(llvm_c_flags ${host})" -DCMAKE_BUILD_TYPE:STRING="${LLDB_BUILD_TYPE}" @@ -35,7 +35,7 @@ index 7f39ff97459..af310ec8cbf 100755 -DLLDB_SWIFT_LIBS:PATH="$(build_directory ${LOCAL_HOST} swift)/lib/swift" -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" -DLLDB_FRAMEWORK_INSTALL_DIR="$(get_host_install_prefix ${host})../System/Library/PrivateFrameworks" -@@ -2100,15 +2112,17 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2073,8 +2085,10 @@ for host in "${ALL_HOSTS[@]}"; do "${llbuild_cmake_options[@]}" -DCMAKE_BUILD_TYPE:STRING="${LLBUILD_BUILD_TYPE}" @@ -44,9 +44,10 @@ index 7f39ff97459..af310ec8cbf 100755 -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" - -DCMAKE_Swift_COMPILER:PATH="$(build_directory_bin ${LOCAL_HOST} swift)/swiftc" + -DCMAKE_Swift_COMPILER:PATH=${SWIFTC_BIN} + -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" -DLLBUILD_ENABLE_ASSERTIONS:BOOL=$(true_false "${LLBUILD_ENABLE_ASSERTIONS}") - -DLLBUILD_SUPPORT_BINDINGS:=Swift +@@ -2082,7 +2096,7 @@ for host in "${ALL_HOSTS[@]}"; do -DLIT_EXECUTABLE:PATH="${LLVM_SOURCE_DIR}/utils/lit/lit.py" -DFILECHECK_EXECUTABLE:PATH="$(build_directory_bin ${LOCAL_HOST} llvm)/FileCheck" @@ -55,7 +56,7 @@ index 7f39ff97459..af310ec8cbf 100755 -DFOUNDATION_BUILD_DIR:PATH="$(build_directory ${host} foundation)" -DLIBDISPATCH_BUILD_DIR:PATH="$(build_directory ${host} libdispatch)" -DLIBDISPATCH_SOURCE_DIR:PATH="${LIBDISPATCH_SOURCE_DIR}" -@@ -2132,7 +2146,6 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2106,7 +2120,6 @@ for host in "${ALL_HOSTS[@]}"; do fi ;; xctest) @@ -63,7 +64,7 @@ index 7f39ff97459..af310ec8cbf 100755 XCTEST_BUILD_DIR=$(build_directory ${host} xctest) FOUNDATION_BUILD_DIR=$(build_directory ${host} foundation) SWIFT_BUILD_DIR=$(build_directory ${host} swift) -@@ -2170,14 +2183,12 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2144,14 +2157,12 @@ for host in "${ALL_HOSTS[@]}"; do echo "Cleaning the XCTest build directory" call rm -rf "${XCTEST_BUILD_DIR}" @@ -78,10 +79,10 @@ index 7f39ff97459..af310ec8cbf 100755 + -DCMAKE_C_COMPILER:PATH="${CLANG_BIN}/clang" + -DCMAKE_CXX_COMPILER:PATH="${CLANG_BIN}/clang++" + -DCMAKE_Swift_COMPILER:PATH=${SWIFTC_BIN} + -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" -DCMAKE_INSTALL_LIBDIR:PATH="lib" - -@@ -2188,7 +2199,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2163,7 +2174,7 @@ for host in "${ALL_HOSTS[@]}"; do -DXCTEST_PATH_TO_LIBDISPATCH_SOURCE:PATH=${LIBDISPATCH_SOURCE_DIR} -DXCTEST_PATH_TO_LIBDISPATCH_BUILD:PATH=$(build_directory ${host} libdispatch) -DXCTEST_PATH_TO_FOUNDATION_BUILD:PATH=${FOUNDATION_BUILD_DIR} @@ -90,7 +91,7 @@ index 7f39ff97459..af310ec8cbf 100755 -DCMAKE_PREFIX_PATH:PATH=$(build_directory ${host} llvm) -DENABLE_TESTING=YES -@@ -2203,9 +2214,6 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2178,9 +2189,6 @@ for host in "${ALL_HOSTS[@]}"; do # is not yet built at this point. XCTEST_BUILD_DIR=$(build_directory ${host} xctest) @@ -100,7 +101,7 @@ index 7f39ff97459..af310ec8cbf 100755 if [[ ${host} == "macosx"* ]]; then echo "Skipping Foundation on OS X -- use the Xcode project instead" continue -@@ -2257,8 +2265,8 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2220,8 +2228,8 @@ for host in "${ALL_HOSTS[@]}"; do cmake_options=( ${cmake_options[@]} -DCMAKE_BUILD_TYPE:STRING=${FOUNDATION_BUILD_TYPE} @@ -110,8 +111,8 @@ index 7f39ff97459..af310ec8cbf 100755 + -DCMAKE_CXX_COMPILER:PATH=${CLANG_BIN}/clang++ -DCMAKE_SWIFT_COMPILER:PATH=${SWIFTC_BIN} -DCMAKE_Swift_COMPILER:PATH=${SWIFTC_BIN} - -DCMAKE_INSTALL_PREFIX:PATH=$(get_host_install_prefix ${host}) -@@ -2277,8 +2285,6 @@ for host in "${ALL_HOSTS[@]}"; do + -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" +@@ -2244,8 +2252,6 @@ for host in "${ALL_HOSTS[@]}"; do libdispatch|libdispatch_static) LIBDISPATCH_BUILD_DIR=$(build_directory ${host} ${product}) SWIFT_BUILD_PATH="$(build_directory ${host} swift)" @@ -120,7 +121,7 @@ index 7f39ff97459..af310ec8cbf 100755 case "${host}" in macosx-*) -@@ -2297,8 +2303,8 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2264,8 +2270,8 @@ for host in "${ALL_HOSTS[@]}"; do -DENABLE_SWIFT=YES ${cmake_options[@]} -DCMAKE_BUILD_TYPE:STRING="${LIBDISPATCH_BUILD_TYPE}" @@ -130,4 +131,4 @@ index 7f39ff97459..af310ec8cbf 100755 + -DCMAKE_CXX_COMPILER:PATH="${CLANG_BIN}/clang++" -DCMAKE_SWIFT_COMPILER:PATH="${SWIFTC_BIN}" -DCMAKE_Swift_COMPILER:PATH="${SWIFTC_BIN}" - -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" + -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" diff --git a/packages/swift/swift-utils-build-script-impl-cross.patch b/packages/swift/swift-utils-build-script-impl-cross.patch index 8747e597a..b5e92a47c 100644 --- a/packages/swift/swift-utils-build-script-impl-cross.patch +++ b/packages/swift/swift-utils-build-script-impl-cross.patch @@ -20,7 +20,7 @@ index 6f0c2b5bf71..db6e0ad10d6 100755 skip-merge-lipo-cross-compile-tools "" "set to skip running merge-lipo after installing cross-compiled host Swift tools" coverage-db "" "If set, coverage database to use when prioritizing testing" skip-local-host-install "" "If we are cross-compiling multiple targets, skip an install pass locally if the hosts match" -@@ -1543,6 +1544,9 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -1621,6 +1622,9 @@ for host in "${ALL_HOSTS[@]}"; do -DCMAKE_BUILD_TYPE:STRING="${CMARK_BUILD_TYPE}" "${cmark_cmake_options[@]}" ) @@ -30,7 +30,7 @@ index 6f0c2b5bf71..db6e0ad10d6 100755 build_targets=(all) ;; -@@ -1647,6 +1651,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -1725,6 +1729,7 @@ for host in "${ALL_HOSTS[@]}"; do -DCLANG_TABLEGEN=$(build_directory "${LOCAL_HOST}" llvm)/bin/clang-tblgen -DLLVM_NATIVE_BUILD=$(build_directory "${LOCAL_HOST}" llvm) ) @@ -38,15 +38,16 @@ index 6f0c2b5bf71..db6e0ad10d6 100755 fi ;; -@@ -2017,6 +2022,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2089,7 +2094,7 @@ for host in "${ALL_HOSTS[@]}"; do -DCMAKE_CXX_COMPILER:PATH="${CLANG_BIN}/clang++" -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" -DCMAKE_Swift_COMPILER:PATH=${SWIFTC_BIN} -+ -DCMAKE_Swift_FLAGS:STRING="$(common_swift_flags ${host})" +- -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" ++ -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\" $(common_swift_flags ${host})" -DLLBUILD_ENABLE_ASSERTIONS:BOOL=$(true_false "${LLBUILD_ENABLE_ASSERTIONS}") -DLLBUILD_SUPPORT_BINDINGS:=Swift -@@ -2032,6 +2038,16 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2105,6 +2110,16 @@ for host in "${ALL_HOSTS[@]}"; do -DFoundation_DIR:PATH=$(build_directory ${host} foundation)/cmake/modules ) @@ -63,15 +64,16 @@ index 6f0c2b5bf71..db6e0ad10d6 100755 # Ensure on Darwin platforms that we consider only the SQLite headers # from the SDK instead of picking ones found elsewhere # (e.g. in /usr/include ) -@@ -2090,6 +2106,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2163,7 +2178,7 @@ for host in "${ALL_HOSTS[@]}"; do -DCMAKE_C_COMPILER:PATH="${CLANG_BIN}/clang" -DCMAKE_CXX_COMPILER:PATH="${CLANG_BIN}/clang++" -DCMAKE_Swift_COMPILER:PATH=${SWIFTC_BIN} -+ -DCMAKE_Swift_FLAGS:STRING="$(common_swift_flags ${host})" +- -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" ++ -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\" $(common_swift_flags ${host})" -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" -DCMAKE_INSTALL_LIBDIR:PATH="lib" -@@ -2105,6 +2122,9 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2179,6 +2194,9 @@ for host in "${ALL_HOSTS[@]}"; do -DENABLE_TESTING=YES ) @@ -81,15 +83,16 @@ index 6f0c2b5bf71..db6e0ad10d6 100755 ;; esac -@@ -2158,6 +2175,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2232,7 +2250,7 @@ for host in "${ALL_HOSTS[@]}"; do -DCMAKE_CXX_COMPILER:PATH=${CLANG_BIN}/clang++ -DCMAKE_SWIFT_COMPILER:PATH=${SWIFTC_BIN} -DCMAKE_Swift_COMPILER:PATH=${SWIFTC_BIN} -+ -DCMAKE_Swift_FLAGS:STRING="$(common_swift_flags ${host})" +- -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" ++ -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\" $(common_swift_flags ${host})" -DCMAKE_INSTALL_PREFIX:PATH=$(get_host_install_prefix ${host}) ${LIBICU_BUILD_ARGS[@]} -@@ -2173,6 +2191,17 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2248,6 +2266,17 @@ for host in "${ALL_HOSTS[@]}"; do -DBUILD_SHARED_LIBS=$([[ ${product} == foundation_static ]] && echo "NO" || echo "YES") ) @@ -107,15 +110,16 @@ index 6f0c2b5bf71..db6e0ad10d6 100755 ;; libdispatch|libdispatch_static) LIBDISPATCH_BUILD_DIR=$(build_directory ${host} ${product}) -@@ -2199,6 +2228,7 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2274,7 +2303,7 @@ for host in "${ALL_HOSTS[@]}"; do -DCMAKE_CXX_COMPILER:PATH="${CLANG_BIN}/clang++" -DCMAKE_SWIFT_COMPILER:PATH="${SWIFTC_BIN}" -DCMAKE_Swift_COMPILER:PATH="${SWIFTC_BIN}" -+ -DCMAKE_Swift_FLAGS:STRING="$(common_swift_flags ${host})" +- -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\"" ++ -DCMAKE_Swift_FLAGS:STRING="-module-cache-path \"${module_cache}\" $(common_swift_flags ${host})" -DCMAKE_INSTALL_PREFIX:PATH="$(get_host_install_prefix ${host})" -DCMAKE_INSTALL_LIBDIR:PATH="lib" -@@ -2207,6 +2237,9 @@ for host in "${ALL_HOSTS[@]}"; do +@@ -2283,6 +2312,9 @@ for host in "${ALL_HOSTS[@]}"; do -DENABLE_TESTING=YES -DBUILD_SHARED_LIBS=$([[ ${product} == libdispatch_static ]] && echo "NO" || echo "YES") )