diff --git a/rust.spec b/rust.spec index c03d057..9cd5d1b 100644 --- a/rust.spec +++ b/rust.spec @@ -62,24 +62,23 @@ Conflicts: rustc-bootstrap Provides: rustc = %{version} Provides: rustc-stable = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build +# Restrict the architectures as building rust relies on being initially +# bootstrapped before we can build the n+1 release ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64 ppc64le s390x %if 0%{?suse_version} BuildRequires: fdupes %endif -%ifarch %{arm} aarch64 ppc64 ppc64le s390x -BuildRequires: cargo-bootstrap -BuildRequires: rustc-bootstrap >= %{prev_version} -%else -%if %{with bootstrap} || (0%{?suse_version} < 1330 && 0%{?sle_version} < 120300) +# There are no successful builds for less than TW or Leap 42.2, so bootstrap +# until such time that there is. +%if %{with bootstrap} || (0%{?suse_version} < 1330 && 0%{?sle_version} < 120200) BuildRequires: cargo-bootstrap BuildRequires: rustc-bootstrap >= %{prev_version} %else BuildRequires: cargo BuildRequires: rust >= %{prev_version} %endif -%endif %description Rust is a systems programming language focused on three goals: