From 84a53ea00a431751d563c841d252de8cc8edfadbcdecc779e57c05635d634e8b Mon Sep 17 00:00:00 2001 From: Luke Jones Date: Sun, 3 Sep 2017 19:08:10 +0000 Subject: [PATCH] Accepting request 520410 from home:luke_nukem:branches:devel:languages:rust - adjust build process and add package for Rust source - Update to version 1.19 - Language updates: + [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506] For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`. + [Macro recursion limit increased to 1024 from 64.][41676] + [Added lint for detecting unused macros.][41907] + [`loop` can now return a value with `break`.][42016] [RFC 1624] For example: `let x = loop { break 7; };` + [C compatible `union`s are now available.][42068] [RFC 1444] They can only contain `Copy` types and cannot have a `Drop` implementation. Example: `union Foo { bar: u8, baz: usize }` + [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558] Example: `let foo: fn(u8) -> u8 = |v: u8| { v };` - Compiler updates: + [Add support for bootstrapping the Rust compiler toolchain on Android.][41370] + [Change `arm-linux-androideabi` to correspond to the `armeabi` official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI you should use `--target armv7-linux-androideabi`. + [Fixed ICE when removing a source file between compilation sessions.][41873] + [Minor optimisation of string operations.][42037] + [Compiler error message is now `aborting due to previous error(s)` instead of `aborting due to N previous errors`][42150] This was previously inaccurate and would only count certain kinds of errors. + [The compiler now supports Visual Studio 2017][42225] + [The compiler is now built against LLVM 4.0.1 by default][42948] + [Added a lot][42264] of [new error codes][42302] + [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows libraries with C Run-time Libraries(CRT) to be statically linked. + [Fixed various ARM codegen bugs][42740] - Librarie updates: + [`String` now implements `FromIterator>` and `Extend>`][41449] + [`Vec` now implements `From<&mut [T]>`][41530] + [`Box<[u8]>` now implements `From>`][41258] + [`SplitWhitespace` now implements `Clone`][41659] + [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now 1.5x faster][41764] + [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!` macros, but for printing to stderr. - Stabilized APIs + [`OsString::shrink_to_fit`] + [`cmp::Reverse`] + [`Command::envs`] + [`thread::ThreadId`] - Misc + [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the Windows Debugger. + [Rust will now release XZ compressed packages][rust-installer/57] + [rustup will now prefer to download rust packages with XZ compression][rustup/1100] over GZip packages. + [Added the ability to escape `#` in rust documentation][41785] By adding additional `#`'s ie. `##` is now `#` - Temporarily disable generation of compiler docs due to build issue OBS-URL: https://build.opensuse.org/request/show/520410 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=112 --- config.toml | 6 ++-- rust.changes | 68 ++++++++++++++++++++++++++++++++++++++ rust.spec | 73 ++++++++++++++++++++++++++--------------- rustc-1.18.0-src.tar.gz | 3 -- rustc-1.19.0-src.tar.gz | 3 ++ 5 files changed, 120 insertions(+), 33 deletions(-) delete mode 100644 rustc-1.18.0-src.tar.gz create mode 100644 rustc-1.19.0-src.tar.gz diff --git a/config.toml b/config.toml index ad69342..a89d1c0 100644 --- a/config.toml +++ b/config.toml @@ -24,7 +24,7 @@ cargo = "" rustc = "/usr/bin/rustc" docs = true -compiler-docs = true +compiler-docs = false # Indicate whether submodules are managed and updated automatically. submodules = false @@ -32,9 +32,9 @@ submodules = false #nodejs = "node" #python = "python2.7" -vendor = true # +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. This will also produce "combined diff --git a/rust.changes b/rust.changes index a479bae..9977e93 100644 --- a/rust.changes +++ b/rust.changes @@ -1,3 +1,71 @@ +------------------------------------------------------------------- +Fri Sep 1 10:14:10 UTC 2017 - luke.nukem.jones@gmail.com + +- adjust build process and add package for Rust source + +------------------------------------------------------------------- +Tue Aug 8 23:06:44 UTC 2017 - luke.nukem.jones@gmail.com + +- Update to version 1.19 + +- Language updates: + + [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506] + For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`. + + [Macro recursion limit increased to 1024 from 64.][41676] + + [Added lint for detecting unused macros.][41907] + + [`loop` can now return a value with `break`.][42016] [RFC 1624] + For example: `let x = loop { break 7; };` + + [C compatible `union`s are now available.][42068] [RFC 1444] They can only + contain `Copy` types and cannot have a `Drop` implementation. + Example: `union Foo { bar: u8, baz: usize }` + + [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558] + Example: `let foo: fn(u8) -> u8 = |v: u8| { v };` + +- Compiler updates: + + [Add support for bootstrapping the Rust compiler toolchain on Android.][41370] + + [Change `arm-linux-androideabi` to correspond to the `armeabi` + official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI + you should use `--target armv7-linux-androideabi`. + + [Fixed ICE when removing a source file between compilation sessions.][41873] + + [Minor optimisation of string operations.][42037] + + [Compiler error message is now `aborting due to previous error(s)` instead of + `aborting due to N previous errors`][42150] This was previously inaccurate and + would only count certain kinds of errors. + + [The compiler now supports Visual Studio 2017][42225] + + [The compiler is now built against LLVM 4.0.1 by default][42948] + + [Added a lot][42264] of [new error codes][42302] + + [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows + libraries with C Run-time Libraries(CRT) to be statically linked. + + [Fixed various ARM codegen bugs][42740] + +- Librarie updates: + + [`String` now implements `FromIterator>` and + `Extend>`][41449] + + [`Vec` now implements `From<&mut [T]>`][41530] + + [`Box<[u8]>` now implements `From>`][41258] + + [`SplitWhitespace` now implements `Clone`][41659] + + [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now + 1.5x faster][41764] + + [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!` + macros, but for printing to stderr. + +- Stabilized APIs + + [`OsString::shrink_to_fit`] + + [`cmp::Reverse`] + + [`Command::envs`] + + [`thread::ThreadId`] + +- Misc + + [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the + Windows Debugger. + + [Rust will now release XZ compressed packages][rust-installer/57] + + [rustup will now prefer to download rust packages with + XZ compression][rustup/1100] over GZip packages. + + [Added the ability to escape `#` in rust documentation][41785] By adding + additional `#`'s ie. `##` is now `#` + +- Temporarily disable generation of compiler docs due to build issue + ------------------------------------------------------------------- Wed Jun 14 06:23:20 UTC 2017 - luke.nukem.jones@gmail.com diff --git a/rust.spec b/rust.spec index d6f6e30..69190d3 100644 --- a/rust.spec +++ b/rust.spec @@ -17,7 +17,7 @@ # -%global prev_rust 1.17.0 +%global prev_rust 1.18.0 %global cargo_version 0.18.0 %global abi gnu %ifarch s390x @@ -44,9 +44,11 @@ %endif %global rust_triple %{_arch}-unknown-linux-%{abi} %global dl_url https://static.rust-lang.org/dist +%global common_libdir %{_prefix}/lib +%global rustlibdir %{common_libdir}/rustlib %bcond_with bootstrap Name: rust -Version: 1.18.0 +Version: 1.19.0 Release: 0 Summary: A systems programming language License: MIT or Apache-2.0 @@ -148,6 +150,16 @@ Conflicts: otherproviders(rust-gdb) This subpackage provides pretty printers and a wrapper script for invoking gdb on rust binaries. +%package -n src +Summary: Sources for the Rust standard library +Group: Development/Languages/Other +BuildArch: noarch + +%description -n src +This package includes source files for the Rust standard library. This +is commonly used for function detail lookups in helper programs such +as RLS or racer. + %prep %ifarch x86_64 %setup -q -T -b 100 -n cargo-%{cargo_version}-%{rust_triple} @@ -184,7 +196,7 @@ invoking gdb on rust binaries. sed -e 's::%{cargo_bin}:g' \ -e 's::%{rust_triple}:g' \ -e 's::%{_prefix}:g' \ - -e 's::%{_prefix}/lib:g' \ + -e 's::%{common_libdir}:g' \ -e 's::%{_mandir}:g' \ -e 's::%{_docdir}/%{name}:g' \ %{SOURCE1} > config.toml @@ -198,11 +210,12 @@ export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint sed -e 's::%{cargo_bin}:g' \ -e 's::%{rust_triple}:g' \ -e 's::%{buildroot}%{_prefix}:g' \ - -e 's::%{buildroot}%{_prefix}/lib:g' \ + -e 's::%{buildroot}%{common_libdir}:g' \ -e 's::%{buildroot}%{_mandir}:g' \ -e 's::%{buildroot}%{_docdir}/%{name}:g' \ %{SOURCE1} > config.toml -./x.py dist --install +./x.py install +./x.py install src # Fix any rpaths if needed chrpath -d %{buildroot}%{_prefix}/lib/lib*.so @@ -211,11 +224,11 @@ chrpath -d %{buildroot}%{_prefix}/lib/lib*.so chmod -R -x+X %{buildroot}%{_docdir}/%{name}/html # Remove surplus files -rm %{buildroot}%{_prefix}/lib/rustlib/components -rm %{buildroot}%{_prefix}/lib/rustlib/manifest-rust* -rm %{buildroot}%{_prefix}/lib/rustlib/install.log -rm %{buildroot}%{_prefix}/lib/rustlib/uninstall.sh -rm %{buildroot}%{_prefix}/lib/rustlib/rust-installer-version +rm %{buildroot}%{rustlibdir}/components +rm %{buildroot}%{rustlibdir}/manifest-rust* +rm %{buildroot}%{rustlibdir}/install.log +rm %{buildroot}%{rustlibdir}/uninstall.sh +rm %{buildroot}%{rustlibdir}/rust-installer-version # Remove lockfile to avoid errors. rm %{buildroot}%{_docdir}/%{name}/html/.lock @@ -253,32 +266,38 @@ rm %{buildroot}%{_defaultdocdir}/%{name}/{COPYRIGHT,LICENSE-APACHE,LICENSE-MIT} %files -n rust-std %defattr(-,root,root) -%dir %{_prefix}/lib/rustlib -%dir %{_prefix}/lib/rustlib/%{rust_triple} -%dir %{_prefix}/lib/rustlib/%{rust_triple}/lib -%{_prefix}/lib/rustlib/%{rust_triple}/lib/*.rlib -%{_prefix}/lib/rustlib/%{rust_triple}/lib/*.so +%dir %{rustlibdir} +%dir %{rustlibdir}/%{rust_triple} +%dir %{rustlibdir}/%{rust_triple}/lib +%{rustlibdir}/%{rust_triple}/lib/*.rlib +%{rustlibdir}/%{rust_triple}/lib/*.so %files -n rust-gdb %defattr(-,root,root,-) %{_bindir}/rust-gdb -%dir %{_prefix}/lib/rustlib -%dir %{_prefix}/lib/rustlib/etc -%{_prefix}/lib/rustlib/etc/debugger_pretty_printers_common.py -%{_prefix}/lib/rustlib/etc/gdb_load_rust_pretty_printers.py -%{_prefix}/lib/rustlib/etc/gdb_rust_pretty_printing.py -%{_prefix}/lib/rustlib/etc/lldb_rust_formatters.py +%dir %{rustlibdir} +%dir %{rustlibdir}/etc +%{rustlibdir}/etc/debugger_pretty_printers_common.py +%{rustlibdir}/etc/gdb_load_rust_pretty_printers.py +%{rustlibdir}/etc/gdb_rust_pretty_printing.py +%{rustlibdir}/etc/lldb_rust_formatters.py %files -n rust-doc %defattr(-,root,root) -%license %{_docdir}/%{name}/html/FiraSans-LICENSE.txt -%license %{_docdir}/%{name}/html/Heuristica-LICENSE.txt -%license %{_docdir}/%{name}/html/LICENSE-APACHE.txt -%license %{_docdir}/%{name}/html/LICENSE-MIT.txt -%license %{_docdir}/%{name}/html/SourceCodePro-LICENSE.txt -%license %{_docdir}/%{name}/html/SourceSerifPro-LICENSE.txt +## %license %{_docdir}/%{name}/html/FiraSans-LICENSE.txt +## %license %{_docdir}/%{name}/html/Heuristica-LICENSE.txt +## %license %{_docdir}/%{name}/html/LICENSE-APACHE.txt +## %license %{_docdir}/%{name}/html/LICENSE-MIT.txt +## %license %{_docdir}/%{name}/html/SourceCodePro-LICENSE.txt +## %license %{_docdir}/%{name}/html/SourceSerifPro-LICENSE.txt %dir %{_docdir}/%{name} %dir %{_docdir}/%{name}/html %doc %{_docdir}/%{name}/html/* +%files -n src +%defattr(-,root,root) +%dir %{rustlibdir} +%dir %{rustlibdir}/src +%{rustlibdir}/src/* + %changelog diff --git a/rustc-1.18.0-src.tar.gz b/rustc-1.18.0-src.tar.gz deleted file mode 100644 index 3eb650c..0000000 --- a/rustc-1.18.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d2dc36e99b9e2269488b2bcddde43c234e6bde03edf70cba82a027ff49c36111 -size 33111774 diff --git a/rustc-1.19.0-src.tar.gz b/rustc-1.19.0-src.tar.gz new file mode 100644 index 0000000..d0de87f --- /dev/null +++ b/rustc-1.19.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15231f5053fb72ad82be91f5abfd6aa60cb7898c5089e4f1ac5910a731090c51 +size 50108626