14 |
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 |
# e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 |
15 |
# or nightly wants some beta-YYYY-MM-DD |
# or nightly wants some beta-YYYY-MM-DD |
16 |
# Note that cargo matches the program version here, not its crate version. |
# Note that cargo matches the program version here, not its crate version. |
17 |
%global bootstrap_rust 1.32.0 |
%global bootstrap_rust 1.33.0 |
18 |
%global bootstrap_cargo 1.32.0 |
%global bootstrap_cargo 1.33.0 |
19 |
%global bootstrap_channel %{bootstrap_rust} |
%global bootstrap_channel %{bootstrap_rust} |
20 |
%global bootstrap_date 2019-01-17 |
%global bootstrap_date 2019-02-28 |
21 |
|
|
22 |
# Only the specified arches will use bootstrap binaries. |
# Only the specified arches will use bootstrap binaries. |
23 |
#global bootstrap_arches %%{rust_arches} |
#global bootstrap_arches %%{rust_arches} |
58 |
%endif |
%endif |
59 |
|
|
60 |
Name: rust |
Name: rust |
61 |
Version: 1.33.0 |
Version: 1.34.0 |
62 |
Release: %mkrel 1 |
Release: %mkrel 1 |
63 |
Summary: The Rust Programming Language |
Summary: The Rust Programming Language |
64 |
%if 0%{?mageia} |
%if 0%{?mageia} |
76 |
%endif |
%endif |
77 |
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz |
Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.xz |
78 |
|
|
|
# https://github.com/rust-dev-tools/rls-analysis/pull/160 |
|
|
Patch1: 0001-Try-to-get-the-target-triple-from-rustc-itself.patch |
|
|
|
|
|
# https://github.com/rust-lang/rust/pull/57647 |
|
|
Patch2: 0001-rust-gdb-relax-the-GDB-version-regex.patch |
|
|
|
|
79 |
# Revert https://github.com/rust-lang/rust/pull/57840 |
# Revert https://github.com/rust-lang/rust/pull/57840 |
80 |
# We do have the necessary fix in our LLVM 7. |
# We do have the necessary fix in our LLVM 7. |
81 |
Patch3: rust-pr57840-llvm7-debuginfo-variants.patch |
Patch1: rust-pr57840-llvm7-debuginfo-variants.patch |
|
|
|
|
# https://github.com/rust-lang/rust/issues/58845 |
|
|
Patch4: 0001-Backport-deprecation-fixes-from-commit-b7f030e.patch |
|
82 |
|
|
83 |
# Get the Rust triple for any arch. |
# Get the Rust triple for any arch. |
84 |
%{lua: function rust_triple(arch) |
%{lua: function rust_triple(arch) |
165 |
Provides: bundled(llvm) = 8.0.0~svn |
Provides: bundled(llvm) = 8.0.0~svn |
166 |
%else |
%else |
167 |
BuildRequires: cmake >= 2.8.11 |
BuildRequires: cmake >= 2.8.11 |
168 |
%if 0%{?epel} || 0%{?fedora} >= 30 |
%if 0%{?epel} |
|
# TODO: for f30+, we'll be ready for LLVM8 in Rust 1.34 |
|
169 |
%global llvm llvm7.0 |
%global llvm llvm7.0 |
170 |
%endif |
%endif |
171 |
%if %defined llvm |
%if %defined llvm |
233 |
%if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1} |
%if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1} |
234 |
%global llvm_has_filecheck 1 |
%global llvm_has_filecheck 1 |
235 |
%endif |
%endif |
|
%if "%{llvm_root}" != "%{_prefix}" |
|
|
# https://github.com/rust-lang/rust/issues/40717 |
|
|
%global library_path $(%{llvm_root}/bin/llvm-config --libdir) |
|
|
%endif |
|
236 |
%endif |
%endif |
237 |
|
|
238 |
%description |
%description |
409 |
|
|
410 |
%setup -q -n %{rustc_package} |
%setup -q -n %{rustc_package} |
411 |
|
|
412 |
pushd vendor/rls-analysis |
%patch1 -p1 -R |
|
%patch1 -p1 |
|
|
popd |
|
|
%patch2 -p1 |
|
|
%patch3 -p1 -R |
|
|
%patch4 -p1 |
|
413 |
|
|
414 |
%if "%{python}" == "python3" |
%if "%{python}" == "python3" |
415 |
sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure |
sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure |
416 |
%endif |
%endif |
417 |
|
|
418 |
%if %without bundled_llvm |
%if %without bundled_llvm |
419 |
rm -rf src/llvm/ |
rm -rf src/llvm-project/ |
420 |
%endif |
%endif |
421 |
|
|
422 |
# We never enable emscripten. |
# We never enable emscripten. |
423 |
rm -rf src/llvm-emscripten/ |
rm -rf src/llvm-emscripten/ |
424 |
|
|
|
# We never enable other LLVM tools. |
|
|
rm -rf src/tools/clang |
|
|
rm -rf src/tools/lld |
|
|
rm -rf src/tools/lldb |
|
|
|
|
425 |
# rename bundled license for packaging |
# rename bundled license for packaging |
426 |
cp -a vendor/backtrace-sys/src/libbacktrace/LICENSE{,-libbacktrace} |
cp -a vendor/backtrace-sys/src/libbacktrace/LICENSE{,-libbacktrace} |
427 |
|
|
458 |
%endif |
%endif |
459 |
|
|
460 |
%{?cmake_path:export PATH=%{cmake_path}:$PATH} |
%{?cmake_path:export PATH=%{cmake_path}:$PATH} |
|
%{?library_path:export LIBRARY_PATH="%{library_path}"} |
|
461 |
%{?rustflags:export RUSTFLAGS="%{rustflags}"} |
%{?rustflags:export RUSTFLAGS="%{rustflags}"} |
462 |
|
|
463 |
# We're going to override --libdir when configuring to get rustlib into a |
# We're going to override --libdir when configuring to get rustlib into a |
499 |
|
|
500 |
%install |
%install |
501 |
%{?cmake_path:export PATH=%{cmake_path}:$PATH} |
%{?cmake_path:export PATH=%{cmake_path}:$PATH} |
|
%{?library_path:export LIBRARY_PATH="%{library_path}"} |
|
502 |
%{?rustflags:export RUSTFLAGS="%{rustflags}"} |
%{?rustflags:export RUSTFLAGS="%{rustflags}"} |
503 |
|
|
504 |
DESTDIR=%{buildroot} %{python} ./x.py install |
DESTDIR=%{buildroot} %{python} ./x.py install |
567 |
|
|
568 |
%check |
%check |
569 |
%{?cmake_path:export PATH=%{cmake_path}:$PATH} |
%{?cmake_path:export PATH=%{cmake_path}:$PATH} |
|
%{?library_path:export LIBRARY_PATH="%{library_path}"} |
|
570 |
%{?rustflags:export RUSTFLAGS="%{rustflags}"} |
%{?rustflags:export RUSTFLAGS="%{rustflags}"} |
571 |
|
|
572 |
# The results are not stable on koji, so mask errors and just log it. |
# The results are not stable on koji, so mask errors and just log it. |
613 |
%files gdb |
%files gdb |
614 |
%{_bindir}/rust-gdb |
%{_bindir}/rust-gdb |
615 |
%{rustlibdir}/etc/gdb_*.py* |
%{rustlibdir}/etc/gdb_*.py* |
616 |
|
%exclude %{_bindir}/rust-gdbgui |
617 |
|
|
618 |
|
|
619 |
%if %with lldb |
%if %with lldb |
630 |
%{_docdir}/%{name}/html/*/ |
%{_docdir}/%{name}/html/*/ |
631 |
%{_docdir}/%{name}/html/*.html |
%{_docdir}/%{name}/html/*.html |
632 |
%{_docdir}/%{name}/html/*.css |
%{_docdir}/%{name}/html/*.css |
633 |
|
%{_docdir}/%{name}/html/*.ico |
634 |
%{_docdir}/%{name}/html/*.js |
%{_docdir}/%{name}/html/*.js |
635 |
|
%{_docdir}/%{name}/html/*.png |
636 |
%{_docdir}/%{name}/html/*.svg |
%{_docdir}/%{name}/html/*.svg |
637 |
%{_docdir}/%{name}/html/*.woff |
%{_docdir}/%{name}/html/*.woff |
638 |
%license %{_docdir}/%{name}/html/*.txt |
%license %{_docdir}/%{name}/html/*.txt |