diff --git a/_constraints b/_constraints index a42ffec..351ff62 100644 --- a/_constraints +++ b/_constraints @@ -3,7 +3,7 @@ 8 - 4 + 8 20 diff --git a/cargo-0.18.0-aarch64-unknown-linux-gnu.tar.gz b/cargo-0.18.0-aarch64-unknown-linux-gnu.tar.gz new file mode 100644 index 0000000..16fc1c0 --- /dev/null +++ b/cargo-0.18.0-aarch64-unknown-linux-gnu.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ed71b6d89359db8fba738039f8ba201542240c7396d9599fc3d51f49727ca36 +size 4039839 diff --git a/cargo-0.18.0-armv7-unknown-linux-gnueabihf.tar.gz b/cargo-0.18.0-armv7-unknown-linux-gnueabihf.tar.gz new file mode 100644 index 0000000..e44bb4f --- /dev/null +++ b/cargo-0.18.0-armv7-unknown-linux-gnueabihf.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91abd44766a5169f5391c607b64fb47aca822ecfa953559a36d041b01ae3aeaa +size 4578488 diff --git a/cargo-0.18.0-i686-unknown-linux-gnu.tar.gz b/cargo-0.18.0-i686-unknown-linux-gnu.tar.gz new file mode 100644 index 0000000..4ffc94b --- /dev/null +++ b/cargo-0.18.0-i686-unknown-linux-gnu.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc5a0614345dfb2b41e133bd821257906a839753a9aa4c4590cc9d658164e58 +size 4940463 diff --git a/cargo-0.18.0-powerpc64-unknown-linux-gnu.tar.gz b/cargo-0.18.0-powerpc64-unknown-linux-gnu.tar.gz new file mode 100644 index 0000000..c8ec8b3 --- /dev/null +++ b/cargo-0.18.0-powerpc64-unknown-linux-gnu.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15e79c1e1a9b7e620fe3d88d3b2e5429c8a95b025b2b03a5de4a1d71956fe648 +size 4674070 diff --git a/cargo-0.18.0-powerpc64le-unknown-linux-gnu.tar.gz b/cargo-0.18.0-powerpc64le-unknown-linux-gnu.tar.gz new file mode 100644 index 0000000..f73ded5 --- /dev/null +++ b/cargo-0.18.0-powerpc64le-unknown-linux-gnu.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5586f28298f88614023534d290525e45e31633450672b33197a92ac36459994 +size 4563666 diff --git a/cargo-0.18.0-s390x-unknown-linux-gnu.tar.gz b/cargo-0.18.0-s390x-unknown-linux-gnu.tar.gz new file mode 100644 index 0000000..9bf66e9 --- /dev/null +++ b/cargo-0.18.0-s390x-unknown-linux-gnu.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8de0b700e766e574e855d5f90fc4da37a4939caf71b2c28bd30cf70a8750b20c +size 4197244 diff --git a/cargo-0.18.0-x86_64-unknown-linux-gnu.tar.gz b/cargo-0.18.0-x86_64-unknown-linux-gnu.tar.gz new file mode 100644 index 0000000..60a43da --- /dev/null +++ b/cargo-0.18.0-x86_64-unknown-linux-gnu.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3601e95c968850230b137b849ff08a507e50d77ab584c779143a100f1843d8dd +size 4996337 diff --git a/config.toml b/config.toml index 5e6b889..fb76f3a 100644 --- a/config.toml +++ b/config.toml @@ -1,203 +1,76 @@ -# Sample TOML configuration file for building Rust. -# -# To configure rustbuild, copy this file to the directory from which you will be -# running the build, and name it config.toml. -# -# All options are commented out by default in this file, and they're commented -# out with their default values. The build system by default looks for -# `config.toml` in the current directory of a build for build configuration, but -# a custom configuration file can also be specified with `--config` to the build -# system. - # ============================================================================= # Tweaking how LLVM is compiled # ============================================================================= [llvm] - -# Indicates whether the LLVM build is a Release or Debug build optimize = true - -# Indicates whether an LLVM Release build should include debug info release-debuginfo = false - -# Indicates whether the LLVM assertions are enabled or not #assertions = false - -# Indicates whether ccache is used when building LLVM -#ccache = false -# or alternatively ... -#ccache = "/path/to/ccache" - -# If an external LLVM root is specified, we automatically check the version by -# default to make sure it's within the range that we're expecting, but setting -# this flag will indicate that this version check should not be done. +ccache = true #version-check = false - -# Link libstdc++ statically into the librustc_llvm instead of relying on a -# dynamic version to be available. static-libstdcpp = false +ninja = true -# Tell the LLVM build system to use Ninja instead of the platform default for -# the generated build system. This can sometimes be faster than make, for -# example. -#ninja = false +targets = "X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX" # ============================================================================= # General build configuration options # ============================================================================= [build] +build = "" +host = [""] +target = [""] -# Build triple for the original snapshot compiler. This must be a compiler that -# nightlies are already produced for. The current platform must be able to run -# binaries of this build triple and the nightly will be used to bootstrap the -# first compiler. -#build = "x86_64-unknown-linux-gnu" # defaults to your host platform - -# In addition to the build triple, other triples to produce full compiler -# toolchains for. Each of these triples will be bootstrapped from the build -# triple and then will continue to bootstrap themselves. This platform must -# currently be able to run all of the triples provided here. -#host = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple - -# In addition to all host triples, other triples to produce the standard library -# for. Each host triple will be used to produce a copy of the standard library -# for each target triple. -#target = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple - -# Instead of downloading the src/nightlies.txt version of Cargo specified, use -# this Cargo binary instead to build all Rust code -cargo = "/usr/bin/cargo" - -# Instead of downloading the src/nightlies.txt version of the compiler -# specified, use this rustc binary instead as the stage0 snapshot compiler. +cargo = "" rustc = "/usr/bin/rustc" -# Flag to specify whether any documentation is built. If false, rustdoc and -# friends will still be compiled but they will not be used to generate any -# documentation. docs = true - -# Indicate whether the compiler should be documented in addition to the standard -# library and facade crates. -#compiler-docs = false +compiler-docs = true # Indicate whether submodules are managed and updated automatically. submodules = false - -# The path to (or name of) the GDB executable to use. This is only used for -# executing the debuginfo test suite. #gdb = "gdb" - -# The node.js executable to use. Note that this is only used for the emscripten -# target when running tests, otherwise this can be omitted. #nodejs = "node" - -# Python interpreter to use for various tasks throughout the build, notably -# rustdoc tests, the lldb python interpreter, and some dist bits and pieces. -# Note that Python 2 is currently required. #python = "python2.7" -# Indicate whether the vendored sources are used for Rust dependencies or not -vendor = true +vendor = true # + +#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 +extended = false + +# ============================================================================= +# General install configuration options +# ============================================================================= +[install] +prefix = "" +libdir = "" +mandir = "" +docdir = "" # ============================================================================= # Options for compiling Rust code itself # ============================================================================= [rust] - -# Whether or not to optimize the compiler and standard library optimize = true +codegen-units = 0 # 0 = core-count -# Number of codegen units to use for each compiler invocation. A value of 0 -# means "the number of cores on this machine", and 1+ is passed through to the -# compiler. -codegen-units = 0 - -# Whether or not debug assertions are enabled for the compiler and standard -# library -#debug-assertions = false - -# Whether or not debuginfo is emitted +debug-assertions = false debuginfo = true - -# Whether or not line number debug information is emitted debuginfo-lines = false - -# Whether or not to only build debuginfo for the standard library if enabled. -# If enabled, this will not compile the compiler with debuginfo, just the -# standard library. debuginfo-only-std = false -# Whether or not jemalloc is built and enabled -#use-jemalloc = true +use-jemalloc = false +debug-jemalloc = false -# Whether or not jemalloc is built with its debug option set -#debug-jemalloc = false - -# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE) -#backtrace = true - -# The default linker that will be used by the generated compiler. Note that this -# is not the linker used to link said compiler. +backtrace = true #default-linker = "cc" - -# The default ar utility that will be used by the generated compiler if LLVM -# cannot be used. Note that this is not used to assemble said compiler. #default-ar = "ar" -# The "channel" for the Rust build to produce. The stable/beta channels only -# allow using stable features, whereas the nightly and dev channels allow using -# nightly features channel = "stable" -# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix -# platforms to ensure that the compiler is usable by default from the build -# directory (as it links to a number of dynamic libraries). This may not be -# desired in distributions, for example. -#rpath = true - -# Flag indicating whether tests are compiled with optimizations (the -O flag) or -# with debuginfo (the -g flag) -#optimize-tests = true -#debuginfo-tests = true - -# Flag indicating whether codegen tests will be run or not. If you get an error -# saying that the FileCheck executable is missing, you may want to disable this. -#codegen-tests = true - -# ============================================================================= -# Options for specific targets -# -# Each of the following options is scoped to the specific target triple in -# question and is used for determining how to compile each target. -# ============================================================================= -[target.x86_64-unknown-linux-gnu] - -# C compiler to be used to compiler C code and link Rust code. Note that the -# default value is platform specific, and if not specified it may also depend on -# what platform is crossing to what platform. -#cc = "cc" - -# C++ compiler to be used to compiler C++ code (e.g. LLVM and our LLVM shims). -# This is only used for host targets. -#cxx = "c++" - -# Path to the `llvm-config` binary of the installation of a custom LLVM to link -# against. Note that if this is specifed we don't compile LLVM at all for this -# target. -#llvm-config = "../path/to/llvm/root/bin/llvm-config" - -# Path to the custom jemalloc static library to link into the standard library -# by default. This is only used if jemalloc is still enabled above -#jemalloc = "/path/to/jemalloc/libjemalloc_pic.a" - -# If this target is for Android, this option will be required to specify where -# the NDK for the target lives. This is used to find the C compiler to link and -# build native code. -#android-ndk = "/path/to/ndk" - -# The root location of the MUSL installation directory. The library directory -# will also need to contain libunwind.a for an unwinding implementation. Note -# that this option only makes sense for MUSL targets that produce statically -# linked binaries -#musl-root = "..." +rpath = false +optimize-tests = true +debuginfo-tests = true +codegen-tests = false diff --git a/rust-rpmlintrc b/rust-rpmlintrc deleted file mode 100644 index 135cc61..0000000 --- a/rust-rpmlintrc +++ /dev/null @@ -1,5 +0,0 @@ -addFilter("devel-file-in-non-devel-package .*/lib/rustlib/.*-unknown-linux-gnu/lib/libcompiler-rt.a") -addFilter("no-soname .*/lib/rustlib/.*.so") -addFilter("no-soname .*/lib/lib.*-.*.so") -addFilter("binaryinfo-readelf-failed .*/lib/rustlib/.*-unknown-linux-gnu/lib/.*.rlib") -addFilter("zero-length .*/doc/rust/html/.*.html") diff --git a/rust.changes b/rust.changes index 2229809..ef239b5 100644 --- a/rust.changes +++ b/rust.changes @@ -1,3 +1,132 @@ +------------------------------------------------------------------- +Wed May 10 07:09:13 UTC 2017 - luke.nukem.jones@gmail.com + +- Adjustment of rust version dependency to prevent inability to + build in the adi rings. + +------------------------------------------------------------------- +Sun Apr 30 04:48:19 UTC 2017 - luke.nukem.jones@gmail.com + +- Add the cargo binaries for each arch, used for building rust only + these are not shipped, and don't factor in to the final product. + +------------------------------------------------------------------- +Fri Apr 28 01:24:18 UTC 2017 - luke.nukem.jones@gmail.com + +- Revert restriction of x86 arch to i586 for the interim. + +------------------------------------------------------------------- +Fri Apr 28 01:04:09 UTC 2017 - luke.nukem.jones@gmail.com + +- Update to 1.17.0 +- Language updates + * [The compiler's `dead_code` lint now accounts for type aliases][38051]. + * [Uninhabitable enums (those without any variants) no longer permit wildcard + match patterns][38069] + * [Clean up semantics of `self` in an import list][38313] + * [`Self` may appear in `impl` headers][38920] + * [`Self` may appear in struct expressions][39282] + +- Compiler updates + * [`rustc` now supports `--emit=metadata`, which causes rustc to emit + a `.rmeta` file containing only crate metadata][38571]. This can be + used by tools like the Rust Language Service to perform + metadata-only builds. + * [Levenshtein based typo suggestions now work in most places, while + previously they worked only for fields and sometimes for local + variables][38927]. Together with the overhaul of "no + resolution"/"unexpected resolution" errors (#[38154]) they result in + large and systematic improvement in resolution diagnostics. + * [Fix `transmute::` where `T` requires a bigger alignment than + `U`][38670] + * [rustc: use -Xlinker when specifying an rpath with ',' in it][38798] + * [`rustc` no longer attempts to provide "consider using an explicit + lifetime" suggestions][37057]. They were inaccurate. + +- Stabilized APIs + * [`VecDeque::truncate`] + * [`VecDeque::resize`] + * [`String::insert_str`] + * [`Duration::checked_add`] + * [`Duration::checked_sub`] + * [`Duration::checked_div`] + * [`Duration::checked_mul`] + * [`str::replacen`] + * [`str::repeat`] + * [`SocketAddr::is_ipv4`] + * [`SocketAddr::is_ipv6`] + * [`IpAddr::is_ipv4`] + * [`IpAddr::is_ipv6`] + * [`Vec::dedup_by`] + * [`Vec::dedup_by_key`] + * [`Result::unwrap_or_default`] + * [`<*const T>::wrapping_offset`] + * [`<*mut T>::wrapping_offset`] + * `CommandExt::creation_flags` + * [`File::set_permissions`] + * [`String::split_off`] + +- Updates to libraries + * [`[T]::binary_search` and `[T]::binary_search_by_key` now take + their argument by `Borrow` parameter][37761] + * [All public types in std implement `Debug`][38006] + * [`IpAddr` implements `From` and `From`][38327] + * [`Ipv6Addr` implements `From<[u16; 8]>`][38131] + * [Ctrl-Z returns from `Stdin.read()` when reading from the console on + Windows][38274] + * [std: Fix partial writes in `LineWriter`][38062] + * [std: Clamp max read/write sizes on Unix][38062] + * [Use more specific panic message for `&str` slicing errors][38066] + * [`TcpListener::set_only_v6` is deprecated][38304]. This + functionality cannot be achieved in std currently. + * [`writeln!`, like `println!`, now accepts a form with no string + or formatting arguments, to just print a newline][38469] + * [Implement `iter::Sum` and `iter::Product` for `Result`][38580] + * [Reduce the size of static data in `std_unicode::tables`][38781] + * [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`, + `CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement + `Display`][38909] + * [`Duration` implements `Sum`][38712] + * [`String` implements `ToSocketAddrs`][39048] + +- Misc + * [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies + the path to the Rust implementation][38589] + * [The `armv7-linux-androideabi` target no longer enables NEON + extensions, per Google's ABI guide][38413] + * [The stock standard library can be compiled for Redox OS][38401] + * [Rust has initial SPARC support][38726]. Tier 3. No builds + available. + * [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No + builds available. + * [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379] + +- Compatibility Notes + * [Uninhabitable enums (those without any variants) no longer permit wildcard + match patterns][38069] + * In this release, references to uninhabited types can not be + pattern-matched. This was accidentally allowed in 1.15. + * [The compiler's `dead_code` lint now accounts for type aliases][38051]. + * [Ctrl-Z returns from `Stdin.read()` when reading from the console on + Windows][38274] + * [Clean up semantics of `self` in an import list][38313] + +- Restrict x86 builds to i686 only. +- Revert restriction on previous rust versions used for building + +------------------------------------------------------------------- +Sat Apr 22 02:06:47 UTC 2017 - luke.nukem.jones@gmail.com + +- Change x86 build target from i586 to i686 + +------------------------------------------------------------------- +Wed Mar 22 01:43:22 UTC 2017 - luke.nukem.jones@gmail.com + +- Switch .spec to use rust-build compilation system +- Update config.toml to reflect rust-build changes +- Strict versioning for compilation so rustc always use previous + stable compiler + ------------------------------------------------------------------- Fri Mar 17 05:59:18 UTC 2017 - luke.nukem.jones@gmail.com diff --git a/rust.spec b/rust.spec index 49350a3..40a6a23 100644 --- a/rust.spec +++ b/rust.spec @@ -17,7 +17,8 @@ # -%global prev_version 1.15.0 +%global prev_rust 1.16.0 +%global cargo_version 0.18.0 %global abi gnu %ifarch s390x %global _arch s390x @@ -26,6 +27,9 @@ %global _arch armv7 %global abi gnueabihf %endif +%ifarch aarch64 +%global _arch aarch64 +%endif %ifarch ppc64 %global _arch powerpc64 %endif @@ -39,31 +43,43 @@ %global _arch i586 %endif %global rust_triple %{_arch}-unknown-linux-%{abi} +%global dl_url https://static.rust-lang.org/dist %bcond_with bootstrap Name: rust -Version: 1.16.0 +Version: 1.17.0 Release: 0 Summary: A systems programming language License: MIT or Apache-2.0 Group: Development/Languages/Other Url: http://www.rust-lang.org -Source0: https://static.rust-lang.org/dist/rustc-%{version}-src.tar.gz +Source0: %{dl_url}/rustc-%{version}-src.tar.gz Source1: config.toml -Source100: %{name}-rpmlintrc +Source100: cargo-%{cargo_version}-x86_64-unknown-linux-gnu.tar.gz +Source101: cargo-%{cargo_version}-i686-unknown-linux-gnu.tar.gz +Source102: cargo-%{cargo_version}-aarch64-unknown-linux-gnu.tar.gz +Source103: cargo-%{cargo_version}-armv7-unknown-linux-gnueabihf.tar.gz +Source104: cargo-%{cargo_version}-powerpc64-unknown-linux-gnu.tar.gz +Source105: cargo-%{cargo_version}-powerpc64le-unknown-linux-gnu.tar.gz +Source106: cargo-%{cargo_version}-s390x-unknown-linux-gnu.tar.gz # PATCH-FIX-OPENSUSE: Set DT_SONAME when building dylibs Patch1: add-soname.patch +BuildRequires: ccache +BuildRequires: chrpath BuildRequires: cmake BuildRequires: curl BuildRequires: gcc-c++ BuildRequires: llvm-devel +BuildRequires: ninja BuildRequires: procps BuildRequires: python Recommends: cargo Recommends: %{name}-doc Recommends: %{name}-std + +Provides: rust = %{version} +Conflicts: otherproviders(rust) 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 @@ -75,12 +91,15 @@ BuildRequires: fdupes # 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} <= 120100) -BuildRequires: cargo-bootstrap -BuildRequires: rustc-bootstrap >= %{prev_version} +%if %{with rust_bootstrap} || (0%{?suse_version} < 1330 && 0%{?sle_version} <= 120100) +BuildRequires: rust-std-bootstrap = %{prev_rust} +BuildRequires: rustc-bootstrap = %{prev_rust} %else -BuildRequires: cargo -BuildRequires: rust >= %{prev_version} +# if there is a package choice, use prefer version in prjconfig +BuildRequires: rust <= %{version} +BuildRequires: rust >= %{prev_rust} +BuildRequires: rust-std <= %{version} +BuildRequires: rust-std >= %{prev_rust} %endif %description @@ -98,55 +117,94 @@ even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would. -%package std +%package -n rust-std Summary: Standard library for Rust Group: Development/Languages/Other +Provides: rust-std = %{version} +Conflicts: otherproviders(rust-std) -%description std +%description -n rust-std This package includes the standard libraries for building applications written in Rust. -%package doc +%package -n rust-doc Summary: Rust documentation Group: Development/Languages/Other +Provides: rust-doc = %{version} +Conflicts: otherproviders(rust-doc) -%description doc +%description -n rust-doc Documentation for the Rust language. -%package gdb +%package -n rust-gdb Summary: Gdb integration for rust binaries Group: Development/Languages/Other Supplements: packageand(%{name}:gdb) +Provides: rust-gdb = %{version} Provides: rustc:%{_bindir}/rust-gdb +Conflicts: otherproviders(rust-gdb) -%description gdb +%description -n rust-gdb This subpackage provides pretty printers and a wrapper script for invoking gdb on rust binaries. %prep +%ifarch x86_64 +%setup -q -T -b 100 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%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} +%endif +%ifarch armv7hl +%setup -q -T -b 103 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%endif +%ifarch ppc64 +%setup -q -T -b 104 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%endif +%ifarch ppc64le +%setup -q -T -b 105 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%endif +%ifarch s390x +%setup -q -T -b 106 -n cargo-%{cargo_version}-%{_arch}-unknown-linux-%{abi} +%endif + +# The cargo binary is only used to build rust and is not shipped +# Using i686 for i586 seems to be okay for now but may cause issues in future +%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 +%endif + %setup -q -n rustc-%{version}-src %patch1 -p1 +sed -e 's::%{cargo_bin}:g' \ + -e 's::%{rust_triple}:g' \ + -e 's::%{_prefix}:g' \ + -e 's::%{_prefix}/lib:g' \ + -e 's::%{_mandir}:g' \ + -e 's::%{_docdir}/%{name}:g' \ + %{SOURCE1} > config.toml %build export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint -%configure --disable-option-checking \ - --build=%{rust_triple} \ - --host=%{rust_triple} \ - --target=%{rust_triple} \ - --enable-local-rust \ - --local-rust-root=%{_prefix} \ - --prefix=%{_prefix} \ - --libdir=%{_prefix}/lib \ - --docdir=%{_docdir}/%{name} \ - --disable-rpath \ - --disable-codegen-tests \ - --disable-rustbuild \ - --enable-vendor \ - --release-channel=stable -make %{?_smp_mflags} +./x.py build -v +./x.py doc -v %install -%make_install +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}%{_mandir}:g' \ + -e 's::%{buildroot}%{_docdir}/%{name}:g' \ + %{SOURCE1} > config.toml +./x.py dist --install +# Fix any rpaths if needed +chrpath -d %{buildroot}%{_prefix}/lib/lib*.so # Remove executable permission from HTML documentation # to prevent RPMLINT errors. @@ -187,12 +245,13 @@ rm %{buildroot}%{_defaultdocdir}/%{name}/{COPYRIGHT,LICENSE-APACHE,LICENSE-MIT} %doc README.md %{_bindir}/rustc %{_bindir}/rustdoc +%{_bindir}/rust-lldb %{_mandir}/man1/rustc.1* %{_mandir}/man1/rustdoc.1* %{_prefix}/lib/lib*.so %exclude %{_docdir}/%{name}/html -%files std +%files -n rust-std %defattr(-,root,root) %dir %{_prefix}/lib/rustlib %dir %{_prefix}/lib/rustlib/%{rust_triple} @@ -200,7 +259,7 @@ rm %{buildroot}%{_defaultdocdir}/%{name}/{COPYRIGHT,LICENSE-APACHE,LICENSE-MIT} %{_prefix}/lib/rustlib/%{rust_triple}/lib/*.rlib %{_prefix}/lib/rustlib/%{rust_triple}/lib/*.so -%files gdb +%files -n rust-gdb %defattr(-,root,root,-) %{_bindir}/rust-gdb %dir %{_prefix}/lib/rustlib @@ -208,8 +267,9 @@ rm %{buildroot}%{_defaultdocdir}/%{name}/{COPYRIGHT,LICENSE-APACHE,LICENSE-MIT} %{_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 -%files doc +%files -n rust-doc %defattr(-,root,root) %license %{_docdir}/%{name}/html/FiraSans-LICENSE.txt %license %{_docdir}/%{name}/html/Heuristica-LICENSE.txt @@ -219,22 +279,6 @@ rm %{buildroot}%{_defaultdocdir}/%{name}/{COPYRIGHT,LICENSE-APACHE,LICENSE-MIT} %license %{_docdir}/%{name}/html/SourceSerifPro-LICENSE.txt %dir %{_docdir}/%{name} %dir %{_docdir}/%{name}/html -%doc %{_docdir}/%{name}/html/alloc -%doc %{_docdir}/%{name}/html/book -%doc %{_docdir}/%{name}/html/collections -%doc %{_docdir}/%{name}/html/core -%doc %{_docdir}/%{name}/html/extra -%doc %{_docdir}/%{name}/html/implementors -%doc %{_docdir}/%{name}/html/libc -%doc %{_docdir}/%{name}/html/nomicon -%doc %{_docdir}/%{name}/html/src -%doc %{_docdir}/%{name}/html/std -%doc %{_docdir}/%{name}/html/std_unicode -%doc %{_docdir}/%{name}/html/COPYRIGHT.txt -%doc %{_docdir}/%{name}/html/*.html -%doc %{_docdir}/%{name}/html/*.inc -%doc %{_docdir}/%{name}/html/*.woff -%doc %{_docdir}/%{name}/html/*.js -%doc %{_docdir}/%{name}/html/*.css +%doc %{_docdir}/%{name}/html/* %changelog diff --git a/rustc-1.16.0-src.tar.gz b/rustc-1.16.0-src.tar.gz deleted file mode 100644 index 6b51559..0000000 --- a/rustc-1.16.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f966b31eb1cd9bd2df817c391a338eeb5b9253ae0a19bf8a11960c560f96e8b4 -size 28470372 diff --git a/rustc-1.17.0-src.tar.gz b/rustc-1.17.0-src.tar.gz new file mode 100644 index 0000000..5bb97fe --- /dev/null +++ b/rustc-1.17.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4baba3895b75f2492df6ce5a28a916307ecd1c088dc1fd02dbfa8a8e86174f87 +size 31570599