diff --git a/.abf.yml b/.abf.yml index f5ae557..98f0c67 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,4 +1,4 @@ sources: - rust-1.36.0-i686-unknown-linux-gnu.tar.xz: 1a0b4da3128e69404fd267e770494c7f9f23fba2 - rust-1.36.0-x86_64-unknown-linux-gnu.tar.xz: 88b2547d698f7a54c0a361abfef9e8510a7dcd0c - rustc-1.37.0-src.tar.xz: cc02fc6f35e30153f58df3dcea4dcdf148b6194c + rust-1.37.0-i686-unknown-linux-gnu.tar.xz: 7cd8b95081047aac2c72028a9b640196f20a0687 + rust-1.37.0-x86_64-unknown-linux-gnu.tar.xz: 44e711a863821c6f3594d1f44e12437bf253b674 + rustc-1.38.0-src.tar.xz: 256540e755c20496f01b2e8882b2117e6dc5a2d7 diff --git a/rust.spec b/rust.spec index 518224f..670f61e 100644 --- a/rust.spec +++ b/rust.spec @@ -25,9 +25,9 @@ # e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 # or nightly wants some beta-YYYY-MM-DD # Note that cargo matches the program version here, not its crate version. -%define bootstrap_rust 1.36.0 -%define bootstrap_cargo 1.36.0 -%define bootstrap_date 2019-07-04 +%define bootstrap_rust 1.37.0 +%define bootstrap_cargo 1.37.0 +%define bootstrap_date 2019-08-15 %bcond_without bootstrap @@ -61,7 +61,7 @@ Summary: The Rust Programming Language Name: rust -Version: 1.37.0 +Version: 1.38.0 Release: 1 License: (ASL 2.0 or MIT) and (BSD and MIT) Group: Development/Rust @@ -75,6 +75,8 @@ Source10: rust.rpmlintrc # Revert https://github.com/rust-lang/rust/pull/57840 # We do have the necessary fix in our LLVM 7. Patch1: rust-pr57840-llvm7-debuginfo-variants.patch +# Mask a warning-as-error when rebuilding 1.38 with 1.38 +Patch2: rustc-1.38.0-rebuild-bootstrap.patch BuildRequires: ncurses-devel BuildRequires: curl BuildRequires: pkgconfig(libcurl) @@ -351,6 +353,7 @@ test -f '%{local_rust_root}/bin/rustc' %setup -qn rustc-%{version}-src %patch1 -p1 -R +%patch2 -p1 # python3 sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure @@ -385,6 +388,10 @@ sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \ find vendor -name .cargo-checksum.json \ -exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+' +# Sometimes Rust sources start with #![...] attributes, and "smart" editors think +# it's a shebang and make them executable. Then brp-mangle-shebangs gets upset... +find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+' + %build %if %{with clang} %global optflags %{nil} diff --git a/rustc-1.38.0-rebuild-bootstrap.patch b/rustc-1.38.0-rebuild-bootstrap.patch new file mode 100644 index 0000000..07f59a0 --- /dev/null +++ b/rustc-1.38.0-rebuild-bootstrap.patch @@ -0,0 +1,10 @@ +--- rustc-1.38.0-src/src/bootstrap/builder.rs 2019-09-23 14:15:52.000000000 -0700 ++++ rustc-1.38.0-src/src/bootstrap/builder.rs 2019-09-26 10:45:49.663995011 -0700 +@@ -140,6 +140,7 @@ + + impl StepDescription { + fn from() -> StepDescription { ++ #[allow(unused_unsafe)] // for rebuild bootstrapping + StepDescription { + default: S::DEFAULT, + only_hosts: S::ONLY_HOSTS,