[11321] | 1 | %bcond_with bootstrap |
---|
[11972] | 2 | %bcond_with test |
---|
[12506] | 3 | %bcond_with newrpm |
---|
[12228] | 4 | %bcond_without clang |
---|
| 5 | %bcond_without bundled_libgit2 |
---|
| 6 | %bcond_without bundled_libssh2 |
---|
[11321] | 7 | |
---|
[11972] | 8 | # Some sub-packages are versioned independently of the rust compiler and runtime itself. |
---|
| 9 | # Also beware that if any of these are not changed in a version bump, then the release |
---|
| 10 | # number should still increase, not be reset to 1! |
---|
[12543] | 11 | %global rustc_version 1.50.0 |
---|
[12228] | 12 | %global cargo_version %{rustc_version} |
---|
| 13 | %global rustfmt_version %{rustc_version} |
---|
| 14 | %global rls_version %{rustc_version} |
---|
| 15 | %global clippy_version %{rustc_version} |
---|
[11972] | 16 | |
---|
[12228] | 17 | # The channel can be stable, beta, or nightly |
---|
| 18 | %{!?channel: %global channel stable} |
---|
| 19 | |
---|
[11321] | 20 | # Only x86_64 and i686 are Tier 1 platforms at this time. |
---|
| 21 | # https://forge.rust-lang.org/platform-support.html |
---|
| 22 | %global rust_arches x86_64 i686 |
---|
| 23 | |
---|
| 24 | # To bootstrap from scratch, set the channel and date from src/stage0.txt |
---|
| 25 | # e.g. 1.10.0 wants rustc: 1.9.0-2016-05-24 |
---|
| 26 | # or nightly wants some beta-YYYY-MM-DD |
---|
[12543] | 27 | %global bootstrap_rust 1.49.0 |
---|
| 28 | %global bootstrap_cargo 1.49.0 |
---|
[11321] | 29 | %global bootstrap_channel %{bootstrap_rust} |
---|
| 30 | |
---|
| 31 | # Only the specified arches will use bootstrap binaries. |
---|
| 32 | %if %{with bootstrap} |
---|
| 33 | %global bootstrap_arches %%{rust_arches} |
---|
| 34 | %endif |
---|
| 35 | |
---|
| 36 | # We generally don't want llvm-static present at all, since llvm-config will |
---|
| 37 | # make us link statically. But we can opt in, e.g. to aid LLVM rebases. |
---|
| 38 | # FIXME: LLVM 3.9 prefers shared linking now! Which is good, but next time we |
---|
| 39 | # *want* static we'll have to force it with "llvm-config --link-static". |
---|
| 40 | # See also https://github.com/rust-lang/rust/issues/36854 |
---|
| 41 | # The new rustbuild accepts `--enable-llvm-link-shared`, else links static. |
---|
| 42 | %bcond_with llvm_static |
---|
| 43 | |
---|
| 44 | # We can also choose to just use Rust's bundled LLVM, in case the system LLVM |
---|
| 45 | # is insufficient. Rust currently requires LLVM 3.7+. |
---|
| 46 | %bcond_with bundled_llvm |
---|
| 47 | |
---|
| 48 | # LLDB only works on some architectures |
---|
| 49 | %ifarch %{arm} aarch64 %{ix86} x86_64 |
---|
| 50 | # LLDB isn't available everywhere... |
---|
| 51 | %bcond_without lldb |
---|
| 52 | %else |
---|
| 53 | %bcond_with lldb |
---|
| 54 | %endif |
---|
| 55 | |
---|
[12499] | 56 | Summary: The Rust Programming Language |
---|
[11321] | 57 | Name: rust |
---|
[12228] | 58 | Version: %{rustc_version} |
---|
[11321] | 59 | Release: 1%{?_dist_release} |
---|
[12499] | 60 | Group: programming |
---|
| 61 | Vendor: Project Vine |
---|
| 62 | Distribution: Vine Linux |
---|
| 63 | |
---|
[11321] | 64 | License: (ASL 2.0 or MIT) and (BSD and ISC and MIT) |
---|
| 65 | # ^ written as: (rust itself) and (bundled libraries) |
---|
| 66 | URL: https://www.rust-lang.org |
---|
[12499] | 67 | |
---|
[11321] | 68 | ExclusiveArch: %{rust_arches} |
---|
| 69 | |
---|
| 70 | %if "%{channel}" == "stable" |
---|
| 71 | %global rustc_package rustc-%{version}-src |
---|
| 72 | %else |
---|
| 73 | %global rustc_package rustc-%{channel}-src |
---|
| 74 | %endif |
---|
| 75 | Source0: https://static.rust-lang.org/dist/%{rustc_package}.tar.gz |
---|
| 76 | |
---|
| 77 | # Get the Rust triple for any arch. |
---|
| 78 | %{lua: function rust_triple(arch) |
---|
| 79 | local abi = "gnu" |
---|
| 80 | if arch == "armv7hl" then |
---|
| 81 | arch = "armv7" |
---|
| 82 | abi = "gnueabihf" |
---|
| 83 | elseif arch == "ppc64" then |
---|
| 84 | arch = "powerpc64" |
---|
| 85 | elseif arch == "ppc64le" then |
---|
| 86 | arch = "powerpc64le" |
---|
| 87 | end |
---|
| 88 | return arch.."-unknown-linux-"..abi |
---|
| 89 | end} |
---|
| 90 | |
---|
| 91 | %global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))} |
---|
| 92 | |
---|
| 93 | %if %defined bootstrap_arches |
---|
| 94 | # For each bootstrap arch, add an additional binary Source. |
---|
| 95 | # Also define bootstrap_source just for the current target. |
---|
| 96 | %{lua: do |
---|
| 97 | local bootstrap_arches = {} |
---|
| 98 | for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do |
---|
| 99 | table.insert(bootstrap_arches, arch) |
---|
| 100 | end |
---|
[11972] | 101 | local base = rpm.expand("https://static.rust-lang.org/dist" |
---|
[11321] | 102 | .."/rust-%{bootstrap_channel}") |
---|
| 103 | local target_arch = rpm.expand("%{_target_cpu}") |
---|
| 104 | for i, arch in ipairs(bootstrap_arches) do |
---|
| 105 | print(string.format("Source%d: %s-%s.tar.gz\n", |
---|
| 106 | i, base, rust_triple(arch))) |
---|
| 107 | if arch == target_arch then |
---|
| 108 | rpm.define("bootstrap_source "..i) |
---|
| 109 | end |
---|
| 110 | end |
---|
| 111 | end} |
---|
| 112 | %endif |
---|
| 113 | |
---|
| 114 | %ifarch %{bootstrap_arches} |
---|
| 115 | %global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple} |
---|
| 116 | %global local_rust_root %{_builddir}/%{bootstrap_root}/usr |
---|
| 117 | Provides: bundled(%{name}-bootstrap) = %{bootstrap_rust} |
---|
| 118 | %else |
---|
| 119 | BuildRequires: cargo >= %{bootstrap_cargo} |
---|
| 120 | BuildRequires: %{name} >= %{bootstrap_rust} |
---|
| 121 | BuildConflicts: %{name} > %{version} |
---|
| 122 | %global local_rust_root %{_prefix} |
---|
| 123 | %endif |
---|
| 124 | |
---|
| 125 | BuildRequires: cmake |
---|
| 126 | BuildRequires: make |
---|
[12228] | 127 | %if %{with clang} |
---|
| 128 | BuildRequires: clang |
---|
| 129 | BuildRequires: lld |
---|
| 130 | %else |
---|
[11321] | 131 | BuildRequires: gcc |
---|
| 132 | BuildRequires: gcc-c++ |
---|
[12228] | 133 | %endif |
---|
| 134 | %if %{without bundled_libgit2} |
---|
[11972] | 135 | BuildRequires: libgit2-devel |
---|
[12228] | 136 | %endif |
---|
| 137 | %if %{without bundled_libssh2} |
---|
[11972] | 138 | BuildRequires: libssh2-devel |
---|
[12228] | 139 | %endif |
---|
[11321] | 140 | BuildRequires: ncurses-devel |
---|
[11972] | 141 | BuildRequires: openssl-devel |
---|
[11321] | 142 | BuildRequires: zlib-devel |
---|
[12228] | 143 | BuildRequires: python3 |
---|
| 144 | BuildRequires: python3-rpm-macros |
---|
[11321] | 145 | BuildRequires: curl |
---|
[12228] | 146 | BuildRequires: curl-devel |
---|
| 147 | BuildRequires: xz-devel |
---|
[11321] | 148 | |
---|
| 149 | %if %{with bundled_llvm} |
---|
| 150 | BuildRequires: cmake |
---|
[12228] | 151 | BuildRequires: git |
---|
| 152 | Provides: bundled(llvm) = 6.0 |
---|
[11321] | 153 | %else |
---|
[12506] | 154 | BuildRequires: cmake |
---|
[11321] | 155 | %if %defined llvm |
---|
| 156 | %global llvm_root %{_libdir}/%{llvm} |
---|
| 157 | %else |
---|
| 158 | %global llvm llvm |
---|
| 159 | %global llvm_root %{_prefix} |
---|
[12506] | 160 | %global llvm_has_filecheck 1 |
---|
[11321] | 161 | %endif |
---|
[12506] | 162 | BuildRequires: %{llvm}-devel >= 11.0.0 |
---|
[11321] | 163 | %if %{with llvm_static} |
---|
| 164 | BuildRequires: %{llvm}-static |
---|
| 165 | BuildRequires: libffi-devel |
---|
| 166 | %else |
---|
| 167 | BuildConflicts: %{llvm}-static |
---|
| 168 | %endif |
---|
| 169 | %endif |
---|
| 170 | |
---|
| 171 | # make check needs "ps" for src/test/run-pass/wait-forked-but-failed-child.rs |
---|
| 172 | BuildRequires: procps |
---|
| 173 | |
---|
| 174 | # debuginfo-gdb tests need gdb |
---|
| 175 | BuildRequires: gdb |
---|
| 176 | |
---|
| 177 | # TODO: work on unbundling these! |
---|
| 178 | Provides: bundled(jquery) = 2.1.4 |
---|
| 179 | Provides: bundled(miniz) = 1.14 |
---|
| 180 | |
---|
| 181 | # Virtual provides for folks who attempt "dnf install rustc" |
---|
| 182 | Provides: rustc = %{version}-%{release} |
---|
| 183 | Provides: rustc%{?_isa} = %{version}-%{release} |
---|
| 184 | |
---|
| 185 | # Always require our exact standard library |
---|
| 186 | Requires: %{name}-std-static%{?_isa} = %{version}-%{release} |
---|
| 187 | |
---|
| 188 | # The C compiler is needed at runtime just for linking. Someday rustc might |
---|
| 189 | # invoke the linker directly, and then we'll only need binutils. |
---|
| 190 | # https://github.com/rust-lang/rust/issues/11937 |
---|
| 191 | Requires: /usr/bin/cc |
---|
| 192 | |
---|
| 193 | # ALL Rust libraries are private, because they don't keep an ABI. |
---|
[12506] | 194 | %global _privatelibs lib(.*-[[:xdigit:]]{16}*|rustc.*)[.]so.* |
---|
[11321] | 195 | %global __provides_exclude ^(%{_privatelibs})$ |
---|
| 196 | %global __requires_exclude ^(%{_privatelibs})$ |
---|
[12506] | 197 | %global __provides_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$ |
---|
| 198 | %global __requires_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$ |
---|
[11321] | 199 | |
---|
[12506] | 200 | %if !%{with newrpm} |
---|
| 201 | # eu-strip is very eager by default, so we have to limit it to -g, only debugging symbols. |
---|
| 202 | %global _find_debuginfo_opts -g |
---|
| 203 | %undefine _include_minidebuginfo |
---|
| 204 | %else |
---|
[11321] | 205 | # Newer find-debuginfo.sh supports --keep-section, which is preferable. rhbz1465997 |
---|
| 206 | %global _find_debuginfo_opts --keep-section .rustc |
---|
| 207 | %endif |
---|
| 208 | |
---|
[12543] | 209 | %if !%{with newrpm} |
---|
| 210 | Obsoletes: rust-debuginfo < %{version}-%{release} |
---|
| 211 | %else |
---|
| 212 | %ifnarch x86_64 |
---|
| 213 | Obsoletes: rust-debuginfo < %{version}-%{release} |
---|
| 214 | %endif |
---|
| 215 | %endif |
---|
| 216 | |
---|
[11321] | 217 | # Use hardening ldflags. |
---|
| 218 | %global rustflags -Clink-arg=-Wl,-z,relro,-z,now |
---|
| 219 | |
---|
| 220 | %if %{without bundled_llvm} && "%{llvm_root}" != "%{_prefix}" |
---|
| 221 | # https://github.com/rust-lang/rust/issues/40717 |
---|
| 222 | %global library_path $(%{llvm_root}/bin/llvm-config --libdir) |
---|
| 223 | %endif |
---|
| 224 | |
---|
| 225 | %description |
---|
| 226 | Rust is a systems programming language that runs blazingly fast, prevents |
---|
| 227 | segfaults, and guarantees thread safety. |
---|
| 228 | |
---|
| 229 | This package includes the Rust compiler and documentation generator. |
---|
| 230 | |
---|
| 231 | |
---|
| 232 | %package std-static |
---|
| 233 | Summary: Standard library for Rust |
---|
[12499] | 234 | Group: programming |
---|
[11321] | 235 | |
---|
| 236 | %description std-static |
---|
| 237 | This package includes the standard libraries for building applications |
---|
| 238 | written in Rust. |
---|
| 239 | |
---|
| 240 | |
---|
| 241 | %package debugger-common |
---|
| 242 | Summary: Common debugger pretty printers for Rust |
---|
[12499] | 243 | Group: programming |
---|
[11321] | 244 | BuildArch: noarch |
---|
| 245 | |
---|
| 246 | %description debugger-common |
---|
| 247 | This package includes the common functionality for %{name}-gdb and %{name}-lldb. |
---|
| 248 | |
---|
| 249 | |
---|
| 250 | %package gdb |
---|
| 251 | Summary: GDB pretty printers for Rust |
---|
[12499] | 252 | Group: programming |
---|
[11321] | 253 | BuildArch: noarch |
---|
| 254 | Requires: gdb |
---|
| 255 | Requires: %{name}-debugger-common = %{version}-%{release} |
---|
| 256 | |
---|
| 257 | %description gdb |
---|
| 258 | This package includes the rust-gdb script, which allows easier debugging of Rust |
---|
| 259 | programs. |
---|
| 260 | |
---|
| 261 | |
---|
| 262 | %if %{with lldb} |
---|
| 263 | |
---|
| 264 | %package lldb |
---|
| 265 | Summary: LLDB pretty printers for Rust |
---|
[12499] | 266 | Group: programming |
---|
[11321] | 267 | |
---|
| 268 | # It could be noarch, but lldb has limited availability |
---|
| 269 | #BuildArch: noarch |
---|
| 270 | |
---|
| 271 | Requires: lldb |
---|
[12499] | 272 | Requires: python3-lldb |
---|
[11321] | 273 | Requires: %{name}-debugger-common = %{version}-%{release} |
---|
| 274 | |
---|
| 275 | %description lldb |
---|
| 276 | This package includes the rust-lldb script, which allows easier debugging of Rust |
---|
| 277 | programs. |
---|
| 278 | |
---|
| 279 | %endif |
---|
| 280 | |
---|
| 281 | |
---|
| 282 | %package doc |
---|
| 283 | Summary: Documentation for Rust |
---|
[12499] | 284 | Group: documentation |
---|
[11321] | 285 | # NOT BuildArch: noarch |
---|
| 286 | # Note, while docs are mostly noarch, some things do vary by target_arch. |
---|
| 287 | # Koji will fail the build in rpmdiff if two architectures build a noarch |
---|
| 288 | # subpackage differently, so instead we have to keep its arch. |
---|
| 289 | |
---|
| 290 | %description doc |
---|
| 291 | This package includes HTML documentation for the Rust programming language and |
---|
| 292 | its standard library. |
---|
| 293 | |
---|
| 294 | |
---|
[11972] | 295 | %package -n cargo |
---|
| 296 | Summary: Rust's package manager and build tool |
---|
| 297 | Version: %{cargo_version} |
---|
[12499] | 298 | Group: programming |
---|
[11972] | 299 | # For tests: |
---|
| 300 | BuildRequires: git |
---|
| 301 | # Cargo is not much use without Rust |
---|
| 302 | Requires: rust |
---|
| 303 | |
---|
| 304 | %description -n cargo |
---|
| 305 | Cargo is a tool that allows Rust projects to declare their various dependencies |
---|
| 306 | and ensure that you'll always get a repeatable build. |
---|
| 307 | |
---|
| 308 | |
---|
| 309 | %package -n cargo-doc |
---|
| 310 | Summary: Documentation for Cargo |
---|
| 311 | Version: %{cargo_version} |
---|
[12499] | 312 | Group: programming |
---|
[11972] | 313 | BuildArch: noarch |
---|
| 314 | # Cargo no longer builds its own documentation |
---|
| 315 | # https://github.com/rust-lang/cargo/pull/4904 |
---|
| 316 | Requires: rust-doc = %{rustc_version}-%{release} |
---|
| 317 | |
---|
| 318 | %description -n cargo-doc |
---|
| 319 | This package includes HTML documentation for Cargo. |
---|
| 320 | |
---|
| 321 | |
---|
[12228] | 322 | %package -n rustfmt |
---|
[11972] | 323 | Summary: Tool to find and fix Rust formatting issues |
---|
| 324 | Version: %{rustfmt_version} |
---|
[12499] | 325 | Group: programming |
---|
[11972] | 326 | Requires: cargo |
---|
[12228] | 327 | Obsoletes: rustfmt-preview < 1.0.0 |
---|
[11972] | 328 | |
---|
[12228] | 329 | %description -n rustfmt |
---|
[11972] | 330 | A tool for formatting Rust code according to style guidelines. |
---|
| 331 | |
---|
| 332 | |
---|
[12228] | 333 | %package -n rls |
---|
[11972] | 334 | Summary: Rust Language Server for IDE integration |
---|
| 335 | Version: %{rls_version} |
---|
[12499] | 336 | Group: programming |
---|
[11972] | 337 | Requires: rust-analysis |
---|
| 338 | # /usr/bin/rls is dynamically linked against internal rustc libs |
---|
| 339 | Requires: %{name} = %{rustc_version}-%{release} |
---|
[12228] | 340 | Obsoletes: rls-preview < 1.0.0 |
---|
[11972] | 341 | |
---|
[12228] | 342 | %description -n rls |
---|
[11972] | 343 | The Rust Language Server provides a server that runs in the background, |
---|
| 344 | providing IDEs, editors, and other tools with information about Rust programs. |
---|
| 345 | It supports functionality such as 'goto definition', symbol search, |
---|
| 346 | reformatting, and code completion, and enables renaming and refactorings. |
---|
| 347 | |
---|
| 348 | |
---|
[12228] | 349 | %package -n clippy |
---|
[11972] | 350 | Summary: Lints to catch common mistakes and improve your Rust code |
---|
| 351 | Version: %{clippy_version} |
---|
[12499] | 352 | Group: programming |
---|
[11972] | 353 | License: MPLv2.0 |
---|
| 354 | Requires: cargo |
---|
| 355 | # /usr/bin/clippy-driver is dynamically linked against internal rustc libs |
---|
| 356 | Requires: %{name} = %{rustc_version}-%{release} |
---|
[12228] | 357 | Obsoletes: clippy-preview < 1.0.0 |
---|
[11972] | 358 | |
---|
[12228] | 359 | %description -n clippy |
---|
[11972] | 360 | A collection of lints to catch common mistakes and improve your Rust code. |
---|
| 361 | |
---|
| 362 | |
---|
[11321] | 363 | %package src |
---|
| 364 | Summary: Sources for the Rust standard library |
---|
[12499] | 365 | Group: programming |
---|
[11321] | 366 | BuildArch: noarch |
---|
| 367 | |
---|
| 368 | %description src |
---|
| 369 | This package includes source files for the Rust standard library. It may be |
---|
| 370 | useful as a reference for code completion tools in various editors. |
---|
| 371 | |
---|
| 372 | |
---|
[11972] | 373 | %package analysis |
---|
| 374 | Summary: Compiler analysis data for the Rust standard library |
---|
[12499] | 375 | Group: programming |
---|
[11972] | 376 | Requires: rust-std-static = %{rustc_version}-%{release} |
---|
| 377 | |
---|
| 378 | %description analysis |
---|
| 379 | This package contains analysis data files produced with rustc's -Zsave-analysis |
---|
| 380 | feature for the Rust standard library. The RLS (Rust Language Server) uses this |
---|
| 381 | data to provide information about the Rust standard library. |
---|
| 382 | |
---|
[12521] | 383 | %package miri |
---|
| 384 | Summary: An interpreter for Rust's mid-level intermediate representation |
---|
| 385 | Group: programming |
---|
| 386 | Requires: rust = %{rustc_version}-%{release} |
---|
[11972] | 387 | |
---|
[12521] | 388 | %description miri |
---|
| 389 | An experimental interpreter for Rust's mid-level intermediate representation |
---|
| 390 | (MIR). It can run binaries and test suites of cargo projects and detect certain |
---|
| 391 | classes of undefined behavior. |
---|
| 392 | |
---|
| 393 | |
---|
[12543] | 394 | %if %{with newrpm} |
---|
| 395 | # debuginfo is available on x86_64 only |
---|
| 396 | %ifarch x86_64 |
---|
[12354] | 397 | %debug_package |
---|
[12543] | 398 | %endif |
---|
| 399 | %endif |
---|
[12354] | 400 | |
---|
| 401 | |
---|
[11321] | 402 | %prep |
---|
| 403 | %ifarch %{bootstrap_arches} |
---|
| 404 | %setup -q -n %{bootstrap_root} -T -b %{bootstrap_source} |
---|
| 405 | ./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \ |
---|
| 406 | --prefix=%{local_rust_root} --disable-ldconfig |
---|
| 407 | test -f '%{local_rust_root}/bin/cargo' |
---|
| 408 | test -f '%{local_rust_root}/bin/rustc' |
---|
| 409 | %endif |
---|
| 410 | |
---|
| 411 | %setup -q -n %{rustc_package} |
---|
| 412 | |
---|
[12228] | 413 | sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure |
---|
[11321] | 414 | |
---|
| 415 | %if %without bundled_llvm |
---|
[12228] | 416 | rm -rf src/llvm-project/ |
---|
[12512] | 417 | mkdir -p src/llvm-project/libunwind/ |
---|
[11321] | 418 | %endif |
---|
| 419 | |
---|
[11972] | 420 | # We never enable emscripten. |
---|
| 421 | rm -rf src/llvm-emscripten/ |
---|
| 422 | |
---|
[12228] | 423 | # Remove other unused vendored libraries |
---|
| 424 | #rm -rf vendor/curl-sys/curl/ |
---|
| 425 | rm -rf vendor/jemalloc-sys/jemalloc/ |
---|
| 426 | rm -rf vendor/libz-sys/src/zlib/ |
---|
| 427 | rm -rf vendor/lzma-sys/xz-*/ |
---|
| 428 | rm -rf vendor/openssl-src/openssl/ |
---|
| 429 | %if %{without bundled_libgit2} |
---|
| 430 | rm -rf vendor/libgit2-sys/libgit2/ |
---|
| 431 | %endif |
---|
| 432 | %if %{without bundled_libssh2} |
---|
| 433 | rm -rf vendor/libssh2-sys/libssh2/ |
---|
| 434 | %endif |
---|
[11972] | 435 | |
---|
[12228] | 436 | # This only affects the transient rust-installer, but let it use our dynamic xz-libs |
---|
| 437 | sed -i.lzma -e '/LZMA_API_STATIC/d' src/bootstrap/tool.rs |
---|
[11321] | 438 | |
---|
[12228] | 439 | # rename bundled license for packaging |
---|
| 440 | if [ -e vendor/backtrace-sys/src/libbacktrace/LICENSE ]; then |
---|
| 441 | cp -a vendor/backtrace-sys/src/libbacktrace/LICENSE{,-libbacktrace} |
---|
| 442 | fi |
---|
| 443 | |
---|
[11321] | 444 | %if %{with bundled_llvm} && 0%{?epel} |
---|
| 445 | mkdir -p cmake-bin |
---|
| 446 | ln -s /usr/bin/cmake cmake-bin/cmake |
---|
| 447 | %global cmake_path $PWD/cmake-bin |
---|
| 448 | %endif |
---|
| 449 | |
---|
| 450 | %if %{without bundled_llvm} && %{with llvm_static} |
---|
| 451 | # Static linking to distro LLVM needs to add -lffi |
---|
| 452 | # https://github.com/rust-lang/rust/issues/34486 |
---|
| 453 | sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \ |
---|
| 454 | src/librustc_llvm/lib.rs |
---|
| 455 | %endif |
---|
| 456 | |
---|
| 457 | # The configure macro will modify some autoconf-related files, which upsets |
---|
| 458 | # cargo when it tries to verify checksums in those files. If we just truncate |
---|
| 459 | # that file list, cargo won't have anything to complain about. |
---|
[12228] | 460 | find vendor -name .cargo-checksum.json \ |
---|
[11321] | 461 | -exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+' |
---|
| 462 | |
---|
[12228] | 463 | |
---|
[11321] | 464 | %build |
---|
[12228] | 465 | %if %{without bundled_libgit2} |
---|
[11972] | 466 | export LIBGIT2_SYS_USE_PKG_CONFIG=1 |
---|
[12228] | 467 | %endif |
---|
| 468 | %if %{without bundled_libssh2} |
---|
[11972] | 469 | export LIBSSH2_SYS_USE_PKG_CONFIG=1 |
---|
[12228] | 470 | %endif |
---|
[11972] | 471 | |
---|
[11321] | 472 | %{?cmake_path:export PATH=%{cmake_path}:$PATH} |
---|
| 473 | %{?library_path:export LIBRARY_PATH="%{library_path}"} |
---|
| 474 | %{?rustflags:export RUSTFLAGS="%{rustflags}"} |
---|
| 475 | |
---|
| 476 | # We're going to override --libdir when configuring to get rustlib into a |
---|
| 477 | # common path, but we'll fix the shared libraries during install. |
---|
| 478 | %global common_libdir %{_prefix}/lib |
---|
| 479 | %global rustlibdir %{common_libdir}/rustlib |
---|
| 480 | |
---|
[12228] | 481 | %ifarch x86_64 |
---|
[12506] | 482 | %if %{with newrpm} |
---|
[12228] | 483 | %define enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2 |
---|
| 484 | %else |
---|
| 485 | %define enable_debuginfo --debuginfo-level=0 |
---|
[12506] | 486 | %global debug_package %{nil} |
---|
[12228] | 487 | %endif |
---|
[12506] | 488 | %else |
---|
| 489 | %define enable_debuginfo --debuginfo-level=0 |
---|
| 490 | %global debug_package %{nil} |
---|
| 491 | %endif |
---|
[11321] | 492 | |
---|
[12506] | 493 | # Some builders have relatively little memory for their CPU count. |
---|
| 494 | # At least 2GB per CPU is a good rule of thumb for building rustc. |
---|
| 495 | ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN) |
---|
| 496 | max_cpus=$(( ($(LANG=C free -g | awk '/^Mem:/{print $2}') + 1) / 2 )) |
---|
| 497 | if [ "$max_cpus" -ge 1 -a "$max_cpus" -lt "$ncpus" ]; then |
---|
| 498 | ncpus="$max_cpus" |
---|
| 499 | fi |
---|
| 500 | |
---|
[12228] | 501 | %if %{with clang} |
---|
| 502 | export CC=clang |
---|
| 503 | export CXX=clang++ |
---|
| 504 | export LDFLAGS="$LDFLAGS -fuse-ld=lld" |
---|
| 505 | export RUSTFLAGS="$RUSTFLAGS -C linker=clang -C link-arg=-fuse-ld=lld" |
---|
| 506 | %endif |
---|
| 507 | |
---|
[12354] | 508 | # workaround for https://github.com/rust-lang/rust/issues/69953 |
---|
| 509 | # --set rust.deny-warnings=false |
---|
| 510 | |
---|
[11321] | 511 | %configure \ |
---|
| 512 | --disable-option-checking \ |
---|
| 513 | --libdir=%{common_libdir} \ |
---|
| 514 | --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \ |
---|
| 515 | --enable-local-rust --local-rust-root=%{local_rust_root} \ |
---|
[12506] | 516 | %{!?with_bundled_llvm: --llvm-root=%{llvm_root} \ |
---|
| 517 | %{!?llvm_has_filecheck: --disable-codegen-tests} \ |
---|
[11321] | 518 | %{!?with_llvm_static: --enable-llvm-link-shared } } \ |
---|
| 519 | --disable-rpath \ |
---|
| 520 | %{enable_debuginfo} \ |
---|
[11972] | 521 | --enable-extended \ |
---|
[11321] | 522 | --enable-vendor \ |
---|
[11972] | 523 | --enable-verbose-tests \ |
---|
[12228] | 524 | --set rust.codegen-units-std=1 \ |
---|
[12354] | 525 | --release-channel=%{channel} \ |
---|
| 526 | --set rust.deny-warnings=false \ |
---|
| 527 | %{nil} |
---|
[11321] | 528 | |
---|
[12506] | 529 | RUST_BACKTRACE=1 %{__python3} ./x.py build -j "$ncpus" --stage 2 |
---|
| 530 | %{__python3} ./x.py doc --stage 2 |
---|
[11321] | 531 | |
---|
| 532 | |
---|
| 533 | %install |
---|
[11972] | 534 | rm -rf %{buildroot} |
---|
| 535 | |
---|
[11321] | 536 | %{?cmake_path:export PATH=%{cmake_path}:$PATH} |
---|
| 537 | %{?library_path:export LIBRARY_PATH="%{library_path}"} |
---|
| 538 | %{?rustflags:export RUSTFLAGS="%{rustflags}"} |
---|
[12228] | 539 | %if %{with clang} |
---|
| 540 | export CC=clang |
---|
| 541 | export CXX=clang++ |
---|
| 542 | export RUSTFLAGS="$RUSTFLAGS -C linker=clang -C link-arg=-fuse-ld=lld" |
---|
| 543 | %endif |
---|
[11321] | 544 | |
---|
| 545 | DESTDIR=%{buildroot} ./x.py install |
---|
[11972] | 546 | #DESTDIR=%{buildroot} ./x.py install src |
---|
[11321] | 547 | |
---|
| 548 | |
---|
| 549 | # Make sure the shared libraries are in the proper libdir |
---|
| 550 | %if "%{_libdir}" != "%{common_libdir}" |
---|
| 551 | mkdir -p %{buildroot}%{_libdir} |
---|
| 552 | find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \ |
---|
| 553 | -exec mv -v -t %{buildroot}%{_libdir} '{}' '+' |
---|
| 554 | %endif |
---|
| 555 | |
---|
| 556 | # The shared libraries should be executable for debuginfo extraction. |
---|
| 557 | find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \ |
---|
| 558 | -exec chmod -v +x '{}' '+' |
---|
| 559 | |
---|
| 560 | # The libdir libraries are identical to those under rustlib/. It's easier on |
---|
| 561 | # library loading if we keep them in libdir, but we do need them in rustlib/ |
---|
| 562 | # to support dynamic linking for compiler plugins, so we'll symlink. |
---|
| 563 | (cd "%{buildroot}%{rustlibdir}/%{rust_triple}/lib" && |
---|
[11972] | 564 | find ../../../../%{_lib} -maxdepth 1 -name '*.so' | |
---|
| 565 | while read lib; do |
---|
[12320] | 566 | if [ -f "${lib##*/}" ]; then |
---|
| 567 | # make sure they're actually identical! |
---|
| 568 | cmp "$lib" "${lib##*/}" |
---|
| 569 | ln -v -f -s -t . "$lib" |
---|
| 570 | fi |
---|
[11972] | 571 | done) |
---|
| 572 | |
---|
[11321] | 573 | # Remove installer artifacts (manifests, uninstall scripts, etc.) |
---|
| 574 | find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+' |
---|
| 575 | |
---|
[11972] | 576 | # Remove backup files from %%configure munging |
---|
| 577 | find %{buildroot}%{rustlibdir} -type f -name '*.orig' -exec rm -v '{}' '+' |
---|
| 578 | |
---|
| 579 | # https://fedoraproject.org/wiki/Changes/Make_ambiguous_python_shebangs_error |
---|
| 580 | # We don't actually need to ship any of those python scripts in rust-src anyway. |
---|
| 581 | |
---|
| 582 | find %{buildroot}%{rustlibdir}/src -type f -name '*.py' -exec rm -v '{}' '+' |
---|
| 583 | |
---|
[11321] | 584 | # FIXME: __os_install_post will strip the rlibs |
---|
| 585 | # -- should we find a way to preserve debuginfo? |
---|
| 586 | |
---|
| 587 | # Remove unwanted documentation files (we already package them) |
---|
[11972] | 588 | # Remove unwanted documentation files (we already package them) |
---|
[11321] | 589 | rm -f %{buildroot}%{_docdir}/%{name}/README.md |
---|
| 590 | rm -f %{buildroot}%{_docdir}/%{name}/COPYRIGHT |
---|
[11972] | 591 | rm -f %{buildroot}%{_docdir}/%{name}/LICENSE |
---|
[11321] | 592 | rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-APACHE |
---|
| 593 | rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-MIT |
---|
[11972] | 594 | rm -f %{buildroot}%{_docdir}/%{name}/LICENSE-THIRD-PARTY |
---|
| 595 | rm -f %{buildroot}%{_docdir}/%{name}/*.old |
---|
[11321] | 596 | |
---|
| 597 | # Sanitize the HTML documentation |
---|
| 598 | find %{buildroot}%{_docdir}/%{name}/html -empty -delete |
---|
| 599 | find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+' |
---|
| 600 | |
---|
[11972] | 601 | # Create the path for crate-devel packages |
---|
| 602 | mkdir -p %{buildroot}%{_datadir}/cargo/registry |
---|
| 603 | |
---|
| 604 | # Cargo no longer builds its own documentation |
---|
| 605 | # https://github.com/rust-lang/cargo/pull/4904 |
---|
| 606 | mkdir -p %{buildroot}%{_docdir}/cargo |
---|
| 607 | ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html |
---|
| 608 | |
---|
[11321] | 609 | %if %{without lldb} |
---|
| 610 | rm -f %{buildroot}%{_bindir}/rust-lldb |
---|
| 611 | rm -f %{buildroot}%{rustlibdir}/etc/lldb_*.py* |
---|
[12506] | 612 | rm -f %{buildroot}%{rustlibdir}/etc/lldb_commands |
---|
[11321] | 613 | %endif |
---|
| 614 | |
---|
[12228] | 615 | %if %{with bundled_llvm} |
---|
| 616 | rm -rf %{buildroot}/home |
---|
| 617 | %endif |
---|
[11321] | 618 | |
---|
[12543] | 619 | # We don't want Rust copies of LLVM tools (rust-lld, rust-llvm-dwp) |
---|
| 620 | rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll* |
---|
[12228] | 621 | |
---|
[12543] | 622 | |
---|
[11321] | 623 | %check |
---|
[11972] | 624 | %if %{with test} |
---|
[11321] | 625 | %{?cmake_path:export PATH=%{cmake_path}:$PATH} |
---|
| 626 | %{?library_path:export LIBRARY_PATH="%{library_path}"} |
---|
| 627 | %{?rustflags:export RUSTFLAGS="%{rustflags}"} |
---|
[12228] | 628 | %if %{with clang} |
---|
| 629 | export CC=clang |
---|
| 630 | export CXX=clang++ |
---|
| 631 | export LD=ld.lld |
---|
| 632 | export RUSTFLAGS="$RUSTFLAGS -C linker=ld.lld -C link-arg=-fuse-ld=lld" |
---|
| 633 | %endif |
---|
[11321] | 634 | |
---|
| 635 | # The results are not stable on koji, so mask errors and just log it. |
---|
[12499] | 636 | %{__python3} ./x.py test --no-fail-fast || : |
---|
| 637 | %{__python3} ./x.py test --no-fail-fast cargo || : |
---|
| 638 | %{__python3} ./x.py test --no-fail-fast clippy || : |
---|
| 639 | %{__python3} ./x.py test --no-fail-fast rls || : |
---|
| 640 | %{__python3} ./x.py test --no-fail-fast rustfmt || : |
---|
[11972] | 641 | %endif |
---|
[11321] | 642 | |
---|
| 643 | |
---|
| 644 | %post -p /sbin/ldconfig |
---|
| 645 | %postun -p /sbin/ldconfig |
---|
| 646 | |
---|
| 647 | |
---|
| 648 | %files |
---|
| 649 | %license COPYRIGHT LICENSE-APACHE LICENSE-MIT |
---|
[12228] | 650 | #license src/libbacktrace/LICENSE-libbacktrace |
---|
[11321] | 651 | %doc README.md |
---|
| 652 | %{_bindir}/rustc |
---|
| 653 | %{_bindir}/rustdoc |
---|
| 654 | %{_libdir}/*.so |
---|
| 655 | %{_mandir}/man1/rustc.1* |
---|
| 656 | %{_mandir}/man1/rustdoc.1* |
---|
| 657 | %dir %{rustlibdir} |
---|
| 658 | %dir %{rustlibdir}/%{rust_triple} |
---|
| 659 | %dir %{rustlibdir}/%{rust_triple}/lib |
---|
| 660 | %{rustlibdir}/%{rust_triple}/lib/*.so |
---|
| 661 | |
---|
| 662 | %files std-static |
---|
| 663 | %dir %{rustlibdir} |
---|
| 664 | %dir %{rustlibdir}/%{rust_triple} |
---|
| 665 | %dir %{rustlibdir}/%{rust_triple}/lib |
---|
| 666 | %{rustlibdir}/%{rust_triple}/lib/*.rlib |
---|
| 667 | |
---|
| 668 | %files debugger-common |
---|
| 669 | %dir %{rustlibdir} |
---|
| 670 | %dir %{rustlibdir}/etc |
---|
[12499] | 671 | %{rustlibdir}/etc/rust_types.py* |
---|
[11321] | 672 | |
---|
| 673 | %files gdb |
---|
| 674 | %{_bindir}/rust-gdb |
---|
| 675 | %{rustlibdir}/etc/gdb_*.py* |
---|
[12228] | 676 | %exclude %{_bindir}/rust-gdbgui |
---|
[11321] | 677 | |
---|
| 678 | %if %with lldb |
---|
| 679 | %files lldb |
---|
| 680 | %{_bindir}/rust-lldb |
---|
| 681 | %{rustlibdir}/etc/lldb_*.py* |
---|
[12506] | 682 | %{rustlibdir}/etc/lldb_commands |
---|
[11321] | 683 | %endif |
---|
| 684 | |
---|
| 685 | %files doc |
---|
| 686 | %docdir %{_docdir}/%{name} |
---|
| 687 | %dir %{_docdir}/%{name} |
---|
| 688 | %dir %{_docdir}/%{name}/html |
---|
| 689 | %{_docdir}/%{name}/html/*/ |
---|
| 690 | %{_docdir}/%{name}/html/*.html |
---|
| 691 | %{_docdir}/%{name}/html/*.css |
---|
| 692 | %{_docdir}/%{name}/html/*.js |
---|
[12228] | 693 | %{_docdir}/%{name}/html/*.png |
---|
[11972] | 694 | %{_docdir}/%{name}/html/*.svg |
---|
[11321] | 695 | %{_docdir}/%{name}/html/*.woff |
---|
| 696 | %license %{_docdir}/%{name}/html/*.txt |
---|
[12228] | 697 | %license %{_docdir}/%{name}/html/*.md |
---|
[11321] | 698 | |
---|
[11972] | 699 | %files -n cargo |
---|
| 700 | %license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY |
---|
| 701 | %doc src/tools/cargo/README.md |
---|
| 702 | %{_bindir}/cargo |
---|
[12543] | 703 | %{_libexecdir}/cargo* |
---|
[11972] | 704 | %{_mandir}/man1/cargo*.1* |
---|
| 705 | %dir %{_sysconfdir}/bash_completion.d |
---|
| 706 | %{_sysconfdir}/bash_completion.d/cargo |
---|
| 707 | %dir %{_datadir}/zsh |
---|
| 708 | %dir %{_datadir}/zsh/site-functions |
---|
| 709 | %{_datadir}/zsh/site-functions/_cargo |
---|
| 710 | %dir %{_datadir}/cargo |
---|
| 711 | %dir %{_datadir}/cargo/registry |
---|
| 712 | |
---|
| 713 | %files -n cargo-doc |
---|
| 714 | %docdir %{_docdir}/cargo |
---|
| 715 | %dir %{_docdir}/cargo |
---|
| 716 | %{_docdir}/cargo/html |
---|
| 717 | |
---|
[12228] | 718 | %files -n rustfmt |
---|
[11972] | 719 | %{_bindir}/rustfmt |
---|
| 720 | %{_bindir}/cargo-fmt |
---|
| 721 | %doc src/tools/rustfmt/{README,CHANGELOG,Configurations}.md |
---|
| 722 | %license src/tools/rustfmt/LICENSE-{APACHE,MIT} |
---|
| 723 | |
---|
[12228] | 724 | %files -n rls |
---|
[11972] | 725 | %{_bindir}/rls |
---|
| 726 | %doc src/tools/rls/{README.md,COPYRIGHT,debugging.md} |
---|
| 727 | %license src/tools/rls/LICENSE-{APACHE,MIT} |
---|
| 728 | |
---|
[12228] | 729 | %files -n clippy |
---|
[11972] | 730 | %{_bindir}/cargo-clippy |
---|
| 731 | %{_bindir}/clippy-driver |
---|
| 732 | %doc src/tools/clippy/{README.md,CHANGELOG.md} |
---|
[12228] | 733 | %license src/tools/clippy/LICENSE* |
---|
[11972] | 734 | |
---|
[11321] | 735 | %files src |
---|
| 736 | %dir %{rustlibdir} |
---|
| 737 | %{rustlibdir}/src |
---|
| 738 | |
---|
[11972] | 739 | %files analysis |
---|
[12499] | 740 | %{_bindir}/rust-analyzer |
---|
[11972] | 741 | %{rustlibdir}/%{rust_triple}/analysis/ |
---|
| 742 | |
---|
[12521] | 743 | %files miri |
---|
| 744 | %{_bindir}/miri |
---|
| 745 | %{_bindir}/cargo-miri |
---|
[12499] | 746 | |
---|
[12521] | 747 | |
---|
[11321] | 748 | %changelog |
---|
[12543] | 749 | * Sun Feb 21 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.50.0-1 |
---|
| 750 | - new upstream release. |
---|
| 751 | |
---|
[12521] | 752 | * Wed Jan 27 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.49.0-1 |
---|
| 753 | - new upstream release. |
---|
| 754 | |
---|
[12512] | 755 | * Sat Dec 12 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.48.0-1 |
---|
| 756 | - new upstream release. |
---|
| 757 | |
---|
[12506] | 758 | * Fri Oct 16 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.47.0-1 |
---|
| 759 | - new upstream release. |
---|
| 760 | |
---|
[12499] | 761 | * Thu Sep 24 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.46.0-1 |
---|
| 762 | - new upstream release. |
---|
| 763 | |
---|
[12354] | 764 | * Thu Mar 26 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.42.0-1 |
---|
| 765 | - new upstream release. |
---|
| 766 | - separated debuginfo. |
---|
| 767 | |
---|
[12320] | 768 | * Sun Dec 22 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.40.0-1 |
---|
| 769 | - new upstream release. |
---|
| 770 | |
---|
[12228] | 771 | * Sat Sep 28 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.38.0-1 |
---|
| 772 | - new upstream release. |
---|
| 773 | - erased "-preview" from the name of subpackages. |
---|
| 774 | |
---|
[11972] | 775 | * Wed Dec 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.30.1-1 |
---|
| 776 | - new upstream release. |
---|
| 777 | - dropped Patch1. |
---|
| 778 | - added subpackages cargo, cargo-doc, rustformat-preview, rls-preview, clippy-preview and rust-analysis. |
---|
| 779 | |
---|
[11321] | 780 | * Fri Jan 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.23.0-1 |
---|
| 781 | - Update to 1.23.0 (stable). |
---|
| 782 | |
---|
| 783 | * Tue Jan 02 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.23.0-0.beta1 |
---|
| 784 | - initial build for Vine Linux. |
---|
| 785 | - Update to 1.23.0-beta. |
---|
| 786 | - built a bootstrap rpm. |
---|
| 787 | |
---|
| 788 | * Thu Nov 23 2017 Josh Stone <jistone@redhat.com> - 1.22.1-1 |
---|
| 789 | - Update to 1.22.1. |
---|
| 790 | |
---|
| 791 | * Thu Oct 12 2017 Josh Stone <jistone@redhat.com> - 1.21.0-1 |
---|
| 792 | - Update to 1.21.0. |
---|
| 793 | |
---|
| 794 | * Mon Sep 11 2017 Josh Stone <jistone@redhat.com> - 1.20.0-2 |
---|
| 795 | - ABI fixes for ppc64 and s390x. |
---|
| 796 | |
---|
| 797 | * Thu Aug 31 2017 Josh Stone <jistone@redhat.com> - 1.20.0-1 |
---|
| 798 | - Update to 1.20.0. |
---|
| 799 | - Add a rust-src subpackage. |
---|
| 800 | |
---|
| 801 | * Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-4 |
---|
| 802 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
---|
| 803 | |
---|
| 804 | * Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-3 |
---|
| 805 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
---|
| 806 | |
---|
| 807 | * Mon Jul 24 2017 Josh Stone <jistone@redhat.com> - 1.19.0-2 |
---|
| 808 | - Use find-debuginfo.sh --keep-section .rustc |
---|
| 809 | |
---|
| 810 | * Thu Jul 20 2017 Josh Stone <jistone@redhat.com> - 1.19.0-1 |
---|
| 811 | - Update to 1.19.0. |
---|
| 812 | |
---|
| 813 | * Thu Jun 08 2017 Josh Stone <jistone@redhat.com> - 1.18.0-1 |
---|
| 814 | - Update to 1.18.0. |
---|
| 815 | |
---|
| 816 | * Mon May 08 2017 Josh Stone <jistone@redhat.com> - 1.17.0-2 |
---|
| 817 | - Move shared libraries back to libdir and symlink in rustlib |
---|
| 818 | |
---|
| 819 | * Thu Apr 27 2017 Josh Stone <jistone@redhat.com> - 1.17.0-1 |
---|
| 820 | - Update to 1.17.0. |
---|
| 821 | |
---|
| 822 | * Mon Mar 20 2017 Josh Stone <jistone@redhat.com> - 1.16.0-3 |
---|
| 823 | - Make rust-lldb arch-specific to deal with lldb deps |
---|
| 824 | |
---|
| 825 | * Fri Mar 17 2017 Josh Stone <jistone@redhat.com> - 1.16.0-2 |
---|
| 826 | - Limit rust-lldb arches |
---|
| 827 | |
---|
| 828 | * Thu Mar 16 2017 Josh Stone <jistone@redhat.com> - 1.16.0-1 |
---|
| 829 | - Update to 1.16.0. |
---|
| 830 | - Use rustbuild instead of the old makefiles. |
---|
| 831 | - Update bootstrapping to include rust-std and cargo. |
---|
| 832 | - Add a rust-lldb subpackage. |
---|
| 833 | |
---|
| 834 | * Thu Feb 09 2017 Josh Stone <jistone@redhat.com> - 1.15.1-1 |
---|
| 835 | - Update to 1.15.1. |
---|
| 836 | - Require rust-rpm-macros for new crate packaging. |
---|
| 837 | - Keep shared libraries under rustlib/, only debug-stripped. |
---|
| 838 | - Merge and clean up conditionals for epel7. |
---|
| 839 | |
---|
| 840 | * Fri Dec 23 2016 Josh Stone <jistone@redhat.com> - 1.14.0-2 |
---|
| 841 | - Rebuild without bootstrap binaries. |
---|
| 842 | |
---|
| 843 | * Thu Dec 22 2016 Josh Stone <jistone@redhat.com> - 1.14.0-1 |
---|
| 844 | - Update to 1.14.0. |
---|
| 845 | - Rewrite bootstrap logic to target specific arches. |
---|
| 846 | - Bootstrap ppc64, ppc64le, s390x. (thanks to Sinny Kumari for testing!) |
---|
| 847 | |
---|
| 848 | * Thu Nov 10 2016 Josh Stone <jistone@redhat.com> - 1.13.0-1 |
---|
| 849 | - Update to 1.13.0. |
---|
| 850 | - Use hardening flags for linking. |
---|
| 851 | - Split the standard library into its own package |
---|
| 852 | - Centralize rustlib/ under /usr/lib/ for multilib integration. |
---|
| 853 | |
---|
| 854 | * Thu Oct 20 2016 Josh Stone <jistone@redhat.com> - 1.12.1-1 |
---|
| 855 | - Update to 1.12.1. |
---|
| 856 | |
---|
| 857 | * Fri Oct 14 2016 Josh Stone <jistone@redhat.com> - 1.12.0-7 |
---|
| 858 | - Rebuild with LLVM 3.9. |
---|
| 859 | - Add ncurses-devel for llvm-config's -ltinfo. |
---|
| 860 | |
---|
| 861 | * Thu Oct 13 2016 Josh Stone <jistone@redhat.com> - 1.12.0-6 |
---|
| 862 | - Rebuild with llvm-static, preparing for 3.9 |
---|
| 863 | |
---|
| 864 | * Fri Oct 07 2016 Josh Stone <jistone@redhat.com> - 1.12.0-5 |
---|
| 865 | - Rebuild with fixed eu-strip (rhbz1380961) |
---|
| 866 | |
---|
| 867 | * Fri Oct 07 2016 Josh Stone <jistone@redhat.com> - 1.12.0-4 |
---|
| 868 | - Rebuild without bootstrap binaries. |
---|
| 869 | |
---|
| 870 | * Thu Oct 06 2016 Josh Stone <jistone@redhat.com> - 1.12.0-3 |
---|
| 871 | - Bootstrap aarch64. |
---|
| 872 | - Use jemalloc's MALLOC_CONF to work around #36944. |
---|
| 873 | - Apply pr36933 to really disable armv7hl NEON. |
---|
| 874 | |
---|
| 875 | * Sat Oct 01 2016 Josh Stone <jistone@redhat.com> - 1.12.0-2 |
---|
| 876 | - Protect .rustc from rpm stripping. |
---|
| 877 | |
---|
| 878 | * Fri Sep 30 2016 Josh Stone <jistone@redhat.com> - 1.12.0-1 |
---|
| 879 | - Update to 1.12.0. |
---|
| 880 | - Always use --local-rust-root, even for bootstrap binaries. |
---|
| 881 | - Remove the rebuild conditional - the build system now figures it out. |
---|
| 882 | - Let minidebuginfo do its thing, since metadata is no longer a note. |
---|
| 883 | - Let rust build its own compiler-rt builtins again. |
---|
| 884 | |
---|
| 885 | * Sat Sep 03 2016 Josh Stone <jistone@redhat.com> - 1.11.0-3 |
---|
| 886 | - Rebuild without bootstrap binaries. |
---|
| 887 | |
---|
| 888 | * Fri Sep 02 2016 Josh Stone <jistone@redhat.com> - 1.11.0-2 |
---|
| 889 | - Bootstrap armv7hl, with backported no-neon patch. |
---|
| 890 | |
---|
| 891 | * Wed Aug 24 2016 Josh Stone <jistone@redhat.com> - 1.11.0-1 |
---|
| 892 | - Update to 1.11.0. |
---|
| 893 | - Drop the backported patches. |
---|
| 894 | - Patch get-stage0.py to trust existing bootstrap binaries. |
---|
| 895 | - Use libclang_rt.builtins from compiler-rt, dodging llvm-static issues. |
---|
| 896 | - Use --local-rust-root to make sure the right bootstrap is used. |
---|
| 897 | |
---|
| 898 | * Sat Aug 13 2016 Josh Stone <jistone@redhat.com> 1.10.0-4 |
---|
| 899 | - Rebuild without bootstrap binaries. |
---|
| 900 | |
---|
| 901 | * Fri Aug 12 2016 Josh Stone <jistone@redhat.com> - 1.10.0-3 |
---|
| 902 | - Initial import into Fedora (#1356907), bootstrapped |
---|
| 903 | - Format license text as suggested in review. |
---|
| 904 | - Note how the tests already run in parallel. |
---|
| 905 | - Undefine _include_minidebuginfo, because it duplicates ".note.rustc". |
---|
| 906 | - Don't let checks fail the whole build. |
---|
| 907 | - Note that -doc can't be noarch, as rpmdiff doesn't allow variations. |
---|
| 908 | |
---|
| 909 | * Tue Jul 26 2016 Josh Stone <jistone@redhat.com> - 1.10.0-2 |
---|
| 910 | - Update -doc directory ownership, and mark its licenses. |
---|
| 911 | - Package and declare licenses for libbacktrace and hoedown. |
---|
| 912 | - Set bootstrap_base as a global. |
---|
| 913 | - Explicitly require python2. |
---|
| 914 | |
---|
| 915 | * Thu Jul 14 2016 Josh Stone <jistone@fedoraproject.org> - 1.10.0-1 |
---|
| 916 | - Initial package, bootstrapped |
---|