|
| 1 | +%include global.inc |
| 2 | +%include metadata.inc |
| 3 | + |
| 4 | +Source0: https://github.com/apple/swift/archive/swift-%{swift_version}.tar.gz#/swift.tar.gz |
| 5 | +Source1: https://github.com/apple/swift-corelibs-libdispatch/archive/swift-%{swift_version}.tar.gz#/corelibs-libdispatch.tar.gz |
| 6 | +Source2: https://github.com/apple/swift-corelibs-foundation/archive/swift-%{swift_version}.tar.gz#/corelibs-foundation.tar.gz |
| 7 | +Source3: https://github.com/apple/swift-integration-tests/archive/swift-%{swift_version}.tar.gz#/swift-integration-tests.tar.gz |
| 8 | +Source4: https://github.com/apple/swift-corelibs-xctest/archive/swift-%{swift_version}.tar.gz#/corelibs-xctest.tar.gz |
| 9 | +Source5: https://github.com/apple/swift-package-manager/archive/swift-%{swift_version}.tar.gz#/package-manager.tar.gz |
| 10 | +Source6: https://github.com/apple/swift-llbuild/archive/swift-%{swift_version}.tar.gz#/llbuild.tar.gz |
| 11 | +Source7: https://github.com/apple/swift-cmark/archive/swift-%{swift_version}.tar.gz#/cmark.tar.gz |
| 12 | +Source8: https://github.com/apple/swift-xcode-playground-support/archive/swift-%{swift_version}.tar.gz#/swift-xcode-playground-support.tar.gz |
| 13 | +Source9: https://github.com/apple/sourcekit-lsp/archive/swift-%{swift_version}.tar.gz#/sourcekit-lsp.tar.gz |
| 14 | +Source10: https://github.com/apple/indexstore-db/archive/swift-%{swift_version}.tar.gz#/indexstore-db.tar.gz |
| 15 | +Source11: https://github.com/apple/llvm-project/archive/swift-%{swift_version}.tar.gz#/llvm-project.tar.gz |
| 16 | +Source12: https://github.com/apple/swift-tools-support-core/archive/swift-%{swift_version}.tar.gz#/swift-tools-support-core.tar.gz |
| 17 | +Source13: https://github.com/apple/swift-argument-parser/archive/%{swift_argument_parser_version}.tar.gz#/swift-argument-parser.tar.gz |
| 18 | +Source14: https://github.com/apple/swift-driver/archive/swift-%{swift_version}.tar.gz#/swift-driver.tar.gz |
| 19 | +Source15: https://github.com/unicode-org/icu/archive/release-%{icu_version}.tar.gz#/icu.tar.gz |
| 20 | +Source16: https://github.com/apple/swift-syntax/archive/swift-%{swift_version}.zip#/swift-syntax.tar.gz |
| 21 | +Source17: https://github.com/jpsim/Yams/archive/%{yams_version}.tar.gz#/yams.tar.gz |
| 22 | +Source18: https://github.com/apple/swift-crypto/archive/refs/tags/%{swift_crypto_version}.tar.gz#/swift-crypto.tar.gz |
| 23 | +Source19: https://github.com/ninja-build/ninja/archive/refs/tags/v%{ninja_version}.tar.gz#/ninja.tar.gz |
| 24 | +Source20: https://github.com/KitWare/CMake/archive/refs/tags/v%{cmake_version}.tar.gz#/cmake.tar.gz |
| 25 | +Source21: https://github.com/apple/swift-atomics/archive/%{swift_atomics_version}.tar.gz#/swift-atomics.tar.gz |
| 26 | +Source22: https://github.com/apple/swift-cmark/archive/swift-%{swift_version}-gfm.tar.gz#/swift-cmark-gfm.tar.gz |
| 27 | +Source23: https://github.com/apple/swift-docc/archive/swift-%{swift_version}.tar.gz#/swift-docc.tar.gz |
| 28 | +Source24: https://github.com/apple/swift-docc-render-artifact/archive/swift-%{swift_version}.tar.gz#/swift-docc-render-artifact.tar.gz |
| 29 | +Source25: https://github.com/apple/swift-docc-symbolkit/archive/swift-%{swift_version}.tar.gz#/swift-docc-symbolkit.tar.gz |
| 30 | +Source26: https://github.com/apple/swift-collections/archive/%{swift_collections_version}.tar.gz#/swift-collections.tar.gz |
| 31 | +Source27: https://github.com/apple/swift-numerics/archive/%{swift_numerics_version}.tar.gz#/swift-numerics.tar.gz |
| 32 | +Source28: https://github.com/apple/swift-system/archive/%{swift_system_version}.tar.gz#/swift-system.tar.gz |
| 33 | +Source29: https://github.com/apple/swift-nio/archive/%{swift_nio_version}.tar.gz#/swift-nio.tar.gz |
| 34 | +Source30: https://github.com/apple/swift-nio-ssl/archive/%{swift_nio_ssl_version}.tar.gz#/swift-nio-ssl.tar.gz |
| 35 | +Source31: https://github.com/apple/swift-format/archive/swift-%{swift_version}.tar.gz#/swift-format.tar.gz |
| 36 | +Source32: https://github.com/apple/swift-lmdb/archive/swift-%{swift_version}.tar.gz#/swift-lmdb.tar.gz |
| 37 | +Source33: https://github.com/apple/swift-markdown/archive/swift-%{swift_version}.tar.gz#/swift-markdown.tar.gz |
| 38 | + |
| 39 | +Patch0: patches/hwasan_symbolize.patch |
| 40 | + |
| 41 | +BuildRequires: autoconf |
| 42 | +BuildRequires: clang |
| 43 | +BuildRequires: diffutils |
| 44 | +BuildRequires: git |
| 45 | +BuildRequires: glibc-static |
| 46 | +BuildRequires: libbsd-devel |
| 47 | +BuildRequires: libcurl-devel |
| 48 | +BuildRequires: libedit-devel |
| 49 | +BuildRequires: libicu-devel |
| 50 | +BuildRequires: libstdc++-static |
| 51 | +BuildRequires: libtool |
| 52 | +BuildRequires: libuuid-devel |
| 53 | +BuildRequires: libxml2-devel |
| 54 | +BuildRequires: make |
| 55 | +BuildRequires: ncurses-devel |
| 56 | +BuildRequires: pcre-devel |
| 57 | +BuildRequires: platform-python-devel |
| 58 | +BuildRequires: python2 |
| 59 | +BuildRequires: python2-devel |
| 60 | +BuildRequires: python2-six |
| 61 | +BuildRequires: python3 |
| 62 | +BuildRequires: python3-pexpect |
| 63 | +BuildRequires: python3-six |
| 64 | +BuildRequires: rsync |
| 65 | +BuildRequires: sqlite-devel |
| 66 | +BuildRequires: swig |
| 67 | +BuildRequires: tar |
| 68 | +BuildRequires: which |
| 69 | + |
| 70 | +Requires: binutils |
| 71 | +Requires: gcc |
| 72 | +Requires: git |
| 73 | +Requires: glibc-static |
| 74 | +Requires: libbsd-devel |
| 75 | +Requires: libcurl-devel |
| 76 | +Requires: libedit |
| 77 | +Requires: libedit-devel |
| 78 | +Requires: libicu-devel |
| 79 | +Requires: libstdc++-static |
| 80 | +Requires: libxml2-devel |
| 81 | +Requires: pkg-config |
| 82 | +Requires: python3 |
| 83 | +Requires: sqlite |
| 84 | +Requires: zlib-devel |
| 85 | + |
| 86 | +ExclusiveArch: x86_64 aarch64 |
| 87 | + |
| 88 | +%description |
| 89 | +%include description.inc |
| 90 | + |
| 91 | +%prep |
| 92 | +%setup -q -c -n %{swift_source_location} -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 -a 20 -a 21 -a 22 -a 23 -a 24 -a 25 -a 26 -a 27 -a 28 -a 29 -a 30 -a 31 -a 32 -a 33 |
| 93 | + |
| 94 | +# The Swift build script requires directories to be named |
| 95 | +# in a specific way so renaming the source directories is |
| 96 | +# necessary |
| 97 | +mv CMake-%{cmake_version} cmake |
| 98 | +mv icu-release-%{icu_version} icu |
| 99 | +mv indexstore-db-swift-%{swift_version} indexstore-db |
| 100 | +mv llvm-project-swift-%{swift_version} llvm-project |
| 101 | +mv ninja-%{ninja_version} ninja |
| 102 | +mv sourcekit-lsp-swift-%{swift_version} sourcekit-lsp |
| 103 | +mv swift-argument-parser-%{swift_argument_parser_version} swift-argument-parser |
| 104 | +mv swift-atomics-%{swift_atomics_version} swift-atomics |
| 105 | +mv swift-cmark-swift-%{swift_version} cmark |
| 106 | +mv swift-cmark-swift-%{swift_version}-gfm swift-cmark-gfm |
| 107 | +mv swift-collections-%{swift_collections_version} swift-collections |
| 108 | +mv swift-corelibs-foundation-swift-%{swift_version} swift-corelibs-foundation |
| 109 | +mv swift-corelibs-libdispatch-swift-%{swift_version} swift-corelibs-libdispatch |
| 110 | +mv swift-corelibs-xctest-swift-%{swift_version} swift-corelibs-xctest |
| 111 | +mv swift-crypto-%{swift_crypto_version} swift-crypto |
| 112 | +mv swift-docc-render-artifact-swift-%{swift_version} swift-docc-render-artifact |
| 113 | +mv swift-docc-swift-%{swift_version} swift-docc |
| 114 | +mv swift-docc-symbolkit-swift-%{swift_version} swift-docc-symbolkit |
| 115 | +mv swift-driver-swift-%{swift_version} swift-driver |
| 116 | +mv swift-format-swift-%{swift_version} swift-format |
| 117 | +mv swift-integration-tests-swift-%{swift_version} swift-integration-tests |
| 118 | +mv swift-llbuild-swift-%{swift_version} llbuild |
| 119 | +mv swift-lmdb-swift-%{swift_version} swift-lmdb |
| 120 | +mv swift-markdown-swift-%{swift_version} swift-markdown |
| 121 | +mv swift-nio-%{swift_nio_version} swift-nio |
| 122 | +mv swift-nio-ssl-%{swift_nio_ssl_version} swift-nio-ssl |
| 123 | +mv swift-numerics-%{swift_numerics_version} swift-numerics |
| 124 | +mv swift-package-manager-swift-%{swift_version} swiftpm |
| 125 | +mv swift-swift-%{swift_version} swift |
| 126 | +mv swift-syntax-swift-%{swift_version} swift-syntax |
| 127 | +mv swift-system-%{swift_system_version} swift-system |
| 128 | +mv swift-tools-support-core-swift-%{swift_version} swift-tools-support-core |
| 129 | +mv swift-xcode-playground-support-swift-%{swift_version} swift-xcode-playground-support |
| 130 | +mv Yams-%{yams_version} yams |
| 131 | + |
| 132 | +# Adjust python version hwasan_symbolize |
| 133 | +%patch0 -p1 |
| 134 | + |
| 135 | +# Fix python to python3 |
| 136 | +ln -s /usr/bin/python3 /usr/bin/python |
| 137 | + |
| 138 | +%build |
| 139 | +export VERBOSE=1 |
| 140 | + |
| 141 | +# Run the build |
| 142 | +swift/utils/build-script --preset=buildbot_linux,no_assertions,no_test install_destdir=%{_builddir} installable_package=%{_builddir}/swift-%{version}-oel8.tar.gz |
| 143 | + |
| 144 | +%install |
| 145 | +mkdir -p %{buildroot}%{_libexecdir}/swift/%{package_version} |
| 146 | +cp -r %{_builddir}/usr/* %{buildroot}%{_libexecdir}/swift/%{package_version} |
| 147 | +mkdir -p %{buildroot}%{_bindir} |
| 148 | +ln -fs %{_libexecdir}/swift/%{package_version}/bin/swift %{buildroot}%{_bindir}/swift |
| 149 | +ln -fs %{_libexecdir}/swift/%{package_version}/bin/swiftc %{buildroot}%{_bindir}/swiftc |
| 150 | +ln -fs %{_libexecdir}/swift/%{package_version}/bin/sourcekit-lsp %{buildroot}%{_bindir}/sourcekit-lsp |
| 151 | +mkdir -p %{buildroot}%{_mandir}/man1 |
| 152 | +cp %{_builddir}/usr/share/man/man1/swift.1 %{buildroot}%{_mandir}/man1/swift.1 |
| 153 | + |
| 154 | +%files |
| 155 | +%license swift/LICENSE.txt |
| 156 | +%{_bindir}/swift |
| 157 | +%{_bindir}/swiftc |
| 158 | +%{_bindir}/sourcekit-lsp |
| 159 | +%{_mandir}/man1/swift.1.gz |
| 160 | +%{_libexecdir}/swift/ |
| 161 | + |
| 162 | +%post -p /sbin/ldconfig |
| 163 | +%postun -p /sbin/ldconfig |
| 164 | + |
| 165 | +%changelog |
0 commit comments