%global debug_package %{nil} %global swifttag DEVELOPMENT-SNAPSHOT-2018-01-30-a Name: swift-lang Version: 4.1 Release: 0.20180130git39f8978%{?dist} Summary: Apple's Swift programming language License: ASL 2.0 URL: https://swift.org Source0: https://github.com/apple/swift/archive/swift-%{swifttag}.tar.gz#/swift.tar.gz Source1: https://github.com/apple/swift-compiler-rt/archive/swift-%{swifttag}.tar.gz#/swift-compiler-rt.tar.gz Source2: https://github.com/apple/swift-corelibs-libdispatch/archive/swift-%{swifttag}.tar.gz#/corelibs-libdispatch.tar.gz Source3: https://github.com/apple/swift-corelibs-foundation/archive/swift-%{swifttag}.tar.gz#/corelibs-foundation.tar.gz Source4: https://github.com/apple/swift-integration-tests/archive/swift-%{swifttag}.tar.gz#/swift-integration-tests.tar.gz Source5: https://github.com/apple/swift-corelibs-xctest/archive/swift-%{swifttag}.tar.gz#/corelibs-xctest.tar.gz Source6: https://github.com/apple/swift-clang/archive/swift-%{swifttag}.tar.gz#/clang.tar.gz Source7: https://github.com/apple/swift-package-manager/archive/swift-%{swifttag}.tar.gz#/package-manager.tar.gz Source8: https://github.com/apple/swift-lldb/archive/swift-%{swifttag}.tar.gz#/lldb.tar.gz Source9: https://github.com/apple/swift-llvm/archive/swift-%{swifttag}.tar.gz#/llvm.tar.gz Source10: https://github.com/apple/swift-llbuild/archive/swift-%{swifttag}.tar.gz#/llbuild.tar.gz Source11: https://github.com/apple/swift-cmark/archive/swift-%{swifttag}.tar.gz#/cmark.tar.gz Source12: https://github.com/apple/swift-xcode-playground-support/archive/swift-%{swifttag}.tar.gz#/swift-xcode-playground-support.tar.gz Source13: https://github.com/ninja-build/ninja/archive/v1.7.2.tar.gz#/ninja.tar.gz Source14: swift-lang.conf Patch0: %{name}-%{version}-change-lldb-location.patch BuildRequires: which BuildRequires: clang BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: swig BuildRequires: pkgconfig BuildRequires: perl-podlators BuildRequires: rsync BuildRequires: python-devel BuildRequires: libbsd-devel BuildRequires: libxml2-devel BuildRequires: libsqlite3x-devel BuildRequires: libblocksruntime-static BuildRequires: libatomic-static BuildRequires: libcurl-devel BuildRequires: libuuid-devel BuildRequires: libedit-devel BuildRequires: libicu-devel BuildRequires: python2-sphinx Requires: glibc-devel Requires: clang Requires: libatomic Requires: libbsd ExcludeArch: s390x i686 armv7hl ppc64le aarch64 ppc64 %description Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. The goal of the Swift project is to create the best available language for uses ranging from systems programming, to mobile and desktop apps, scaling up to cloud services. Most importantly, Swift is designed to make writing and maintaining correct programs easier for the developer. %prep %setup -q -c swift -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 # The Swift build script requires directories to be named # in a specific way so renaming the source directories is # necessary mv swift-clang-swift-%{swifttag} clang mv swift-cmark-swift-%{swifttag} cmark mv swift-compiler-rt-swift-%{swifttag} compiler-rt mv swift-corelibs-foundation-swift-%{swifttag} swift-corelibs-foundation mv swift-corelibs-libdispatch-swift-%{swifttag} swift-corelibs-libdispatch mv swift-corelibs-xctest-swift-%{swifttag} swift-corelibs-xctest mv swift-integration-tests-swift-%{swifttag} swift-integration-tests mv swift-llbuild-swift-%{swifttag} llbuild mv swift-lldb-swift-%{swifttag} lldb mv swift-llvm-swift-%{swifttag} llvm mv swift-package-manager-swift-%{swifttag} swiftpm mv swift-swift-%{swifttag} swift mv swift-xcode-playground-support-swift-%{swifttag} swift-xcode-playground-support mv ninja-1.7.2 ninja %patch0 -p0 %build swift/utils/build-script --preset=buildbot_linux,no_test install_destdir=%{_builddir} installable_package=%{_builddir}/swift-%{version}-fedora.tar.gz %install mkdir -p %{buildroot}%{_libexecdir}/swift-lldb mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_includedir} install -m 0755 %{_builddir}/usr/bin/swift* %{buildroot}%{_bindir} install -m 0755 %{_builddir}/usr/bin/lldb* %{buildroot}%{_libexecdir}/swift-lldb install -m 0755 %{_builddir}/usr/bin/liblldb-intel-mpxtable.so %{buildroot}%{_libexecdir}/swift-lldb mkdir -p %{buildroot}/%{_libdir}/swift-lldb cp -r %{_builddir}/usr/lib/* %{buildroot}%{_libdir}/swift-lldb ln -fs %{_bindir}/swift %{buildroot}%{_libexecdir}/swift-lldb/swift cp -r %{_builddir}%{_includedir}/* %{buildroot}%{_includedir} mv %{buildroot}%{_includedir}/lldb %{buildroot}%{_includedir}/swift-lldb mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d/ install -m 0644 %{SOURCE14} %{buildroot}/%{_sysconfdir}/ld.so.conf.d/swift-lang.conf mkdir -p %{buildroot}%{_mandir}/man1 install -m 0644 %{_builddir}/usr/share/man/man1/swift.1 %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_datarootdir}/swift/ cp %{_builddir}/usr/share/swift/LICENSE.txt %{buildroot}%{_datarootdir}/swift %files %{_bindir}/swift* %{_mandir}/man1/* %{_datarootdir}/swift/LICENSE.txt %{_includedir}/* %{_libdir}/swift-lldb/* %{_libexecdir}/swift-lldb/* %{_sysconfdir}/ld.so.conf.d/swift-lang.conf %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %changelog * Tue Jan 16 2018 Ron Olson 4.1-1-0.20180130git39f8978 - Initial package for Fedora