diff --git a/.gitignore b/.gitignore index 20815f8..a914ee8 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /release-65-1.tar.gz /0.4.3.tar.gz /1.1.5.tar.gz +/ninja.tar.gz diff --git a/build-presets.patch b/build-presets.patch new file mode 100644 index 0000000..c608c84 --- /dev/null +++ b/build-presets.patch @@ -0,0 +1,76 @@ +--- swift/utils/build-presets.ini-orig 2021-09-23 08:59:28.810313021 -0500 ++++ swift/utils/build-presets.ini 2021-10-01 15:06:55.158508958 -0500 +@@ -785,7 +785,6 @@ + libicu + libcxx + +-build-ninja + install-llvm + install-swift + install-lldb +@@ -866,6 +865,65 @@ + buildbot_linux + mixin_buildbot_linux,no_test + ++# Preset for Fedora Linux ++[preset: buildbot_linux_fedora,no_test] ++mixin-preset= ++ mixin_lightweight_assertions,no-stdlib-asserts ++ mixin_linux_install_components_with_clang ++build-subdir=buildbot_linux ++ ++lldb ++release ++foundation ++libdispatch ++indexstore-db ++sourcekit-lsp ++lit-args=-v --time-tests ++ ++llbuild ++swiftpm ++swift-driver ++xctest ++libicu ++libcxx ++ ++install-foundation ++install-libdispatch ++reconfigure ++ ++install-llvm ++install-swift ++install-lldb ++install-llbuild ++install-swiftpm ++install-swift-driver ++install-xctest ++install-libicu ++install-prefix=/usr ++install-libcxx ++install-sourcekit-lsp ++build-swift-static-stdlib ++build-swift-static-sdk-overlay ++build-swift-stdlib-unittest-extra ++ ++# Path to the root of the installation filesystem. ++install-destdir=%(install_destdir)s ++ ++# Path to the .tar.gz package we would create. ++installable-package=%(installable_package)s ++ ++# Executes the lit tests for the installable package that is created ++# Assumes the swift-integration-tests repo is checked out ++ ++test-installable-package ++ ++# This ensures the default module cache ++# location is local to this run, allowing ++# to schedule multiple builds safely ++# in Linux CI bots ++relocate-xdg-cache-home-under-build-subdir ++ ++ + [preset: buildbot_linux_crosscompile_android,tools=RA,stdlib=RD,build] + mixin-preset= + mixin_lightweight_assertions,no-stdlib-asserts diff --git a/pc-circular-dependencies-optimization.patch b/pc-circular-dependencies-optimization.patch deleted file mode 100644 index a29197c..0000000 --- a/pc-circular-dependencies-optimization.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 14983644da3b8bbb32aa2823602e4161bf3e2ec9 Mon Sep 17 00:00:00 2001 -From: Dadoum -Date: Tue, 4 May 2021 01:06:34 +0200 -Subject: [PATCH] [PkgConfig] Cache PkgConfig and avoid reparsing multiple time - the same file. - ---- - swift-tools-support-core/Sources/TSCUtility/PkgConfig.swift | 31 ++++++++++++++++++------------ - 1 file changed, 19 insertions(+), 12 deletions(-) - -diff --git a/swift-tools-support-core/Sources/TSCUtility/PkgConfig.swift b/swift-tools-support-core/Sources/TSCUtility/PkgConfig.swift -index 45d80995..558c81e7 100644 ---- a/swift-tools-support-core/Sources/TSCUtility/PkgConfig.swift -+++ b/swift-tools-support-core/Sources/TSCUtility/PkgConfig.swift -@@ -115,6 +115,8 @@ public class LoadingContext { - - /// Information on an individual `pkg-config` supported package. - public struct PkgConfig { -+ public static var pkgConfigCache: [String: PkgConfig] = [String: PkgConfig]() -+ - /// The name of the package. - public let name: String - -@@ -179,18 +181,23 @@ public struct PkgConfig { - continue - } - -- // FIXME: This is wasteful, we should be caching the PkgConfig result. -- let pkg = try PkgConfig( -- name: dep, -- additionalSearchPaths: additionalSearchPaths, -- diagnostics: diagnostics, -- fileSystem: fileSystem, -- brewPrefix: brewPrefix, -- loadingContext: loadingContext -- ) -- -- cFlags += pkg.cFlags -- libs += pkg.libs -+ if !PkgConfig.pkgConfigCache.keys.contains(dep) { -+ PkgConfig.pkgConfigCache[dep] = try PkgConfig( -+ name: dep, -+ additionalSearchPaths: additionalSearchPaths, -+ diagnostics: diagnostics, -+ fileSystem: fileSystem, -+ brewPrefix: brewPrefix, -+ loadingContext: loadingContext -+ ) -+ } -+ -+ guard let cachedPkg = PkgConfig.pkgConfigCache[dep] else { -+ fatalError("Cannot retrieve cached pkgConfig result") -+ } -+ -+ cFlags += cachedPkg.cFlags -+ libs += cachedPkg.libs - } - - return (cFlags: cFlags, libs: libs) diff --git a/sources b/sources index 0a579f8..1907edd 100644 --- a/sources +++ b/sources @@ -1,19 +1,20 @@ SHA512 (0.4.3.tar.gz) = d5f4eefe7b7b215e76f8f035a2481c73fa716fe199894874122ea51a27c885ab7780647099fdbfbaebf7d8df1da1b59483d10e9fa869e26e3d34df881d14b665 SHA512 (1.1.5.tar.gz) = cf4c5a1607325ef6b38e8ad330b54e8366bc540fab20b519cb3e3b8d73052ada93a358286ede73a7b7ae58a4641c5857f1fc820db768cbcacd65b20d3e6842d2 SHA512 (4.0.2.zip) = b3568bf5d0db1d3ad9eb72a8d049ebe26219a68796771a5023d134e8648927805f9c476f0572c51bb171cfbf1f2aa511db0a069b73a39962b217b36594a885a8 -SHA512 (cmark.tar.gz) = 78894077b00d4f73f9d7fff04e5145a9f268be6de306b2801669107edc05985c3568ccae7d5ec347e99411afd3b45f32e36cb1a03c3429b166640884a6629f23 -SHA512 (corelibs-foundation.tar.gz) = c1ba5f9e6916799128221a9427ad0ab764e81f5bb573b248ed7b40feb85a51d6225d5c6e59d8a2084d85b5a4b9903ca0266e68a0c0d174c41ec8d5100d4d1a91 -SHA512 (corelibs-libdispatch.tar.gz) = 58ad7122d2fac7b117f4e81eec2b5c1dfdf5256865337110d660790744e83c3fea5e82fbe521b6e56fd0e2f09684e5e1475cf2cac67989a8f78dd0a284fb0d21 -SHA512 (corelibs-xctest.tar.gz) = cd780ef745a364651eaf6f678adc52610fab7736e3517907930c917de648509d95d868a98c113c20a78b3c094413418d4d2a355c3d27824c74161c4592456fec -SHA512 (indexstore-db.tar.gz) = 3711969d7679f30f4f2df428066b0e8029c087f86d9e3d4fdd1f1af9000c19baf2be20ab51d1e952d2ef18bee2d31d4e6c8236a7d53ec6f1cc44f663d0ffadf1 -SHA512 (llbuild.tar.gz) = d699913b46c34e84d1fa9752fdc972b9b259d5a5529aa56d386213182a5e1b7fad696327a14c3cdfe628f9146d22f4d72edd7868bc86dbd443736c475284e980 -SHA512 (llvm-project.tar.gz) = cc0014de669b0c1f9df49149590ec5fbe7c2175de98c8053c56593a8f25dd45bd56eed04bbb6e5a1de74507b11314f325c9d84d68ff904975b5075ffebdd6d01 -SHA512 (package-manager.tar.gz) = 7510733305823da3d0b0eca3378f3a101e4382334427a0c35b6748321a119c09cd4d1a6f039e917d36df3d14784d3f3159f51f24db0f28fb1e121499bd01fa68 +SHA512 (cmark.tar.gz) = e5bcaece74c27b385b295c3ccd48add7178587c29774c4370679a1f8ee4651852a294911377b24b8b8823136f0b8a73fa7af96331cf5d4a89991642331e6da0a +SHA512 (corelibs-foundation.tar.gz) = c6e964ec9568f10a23e3dda6471ee500891f767b567c5cb651f3c66a09fe8ef1429a78c3b475f78e2e14145bc1e08ee63a011b6f1b7d53adb7facdf319b6924e +SHA512 (corelibs-libdispatch.tar.gz) = 2c3ccb447660731830a289569649637f76b7f0c8b739550e4eb46416008bb233c3e56cc0658edb256fdc0ae99a4cd45cf12db1ddcd5c88e78736b9c62e2d7817 +SHA512 (corelibs-xctest.tar.gz) = 58e6e4ae3d3e9c382b3c59ad49ebef3164d53c453dd45943e4fecb391d515676bcc7c42e04d8340f89c28d7c18a159ec2f46f309368cea72227860c9fb51e0c7 +SHA512 (indexstore-db.tar.gz) = f7488d1db3f4473ef857345de89ab57055c73265a3e4323a1ae3fde75fbf81ca95d02daccf3421ed5a54c42c39fec5fcf21b708bd37b655b6ca9e84b7a7f3c15 +SHA512 (llbuild.tar.gz) = a1fb7c0fe5f8a7e3a9f5b20ddad4c2a3c179f42ccf299d8a9da79d7f03c249394381c0ea63c78a5a8edc74371c6d6bffee0fa17753e806208f21ee385d2a26bb +SHA512 (llvm-project.tar.gz) = 4455a19497fad4ee0e5cd0747a8eca7a00a5878a56ae0f3b026863712d041d0cb1c1ab0bdd70b3aa922f83eee2cc06a9536f9291c259c7ebc0782e39ba6c283a +SHA512 (ninja.tar.gz) = 895412ae1cbc83c656e92f282602a29300e08274e9dea0da4464202ae556e7a1ab03bec057f23da4756bbd91bd2d744cd7a64b336740fd2782bb4db5c3b7b496 +SHA512 (package-manager.tar.gz) = 9e8273ace9c66de894f02abb2782d3339c38df393c7a539bdf5862e4ce49ad3fd91c294d76461e3fbc9f16fa81cee52bee00e8b3f79af96632e080fbfc278983 SHA512 (release-65-1.tar.gz) = 6902ccee36b29f31d7615d5bf5ce78e0d33744c8dcefce1aec90de7e18e384f673b4301fcca1f3cbe81f236dc250763104bff1af240621ff54b65a053ba6f6d7 -SHA512 (sourcekit-lsp.tar.gz) = ff7d5232e542cb547a85632a91fdf24892c13abee23bffb393642aec21e881e38adb175543fd826a3d1348694425accef7b9ed3ae7a88c2201517b69c743904f -SHA512 (swift-driver.tar.gz) = 7f4753e15b197307feea703b685dc8cf73f1c5ac77863c6dccba09881b3aed6e93362bae7fdbe8395eb9cc088e5b506392ee9c752138f0131883971d4a6f3698 -SHA512 (swift-integration-tests.tar.gz) = 3e431b0414ec6bf70de740aa726d3e741dc9f192f97db3310d99c32ce6c7d1c24eb617702a6c5c92c3a32c74c098333c549c72666995aef229d2a9f9cfc5dbab -SHA512 (swift-syntax.tar.gz) = 82cbcb990725fbc7ede133c95e10fd309b7abc0e2d2d015565c1d94f064374ba59558f6cd2b47f958ea21431f750de836b1628071b7db524de3aad168fee64c8 -SHA512 (swift-tools-support-core.tar.gz) = cc6b4ef77538b1e0e509503bc5b1800c37a856d99bf00551c9c446314a40f4117851e87566314d2b1fe1820aff6249b07831ab4cad6b0eba8cfed4e4dae37a62 -SHA512 (swift-xcode-playground-support.tar.gz) = 475c568860bb99276b5be34d1de5b8a4e1e45e4a5d69e5871afc8db61643cbaf15e478c35b89fdeda3b10be1414b14e71f9d9663de044f1cf46fa39bda6362da -SHA512 (swift.tar.gz) = cd0df1fe312ab5de489cc639712f5b12f84e7df5e4afb46bb409eaca42c4631c76be72cd3c4b2e76eb43b35a6c33422d5e3f6e0e586e0bab1853425ced78c6f1 +SHA512 (sourcekit-lsp.tar.gz) = 696b6cb7d95052259f6743d398a9248815c1a6c494a64f40dcf0be73414f1b89540ce36bda000fb7d4b0849f24394a43b006a0c0345cdf12afd5535a794256b1 +SHA512 (swift-driver.tar.gz) = 0e18a061ac2c356d88ace8ff4ad0ed64ce180c8758ac304a85c9287224f4f9d4db20d7764e1b6e48adcb88116d19d3073d292141018a408c75430f8c15a4eb87 +SHA512 (swift-integration-tests.tar.gz) = 53bad29ad6b1987f71bdd039fbf18f47d72694768304fa9b2f68c82c05228449d8054042716732ec08807dff04ac16847b75fd025ec429647a4409191c2c4b8c +SHA512 (swift-syntax.tar.gz) = 7922517b3851e7e28a78a20806dff0ea53413a7c41cd5bd8a5fa64183f64596c69f17d40fa8c14c80c09dc4e33df7bce9557439f30da5440ce0bab4f5263ff70 +SHA512 (swift-tools-support-core.tar.gz) = 8176714e9c4807550f850629b2f0d89eec532128e0641ca6cf5f95611bc435a703daeb9cf5d4994d2f3431baa5f691c5d38d954a0928476d8b2913653400b621 +SHA512 (swift-xcode-playground-support.tar.gz) = 081fce2f04216efef3eb297764086069e4618ea0765761e77a6b8c61ce66bf50606aaa4c1039710acbf72d96021d27c0adddf173e38a78ecd2dcbfcdfc5aa07b +SHA512 (swift.tar.gz) = 348a602c2334c928f358afb52e32c5534d9fdd4b4b3e652d9ca63fffc0b8a2b25e4a010e7ba0d161903b36769e5369c54a6641b1de480e1e303cf36b996bd554 diff --git a/swift-for-fedora.patch b/swift-for-fedora.patch deleted file mode 100644 index 213fbf0..0000000 --- a/swift-for-fedora.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -Naur swift-orig/cmake/modules/AddSwift.cmake swift/cmake/modules/AddSwift.cmake ---- swift-orig/cmake/modules/AddSwift.cmake 2021-01-11 09:24:03.000000000 -0600 -+++ swift/cmake/modules/AddSwift.cmake 2021-01-14 16:07:26.118061686 -0600 -@@ -288,7 +288,7 @@ - if(SWIFT_HOST_VARIANT_ARCH STREQUAL x86_64) - # this is the minimum architecture that supports 16 byte CAS, which is - # necessary to avoid a dependency to libatomic -- target_compile_options(${target} PRIVATE -march=core2) -+ target_compile_options(${target} PRIVATE -mcx16) - endif() - endif() - -diff -Naur swift-orig/stdlib/cmake/modules/AddSwiftStdlib.cmake swift/stdlib/cmake/modules/AddSwiftStdlib.cmake ---- swift-orig/stdlib/cmake/modules/AddSwiftStdlib.cmake 2021-01-11 09:24:03.000000000 -0600 -+++ swift/stdlib/cmake/modules/AddSwiftStdlib.cmake 2021-01-14 16:06:49.905752127 -0600 -@@ -306,7 +306,7 @@ - if("${CFLAGS_SDK}" STREQUAL "LINUX") - if(${CFLAGS_ARCH} STREQUAL x86_64) - # this is the minimum architecture that supports 16 byte CAS, which is necessary to avoid a dependency to libatomic -- list(APPEND result "-march=core2") -+ list(APPEND result "-mcx16") - endif() - endif() - -diff -Naur swift-orig/utils/build-presets.ini swift/utils/build-presets.ini ---- swift-orig/utils/build-presets.ini 2021-01-11 09:24:03.000000000 -0600 -+++ swift/utils/build-presets.ini 2021-01-14 15:42:31.063141040 -0600 -@@ -771,7 +771,6 @@ - libicu - libcxx - --build-ninja - install-llvm - install-swift - install-lldb -@@ -787,10 +786,6 @@ - build-swift-static-sdk-overlay - build-swift-stdlib-unittest-extra - --# Executes the lit tests for the installable package that is created --# Assumes the swift-integration-tests repo is checked out -- --test-installable-package - - # Build the benchmarks against the toolchain. - toolchain-benchmarks diff --git a/swift-lang.spec b/swift-lang.spec index a07b4cd..3760a55 100644 --- a/swift-lang.spec +++ b/swift-lang.spec @@ -1,13 +1,14 @@ %global debug_package %{nil} -%global swifttag 5.5-RELEASE +%global swifttag 5.5.1-RELEASE %global swiftbuild swift-source %global icu_version 65-1 %global yams_version 4.0.2 %global sap_version 0.4.3 %global swift_crypto_version 1.1.5 +%global ninja_version 1.10.2 Name: swift-lang -Version: 5.5 +Version: 5.5.1 Release: 1%{?dist} Summary: Apple's Swift programming language License: ASL 2.0 and Unicode @@ -32,10 +33,10 @@ Source15: https://github.com/unicode-org/icu/archive/release-%{icu_version Source16: https://github.com/apple/swift-syntax/archive/swift-%{swifttag}.zip#/swift-syntax.tar.gz Source17: https://github.com/jpsim/Yams/archive/%{yams_version}.zip Source18: https://github.com/apple/swift-crypto/archive/refs/tags/%{swift_crypto_version}.tar.gz +Source19: https://github.com/ninja-build/ninja/archive/refs/tags/v%{ninja_version}.tar.gz#/ninja.tar.gz -Patch0: swift-for-fedora.patch +Patch0: build-presets.patch Patch1: nocyclades.patch -Patch2: pc-circular-dependencies-optimization.patch Patch3: unusedvariable.patch BuildRequires: clang @@ -53,7 +54,6 @@ BuildRequires: libcurl-devel BuildRequires: libuuid-devel BuildRequires: libedit-devel BuildRequires: libicu-devel -BuildRequires: ninja-build BuildRequires: perl-podlators BuildRequires: python3-six BuildRequires: /usr/bin/pathfix.py @@ -70,6 +70,7 @@ Requires: ncurses-compat-libs ExclusiveArch: x86_64 aarch64 +Provides: swiftlang = %{version}-%{release} %description Swift is a general-purpose programming language built using @@ -84,7 +85,7 @@ correct programs easier for the developer. %prep -%setup -q -c -n %{swiftbuild} -a 0 -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 9 -a 10 -a 11 -a 12 -a 13 -a 14 -a 15 -a 16 -a 17 -a 18 +%setup -q -c -n %{swiftbuild} -a 0 -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 9 -a 10 -a 11 -a 12 -a 13 -a 14 -a 15 -a 16 -a 17 -a 18 -a 19 # The Swift build script requires directories to be named # in a specific way so renaming the source directories is # necessary @@ -112,15 +113,15 @@ mv icu-release-%{icu_version} icu # Yams mv Yams-%{yams_version} yams +# Ninja +mv ninja-%{ninja_version} ninja + # Since we require ninja for building, there's no sense to rebuild it just for Swift -%patch0 -p0 +#%patch0 -p0 # Remove Cyclades as it has been removed from the Linux kernel %patch1 -p0 -# Cache PkgConfig and avoid reparsing multiple time the same file. -%patch2 -p1 - # Temp patch to test libdispatch issue with clang 13 %patch3 -p0 @@ -172,6 +173,8 @@ export QA_SKIP_RPATHS=1 %changelog +* Wed Oct 27 2021 Ron Olson - 5.5.1-1 +- Updated to Swift 5.5.1-RELEASE * Tue Sep 21 2021 Ron Olson - 5.5-1 - Updated to Swift 5.5-RELEASE * Fri Sep 17 2021 Ron Olson - 5.4.3-2