From ef4d6663ef01fcb53fad43b7d1eeed680d2aa31bef648fb038d2e96beb960c05 Mon Sep 17 00:00:00 2001 From: Luke Jones Date: Fri, 9 Jun 2017 08:26:16 +0000 Subject: [PATCH 1/2] Accepting request 502505 from home:luke_nukem:branches:devel:languages:rust Update to v1.18.0 OBS-URL: https://build.opensuse.org/request/show/502505 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=109 --- config.toml | 9 +++-- rust.changes | 74 +++++++++++++++++++++++++++++++++++++++++ rust.spec | 22 ++++++------ rustc-1.17.0-src.tar.gz | 3 -- rustc-1.18.0-src.tar.gz | 3 ++ 5 files changed, 95 insertions(+), 16 deletions(-) delete mode 100644 rustc-1.17.0-src.tar.gz create mode 100644 rustc-1.18.0-src.tar.gz diff --git a/config.toml b/config.toml index fb76f3a..ad69342 100644 --- a/config.toml +++ b/config.toml @@ -34,12 +34,17 @@ submodules = false vendor = true # -#full-bootstrap = false +# full-bootstrap = false # Enable a build of the and extended rust tool set which is not only the -# compiler but also tools such as Cargo. Requires cloning git repo of cargo +# compiler but also tools such as Cargo. This will also produce "combined +# installers" which are used to install Rust and Cargo together. This is +# disabled by default. extended = false +# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose +verbose = 2 + # ============================================================================= # General install configuration options # ============================================================================= diff --git a/rust.changes b/rust.changes index ef239b5..94fc6b2 100644 --- a/rust.changes +++ b/rust.changes @@ -1,4 +1,78 @@ ------------------------------------------------------------------- +Thu Jun 8 21:48:54 UTC 2017 - luke.nukem.jones@gmail.com + +- Update to 1.18.0 +-Language updates: + + [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to + make the item visible to just that module tree. Also accepts the keyword + `crate` to make something public to the whole crate but not users of the + library. Example: `pub(crate) mod utils;`. [RFC 1422]. + + [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the + `/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665]. + + [Refactor of trait object type parsing][40043] Now `ty` in macros can accept + types like `Write + Send`, trailing `+` are now supported in trait objects, + and better error reporting for trait objects starting with `?Sized`. + + [0e+10 is now a valid floating point literal][40589] + + [Now warns if you bind a lifetime parameter to 'static][40734] + + [Tuples, Enum variant fields, and structs with no `repr` attribute or with + `#[repr(Rust)]` are reordered to minimize padding and produce a smaller + representation in some cases.][40377] +-Compiler updates + + [rustc can now emit mir with `--emit mir`][39891] + + [Improved LLVM IR for trivial functions][40367] + + [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723] + + [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation + opportunities found through profiling + + [Improved backtrace formatting when panicking][38165] +- Library updates: + + [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the + iterator hasn't been advanced the original `Vec` is reassembled with no actual + iteration or reallocation. + + [Simplified HashMap Bucket interface][40561] provides performance + improvements for iterating and cloning. + + [Specialize Vec::from_elem to use calloc][40409] + + [Fixed Race condition in fs::create_dir_all][39799] + + [No longer caching stdio on Windows][40516] + + [Optimized insertion sort in slice][40807] insertion sort in some cases + 2.50%~ faster and in one case now 12.50% faster. + + [Optimized `AtomicBool::fetch_nand`][41143] +- Stabilized APIs: + + [`Child::try_wait`] + + [`HashMap::retain`] + + [`HashSet::retain`] + + [`PeekMut::pop`] + + [`TcpStream::peek`] + + [`UdpSocket::peek`] +- Misc: + + [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338] + + [Added rust-winbg script for better debugging on Windows][39983] + + [Rust now uses the official cross compiler for NetBSD][40612] + + [rustdoc now accepts `#` at the start of files][40828] + + [Fixed jemalloc support for musl][41168] +- Compatibility Notes: + + [Changes to how the `0` flag works in format!][40241] Padding zeroes are now + always placed after the sign if it exists and before the digits. With the `#` + flag the zeroes are placed after the prefix and before the digits. + + [Due to the struct field optimisation][40377], using `transmute` on structs + that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has + always been undefined behavior, but is now more likely to break in practice. + + [The refactor of trait object type parsing][40043] fixed a bug where `+` was + receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as + `&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send` + + [Overlapping inherent `impl`s are now a hard error][40728] + + [`PartialOrd` and `Ord` must agree on the ordering.][41270] + + [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output + `out.asm` and `out.ll` instead of only one of the filetypes. + + [ calling a function that returns `Self` will no longer work][41805] when + the size of `Self` cannot be statically determined. + + [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805] + this has caused a few regressions namely: + + Changed the link order of local static/dynamic libraries (respecting the + order on given rather than having the compiler reorder). + + Changed how MinGW is linked, native code linked to dynamic libraries + may require manually linking to the gcc support library (for the native + code itself) +------------------------------------------------------------------- Wed May 10 07:09:13 UTC 2017 - luke.nukem.jones@gmail.com - Adjustment of rust version dependency to prevent inability to diff --git a/rust.spec b/rust.spec index 40a6a23..142b5e7 100644 --- a/rust.spec +++ b/rust.spec @@ -17,7 +17,7 @@ # -%global prev_rust 1.16.0 +%global prev_rust 1.17.0 %global cargo_version 0.18.0 %global abi gnu %ifarch s390x @@ -46,7 +46,7 @@ %global dl_url https://static.rust-lang.org/dist %bcond_with bootstrap Name: rust -Version: 1.17.0 +Version: 1.18.0 Release: 0 Summary: A systems programming language License: MIT or Apache-2.0 @@ -150,25 +150,25 @@ invoking gdb on rust binaries. %prep %ifarch x86_64 -%setup -q -T -b 100 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%setup -q -T -b 100 -n cargo-%{cargo_version}-%{rust_triple} %endif %ifarch %ix86 %setup -q -T -b 101 -n cargo-%{cargo_version}-i686-unknown-linux-%{abi} %endif %ifarch aarch64 -%setup -q -T -b 102 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%setup -q -T -b 102 -n cargo-%{cargo_version}-%{rust_triple} %endif %ifarch armv7hl -%setup -q -T -b 103 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%setup -q -T -b 103 -n cargo-%{cargo_version}-%{rust_triple} %endif %ifarch ppc64 -%setup -q -T -b 104 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%setup -q -T -b 104 -n cargo-%{cargo_version}-%{rust_triple} %endif %ifarch ppc64le -%setup -q -T -b 105 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%setup -q -T -b 105 -n cargo-%{cargo_version}-%{rust_triple} %endif %ifarch s390x -%setup -q -T -b 106 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%setup -q -T -b 106 -n cargo-%{cargo_version}-%{rust_triple} %endif # The cargo binary is only used to build rust and is not shipped @@ -176,7 +176,7 @@ invoking gdb on rust binaries. %ifarch %ix86 %global cargo_bin %{_builddir}/cargo-%{cargo_version}-i686-unknown-linux-%{abi}/cargo/bin/cargo %else -%global cargo_bin %{_builddir}/cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi}/cargo/bin/cargo +%global cargo_bin %{_builddir}/cargo-%{cargo_version}-%{rust_triple}/cargo/bin/cargo %endif %setup -q -n rustc-%{version}-src @@ -191,8 +191,8 @@ sed -e 's::%{cargo_bin}:g' \ %build export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint -./x.py build -v -./x.py doc -v +./x.py build --config config.toml +./x.py doc --config config.toml %install sed -e 's::%{cargo_bin}:g' \ diff --git a/rustc-1.17.0-src.tar.gz b/rustc-1.17.0-src.tar.gz deleted file mode 100644 index 5bb97fe..0000000 --- a/rustc-1.17.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4baba3895b75f2492df6ce5a28a916307ecd1c088dc1fd02dbfa8a8e86174f87 -size 31570599 diff --git a/rustc-1.18.0-src.tar.gz b/rustc-1.18.0-src.tar.gz new file mode 100644 index 0000000..3eb650c --- /dev/null +++ b/rustc-1.18.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2dc36e99b9e2269488b2bcddde43c234e6bde03edf70cba82a027ff49c36111 +size 33111774 From 876b9d2c707ee964b029cc075e889d8c714d6259d649eaf7708a1b49ffbe9b86 Mon Sep 17 00:00:00 2001 From: Luke Jones Date: Wed, 14 Jun 2017 06:25:34 +0000 Subject: [PATCH 2/2] Accepting request 503550 from home:luke_nukem:branches:devel:languages:rust Change i586 build to produce i686 instead. May cause issues on i586 hardware if it is still in use (not likely). OBS-URL: https://build.opensuse.org/request/show/503550 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=110 --- rust.changes | 6 ++++++ rust.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/rust.changes b/rust.changes index 94fc6b2..a479bae 100644 --- a/rust.changes +++ b/rust.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jun 14 06:23:20 UTC 2017 - luke.nukem.jones@gmail.com + +- Change i586 build to produce i686 target instead of i586 so that + x86 Firefox can be built with Rust. + ------------------------------------------------------------------- Thu Jun 8 21:48:54 UTC 2017 - luke.nukem.jones@gmail.com diff --git a/rust.spec b/rust.spec index 142b5e7..d6f6e30 100644 --- a/rust.spec +++ b/rust.spec @@ -40,7 +40,7 @@ %global _arch x86_64 %endif %ifarch %{ix86} -%global _arch i586 +%global _arch i686 %endif %global rust_triple %{_arch}-unknown-linux-%{abi} %global dl_url https://static.rust-lang.org/dist