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<Cow<'a, str>>` and
    `Extend<Cow<'a, str>>`][41449]
  + [`Vec` now implements `From<&mut [T]>`][41530]
  + [`Box<[u8]>` now implements `From<Box<str>>`][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
This commit is contained in:
Luke Jones 2017-09-03 19:08:10 +00:00 committed by Git OBS Bridge
parent 876b9d2c70
commit 84a53ea00a
5 changed files with 120 additions and 33 deletions

View File

@ -24,7 +24,7 @@ cargo = "<cargo-bin>"
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

View File

@ -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<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][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

View File

@ -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>:%{cargo_bin}:g' \
-e 's:<rust-triple>:%{rust_triple}:g' \
-e 's:<prefix>:%{_prefix}:g' \
-e 's:<libdir>:%{_prefix}/lib:g' \
-e 's:<libdir>:%{common_libdir}:g' \
-e 's:<mandir>:%{_mandir}:g' \
-e 's:<docdir>:%{_docdir}/%{name}:g' \
%{SOURCE1} > config.toml
@ -198,11 +210,12 @@ export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
sed -e 's:<cargo-bin>:%{cargo_bin}:g' \
-e 's:<rust-triple>:%{rust_triple}:g' \
-e 's:<prefix>:%{buildroot}%{_prefix}:g' \
-e 's:<libdir>:%{buildroot}%{_prefix}/lib:g' \
-e 's:<libdir>:%{buildroot}%{common_libdir}:g' \
-e 's:<mandir>:%{buildroot}%{_mandir}:g' \
-e 's:<docdir>:%{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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2dc36e99b9e2269488b2bcddde43c234e6bde03edf70cba82a027ff49c36111
size 33111774

3
rustc-1.19.0-src.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15231f5053fb72ad82be91f5abfd6aa60cb7898c5089e4f1ac5910a731090c51
size 50108626