Compare commits

..

No commits in common. 'c9' and 'c8-beta-stream-rhel8' have entirely different histories.

4
.gitignore vendored

@ -1,2 +1,2 @@
SOURCES/rustc-1.76.0-src.tar.xz SOURCES/rustc-1.75.0-src.tar.xz
SOURCES/wasi-libc-03b228e46bb02fcc5927253e1b8ad715072b1ae4.tar.gz SOURCES/wasi-libc-bd950eb128bff337153de217b11270f948d04bb4.tar.gz

@ -1,2 +1,2 @@
755339e8131d618d3c1095a581f27afc573ad310 SOURCES/rustc-1.76.0-src.tar.xz 9ad7bb54dc9572c103b855cdcc823addbb34d15d SOURCES/rustc-1.75.0-src.tar.xz
124d114ffb627ada36bfa1df0216bcea0f55a15e SOURCES/wasi-libc-03b228e46bb02fcc5927253e1b8ad715072b1ae4.tar.gz 55eaa32c99cc8ec970f2db2d340a605724589f9b SOURCES/wasi-libc-bd950eb128bff337153de217b11270f948d04bb4.tar.gz

@ -0,0 +1,33 @@
From 776146e9ebb6bbe17a37bfad955f3dac95317275 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Thu, 16 Nov 2023 10:42:23 -0800
Subject: [PATCH] bootstrap: only show PGO warnings when verbose
Building rustc with `--rust-profile-use` is currently dumping a lot of
warnings of "no profile data available for function" from `rustc_smir`
and `stable_mir`. These simply aren't exercised by the current profile-
gathering steps, but that's to be expected for new or experimental
functionality. I think for most people, these warnings will be just
noise, so it makes sense to only have them in verbose builds.
---
src/bootstrap/src/core/build_steps/compile.rs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index af69860df1c5..51e4195827fc 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -887,7 +887,9 @@ fn run(self, builder: &Builder<'_>) {
} else if let Some(path) = &builder.config.rust_profile_use {
if compiler.stage == 1 {
cargo.rustflag(&format!("-Cprofile-use={path}"));
- cargo.rustflag("-Cllvm-args=-pgo-warn-missing-function");
+ if builder.is_verbose() {
+ cargo.rustflag("-Cllvm-args=-pgo-warn-missing-function");
+ }
true
} else {
false
--
2.43.0

@ -1,2 +0,0 @@
%__cargo_vendor_path ^%{_defaultlicensedir}(/[^/]+)+/cargo-vendor.txt$
%__cargo_vendor_provides %{_rpmconfigdir}/cargo_vendor.prov

@ -1,127 +0,0 @@
#! /usr/bin/python3 -s
# Stripped down replacement for cargo2rpm parse-vendor-manifest
import re
import subprocess
import sys
from typing import Optional
VERSION_REGEX = re.compile(
r"""
^
(?P<major>0|[1-9]\d*)
\.(?P<minor>0|[1-9]\d*)
\.(?P<patch>0|[1-9]\d*)
(?:-(?P<pre>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?
(?:\+(?P<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
""",
re.VERBOSE,
)
class Version:
"""
Version that adheres to the "semantic versioning" format.
"""
def __init__(self, major: int, minor: int, patch: int, pre: Optional[str] = None, build: Optional[str] = None):
self.major: int = major
self.minor: int = minor
self.patch: int = patch
self.pre: Optional[str] = pre
self.build: Optional[str] = build
@staticmethod
def parse(version: str) -> "Version":
"""
Parses a version string and return a `Version` object.
Raises a `ValueError` if the string does not match the expected format.
"""
match = VERSION_REGEX.match(version)
if not match:
raise ValueError(f"Invalid version: {version!r}")
matches = match.groupdict()
major_str = matches["major"]
minor_str = matches["minor"]
patch_str = matches["patch"]
pre = matches["pre"]
build = matches["build"]
major = int(major_str)
minor = int(minor_str)
patch = int(patch_str)
return Version(major, minor, patch, pre, build)
def to_rpm(self) -> str:
"""
Formats the `Version` object as an equivalent RPM version string.
Characters that are invalid in RPM versions are replaced ("-" -> "_")
Build metadata (the optional `Version.build` attribute) is dropped, so
the conversion is not lossless for versions where this attribute is not
`None`. However, build metadata is not intended to be part of the
version (and is not even considered when doing version comparison), so
dropping it when converting to the RPM version format is correct.
"""
s = f"{self.major}.{self.minor}.{self.patch}"
if self.pre:
s += f"~{self.pre.replace('-', '_')}"
return s
def break_the_build(error: str):
"""
This function writes a string that is an invalid RPM dependency specifier,
which causes dependency generators to fail and break the build. The
additional error message is printed to stderr.
"""
print("*** FATAL ERROR ***")
print(error, file=sys.stderr)
def get_cargo_vendor_txt_paths_from_stdin() -> set[str]: # pragma nocover
"""
Read lines from standard input and filter out lines that look like paths
to `cargo-vendor.txt` files. This is how RPM generators pass lists of files.
"""
lines = {line.rstrip("\n") for line in sys.stdin.readlines()}
return {line for line in lines if line.endswith("/cargo-vendor.txt")}
def action_parse_vendor_manifest():
paths = get_cargo_vendor_txt_paths_from_stdin()
for path in paths:
with open(path) as file:
manifest = file.read()
for line in manifest.strip().splitlines():
crate, version = line.split(" v")
print(f"bundled(crate({crate})) = {Version.parse(version).to_rpm()}")
def main():
try:
action_parse_vendor_manifest()
exit(0)
# print an error message that is not a valid RPM dependency
# to cause the generator to break the build
except (IOError, ValueError) as exc:
break_the_build(str(exc))
exit(1)
break_the_build("Uncaught exception: This should not happen, please report a bug.")
exit(1)
if __name__ == "__main__":
main()

@ -1,7 +1,12 @@
# __rustc: path to the default rustc executable # Explicitly use bindir tools, in case others are in the PATH,
# like the rustup shims in a user's ~/.cargo/bin/.
#
# Since cargo 1.31, install only uses $CARGO_HOME/config, ignoring $PWD.
# https://github.com/rust-lang/cargo/issues/6397
# But we can set CARGO_HOME locally, which is a good idea anyway to make sure
# it never writes to ~/.cargo during rpmbuild.
%__cargo /usr/bin/env CARGO_HOME=.cargo RUSTFLAGS='%{build_rustflags}' /usr/bin/cargo
%__rustc /usr/bin/rustc %__rustc /usr/bin/rustc
# __rustdoc: path to the default rustdoc executable
%__rustdoc /usr/bin/rustdoc %__rustdoc /usr/bin/rustdoc
# rustflags_opt_level: default optimization level # rustflags_opt_level: default optimization level
@ -29,68 +34,26 @@
# -Copt-level: set optimization level (default: highest optimization level) # -Copt-level: set optimization level (default: highest optimization level)
# -Cdebuginfo: set debuginfo verbosity (default: full debug information) # -Cdebuginfo: set debuginfo verbosity (default: full debug information)
# -Ccodegen-units: set number of parallel code generation units (default: 1) # -Ccodegen-units: set number of parallel code generation units (default: 1)
# -Cforce-frame-pointers: force inclusion of frame pointers (default: enabled
# on x86_64 and aarch64 on Fedora 37+)
#
# Additionally, some linker flags are set which correspond to the default
# Fedora compiler flags for hardening and for embedding package versions into
# compiled binaries.
# #
# ref. https://doc.rust-lang.org/rustc/codegen-options/index.html # ref. https://doc.rust-lang.org/rustc/codegen-options/index.html
%build_rustflags %{shrink: %build_rustflags %{shrink:
-Copt-level=%rustflags_opt_level -Copt-level=%rustflags_opt_level
-Cdebuginfo=%rustflags_debuginfo -Cdebuginfo=%rustflags_debuginfo
-Ccodegen-units=%rustflags_codegen_units -Ccodegen-units=%rustflags_codegen_units
-Cstrip=none
%{expr:0%{?_include_frame_pointers} && ("%{_arch}" != "ppc64le" && "%{_arch}" != "s390x" && "%{_arch}" != "i386") ? "-Cforce-frame-pointers=yes" : ""}
%[0%{?_package_note_status} ? "-Clink-arg=%_package_note_flags" : ""]
} }
# __cargo: cargo command with environment variables
#
# CARGO_HOME: This ensures cargo reads configuration file from .cargo/config,
# and prevents writing any files to $HOME during RPM builds.
%__cargo /usr/bin/env CARGO_HOME=.cargo RUSTFLAGS='%{build_rustflags}' /usr/bin/cargo
# __cargo_common_opts: common command line flags for cargo # __cargo_common_opts: common command line flags for cargo
# #
# _smp_mflags: run builds and tests in parallel # _smp_mflags: run builds and tests in parallel
%__cargo_common_opts %{?_smp_mflags} %__cargo_common_opts %{?_smp_mflags}
# cargo_prep: macro to set up build environment for cargo projects %cargo_prep(V:) (\
# %{__mkdir} -p .cargo \
# This involves four steps: cat > .cargo/config << EOF \
# - create the ".cargo" directory if it doesn't exist yet
# - dump custom cargo configuration into ".cargo/config"
# - remove "Cargo.lock" if it exists (it breaks builds with custom cargo config)
# - remove "Cargo.toml.orig" if it exists (it breaks running "cargo package")
#
# Options:
# -V <number> - unpack and use vendored sources from Source<number> tarball
# (deprecated; use -v instead)
# -v <directory> - use vendored sources from <directory>
# -N - Don't set up any registry. Only set up the build configuration.
%cargo_prep(V:v:N)\
%{-v:%{-V:%{error:-v and -V are mutually exclusive!}}}\
%{-v:%{-N:%{error:-v and -N are mutually exclusive!}}}\
(\
set -euo pipefail\
%{__mkdir} -p target/rpm\
/usr/bin/ln -s rpm target/release\
%{__rm} -rf .cargo/\
%{__mkdir} -p .cargo\
cat > .cargo/config << EOF\
[build]\ [build]\
rustc = "%{__rustc}"\ rustc = "%{__rustc}"\
rustdoc = "%{__rustdoc}"\ rustdoc = "%{__rustdoc}"\
\ \
[profile.rpm]\
inherits = "release"\
opt-level = %{rustflags_opt_level}\
codegen-units = %{rustflags_codegen_units}\
debug = %{rustflags_debuginfo}\
strip = "none"\
\
[env]\ [env]\
CFLAGS = "%{build_cflags}"\ CFLAGS = "%{build_cflags}"\
CXXFLAGS = "%{build_cxxflags}"\ CXXFLAGS = "%{build_cxxflags}"\
@ -102,28 +65,27 @@ root = "%{buildroot}%{_prefix}"\
[term]\ [term]\
verbose = true\ verbose = true\
EOF\ EOF\
%{-V:%{__tar} -xoaf %{S:%{-V*}}}\ %if 0%{-V:1}\
%{!?-N:\ %{__tar} -xoaf %{S:%{-V*}}\
cat >> .cargo/config << EOF\ cat >> .cargo/config << EOF \
[source.vendored-sources]\
directory = "%{-v*}%{-V:./vendor}"\
\ \
[source.crates-io]\ [source.crates-io]\
registry = "https://crates.io"\
replace-with = "vendored-sources"\ replace-with = "vendored-sources"\
EOF}\ \
%{__rm} -f Cargo.toml.orig\ [source.vendored-sources]\
directory = "./vendor"\
EOF\
%endif\
) )
# __cargo_parse_opts: function-like macro which parses common flags into the # __cargo_parse_opts: function-like macro which parses common flags into the
# equivalent command-line flags for cargo # equivalent command-line flags for cargo
%__cargo_parse_opts(naf:) %{shrink:\ %__cargo_parse_opts(naf:) %{shrink:\
%{-n:%{-a:%{error:Can't specify both -n and -a}}} \ %{-f:%{-a:%{error:Can't specify both -f(%{-f*}) and -a}}} \
%{-f:%{-a:%{error:Can't specify both -f(%{-f*}) and -a}}} \ %{-n:--no-default-features} \
%{-n:--no-default-features} \ %{-a:--all-features} \
%{-a:--all-features} \ %{-f:--features %{-f*}} \
%{-f:--features %{-f*}} \ %{nil}
%{nil} \
} }
# NB: cargo_build/test/install do not use the -n/-a/-f argument parsing like # NB: cargo_build/test/install do not use the -n/-a/-f argument parsing like
@ -132,11 +94,11 @@ EOF}\
# explicitly use --no-default-features, --all-features, or --features XYZ. # explicitly use --no-default-features, --all-features, or --features XYZ.
# cargo_build: builds the crate with cargo # cargo_build: builds the crate with cargo
%cargo_build\ %cargo_build \
%{shrink: \ %{shrink:\
%{__cargo} build \ %{__cargo} build \
%{__cargo_common_opts} \ %{__cargo_common_opts} \
--profile rpm \ --release \
} }
# cargo_test: runs the test suite with cargo # cargo_test: runs the test suite with cargo
@ -146,12 +108,12 @@ EOF}\
# "cargo test" argument parsing need to be bypassed, # "cargo test" argument parsing need to be bypassed,
# i.e. "%%cargo_test -- --skip foo" for skipping all tests with names that # i.e. "%%cargo_test -- --skip foo" for skipping all tests with names that
# match "foo". # match "foo".
%cargo_test\ %cargo_test \
%{shrink: \ %{shrink:\
%{__cargo} test \ %{__cargo} test \
%{__cargo_common_opts} \ %{__cargo_common_opts} \
--profile rpm \ --release \
--no-fail-fast \ --no-fail-fast \
} }
# cargo_install: install files into the buildroot # cargo_install: install files into the buildroot
@ -161,17 +123,13 @@ EOF}\
# "$CARGO_HOME/.crates.toml" file, which is used to keep track of which version # "$CARGO_HOME/.crates.toml" file, which is used to keep track of which version
# of a specific binary has been installed, but which conflicts between builds # of a specific binary has been installed, but which conflicts between builds
# of different Rust applications and is not needed when building RPM packages. # of different Rust applications and is not needed when building RPM packages.
%cargo_install\ %cargo_install \
(\ %{shrink: \
set -euo pipefail \ %{__cargo} install \
%{shrink: \ %{__cargo_common_opts} \
%{__cargo} install \ --no-track \
%{__cargo_common_opts} \ --path . \
--profile rpm \ } \
--no-track \
--path . \
} \
)
# cargo_license: print license information for all crate dependencies # cargo_license: print license information for all crate dependencies
# #
@ -187,21 +145,19 @@ set -euo pipefail \
# The "cargo tree" command called by this macro will fail if there are missing # The "cargo tree" command called by this macro will fail if there are missing
# (optional) dependencies. # (optional) dependencies.
%cargo_license(naf:)\ %cargo_license(naf:)\
(\ %{shrink:\
set -euo pipefail\
%{shrink: \
%{__cargo} tree \ %{__cargo} tree \
--workspace \ --workspace \
--offline \ --offline \
--edges no-build,no-dev,no-proc-macro \ --edges no-build,no-dev,no-proc-macro \
--no-dedupe \ --no-dedupe \
--target all \
%{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \ %{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \
--prefix none \ --prefix none \
--format "{l}: {p}" \ --format "{l}: {p}" \
| sed -e "s: ($(pwd)[^)]*)::g" -e "s: / :/:g" -e "s:/: OR :g" \ | sed -e "s: ($(pwd)[^)]*)::g" -e "s: / :/:g" -e "s:/: OR :g" \
| sort -u \ | sort -u
}\ }
)
# cargo_license_summary: print license summary for all crate dependencies # cargo_license_summary: print license summary for all crate dependencies
# #
@ -210,46 +166,16 @@ set -euo pipefail\
# in the dependency tree. This is useful for determining the correct License # in the dependency tree. This is useful for determining the correct License
# tag for packages that contain compiled Rust binaries. # tag for packages that contain compiled Rust binaries.
%cargo_license_summary(naf:)\ %cargo_license_summary(naf:)\
(\ %{shrink:\
set -euo pipefail\
%{shrink: \
%{__cargo} tree \ %{__cargo} tree \
--workspace \ --workspace \
--offline \ --offline \
--edges no-build,no-dev,no-proc-macro \ --edges no-build,no-dev,no-proc-macro \
--no-dedupe \ --no-dedupe \
--target all \
%{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \ %{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \
--prefix none \ --prefix none \
--format "# {l}" \ --format "# {l}" \
| sed -e "s: / :/:g" -e "s:/: OR :g" \ | sed -e "s: / :/:g" -e "s:/: OR :g" \
| sort -u \ | sort -u \
}\ }
)
# cargo_vendor_manifest: write list of vendored crates and their versions
#
# The arguments for the internal "cargo tree" call emulate the logic
# that determines which crates are included when running "cargo vendor".
# The results are written to "cargo-vendor.txt".
#
# TODO: --all-features may be overly broad; this should be modified to
# use %%__cargo_parse_opts to handle feature flags.
%cargo_vendor_manifest()\
(\
set -euo pipefail\
%{shrink: \
%{__cargo} tree \
--workspace \
--offline \
--edges normal,build \
--no-dedupe \
--all-features \
--prefix none \
--format "{p}" \
| grep -v "$(pwd)" \
| sed -e "s: (proc-macro)::" \
| sort -u \
> cargo-vendor.txt \
}\
)

@ -1,6 +1,6 @@
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2024-01-07 18:12:08.000000000 -0800 --- ./rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2023-11-12 12:24:35.000000000 -0800
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-01-09 15:25:51.519781381 -0800 +++ rustc-beta-src/src/tools/cargo/Cargo.lock 2023-11-14 17:01:32.010125953 -0800
@@ -2071,7 +2071,6 @@ @@ -2027,7 +2027,6 @@
dependencies = [ dependencies = [
"cc", "cc",
"libc", "libc",
@ -8,12 +8,10 @@
"libz-sys", "libz-sys",
"openssl-sys", "openssl-sys",
"pkg-config", "pkg-config",
@@ -2113,20 +2112,6 @@ @@ -2060,20 +2059,6 @@
"pkg-config",
"vcpkg",
] ]
-
-[[package]] [[package]]
-name = "libssh2-sys" -name = "libssh2-sys"
-version = "0.3.0" -version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index" -source = "registry+https://github.com/rust-lang/crates.io-index"
@ -26,17 +24,19 @@
- "pkg-config", - "pkg-config",
- "vcpkg", - "vcpkg",
-] -]
-
[[package]] -[[package]]
name = "libz-sys" name = "libz-sys"
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2024-01-09 15:23:02.369032291 -0800 version = "1.1.9"
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-01-09 15:24:44.015679666 -0800 source = "registry+https://github.com/rust-lang/crates.io-index"
--- ./rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2023-11-14 17:01:32.010125953 -0800
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2023-11-14 17:02:44.645097701 -0800
@@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
curl-sys = "0.4.70" curl-sys = "0.4.68"
filetime = "0.2.22" filetime = "0.2.22"
flate2 = { version = "1.0.28", default-features = false, features = ["zlib"] } flate2 = { version = "1.0.28", default-features = false, features = ["zlib"] }
-git2 = "0.18.1" -git2 = "0.18.1"
+git2 = { version = "0.18.1", default-features = false, features = ["https"] } +git2 = { version = "0.18.1", default-features = false, features = ["https"] }
git2-curl = "0.19.0" git2-curl = "0.19.0"
gix = { version = "0.56.0", default-features = false, features = ["blocking-http-transport-curl", "progress-tree", "revision"] } gix = { version = "0.55.2", default-features = false, features = ["blocking-http-transport-curl", "progress-tree", "revision"] }
gix-features-for-configuration-only = { version = "0.35.0", package = "gix-features", features = [ "parallel" ] } gix-features-for-configuration-only = { version = "0.35.0", package = "gix-features", features = [ "parallel" ] }

@ -1,21 +0,0 @@
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2024-01-07 18:12:08.000000000 -0800
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-01-09 15:36:23.808367445 -0800
@@ -2109,7 +2109,6 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
dependencies = [
- "cc",
"pkg-config",
"vcpkg",
]
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2024-01-07 18:12:08.000000000 -0800
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-01-09 15:36:18.534437627 -0800
@@ -73,7 +73,7 @@
pulldown-cmark = { version = "0.9.3", default-features = false }
rand = "0.8.5"
regex = "1.10.2"
-rusqlite = { version = "0.30.0", features = ["bundled"] }
+rusqlite = { version = "0.30.0", features = [] }
rustfix = { version = "0.7.0", path = "crates/rustfix" }
same-file = "1.0.6"
security-framework = "2.9.2"

@ -1,5 +1,5 @@
Name: rust Name: rust
Version: 1.76.0 Version: 1.75.0
Release: 1%{?dist} Release: 1%{?dist}
Summary: The Rust Programming Language Summary: The Rust Programming Language
License: (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-DFS-2016) License: (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-DFS-2016)
@ -14,9 +14,9 @@ ExclusiveArch: %{rust_arches}
# To bootstrap from scratch, set the channel and date from src/stage0.json # To bootstrap from scratch, set the channel and date from src/stage0.json
# e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13 # e.g. 1.59.0 wants rustc: 1.58.0-2022-01-13
# or nightly wants some beta-YYYY-MM-DD # or nightly wants some beta-YYYY-MM-DD
%global bootstrap_version 1.75.0 %global bootstrap_version 1.74.0
%global bootstrap_channel 1.75.0 %global bootstrap_channel 1.74.0
%global bootstrap_date 2023-12-28 %global bootstrap_date 2023-11-16
# Only the specified arches will use bootstrap binaries. # Only the specified arches will use bootstrap binaries.
# NOTE: Those binaries used to be uploaded with every new release, but that was # NOTE: Those binaries used to be uploaded with every new release, but that was
@ -28,7 +28,11 @@ ExclusiveArch: %{rust_arches}
# Define a space-separated list of targets to ship rust-std-static-$triple for # Define a space-separated list of targets to ship rust-std-static-$triple for
# cross-compilation. The packages are noarch, but they're not fully # cross-compilation. The packages are noarch, but they're not fully
# reproducible between hosts, so only x86_64 actually builds it. # reproducible between hosts, so only x86_64 actually builds it.
%ifarch x86_64 #ifarch x86_64
# FIX: Except on RHEL8 modules, we can't filter a noarch package from shipping
# on certain arches, namely s390x for its lack of lld. So we need to make it an
# arch-specific package only for the supported arches.
%ifnarch s390x
%if 0%{?fedora} %if 0%{?fedora}
%global mingw_targets i686-pc-windows-gnu x86_64-pc-windows-gnu %global mingw_targets i686-pc-windows-gnu x86_64-pc-windows-gnu
%endif %endif
@ -44,9 +48,10 @@ ExclusiveArch: %{rust_arches}
# We need CRT files for *-wasi targets, at least as new as the commit in # We need CRT files for *-wasi targets, at least as new as the commit in
# src/ci/docker/host-x86_64/dist-various-2/build-wasi-toolchain.sh # src/ci/docker/host-x86_64/dist-various-2/build-wasi-toolchain.sh
# (updated per https://github.com/rust-lang/rust/pull/96907)
%global wasi_libc_url https://github.com/WebAssembly/wasi-libc %global wasi_libc_url https://github.com/WebAssembly/wasi-libc
#global wasi_libc_ref wasi-sdk-21 #global wasi_libc_ref wasi-sdk-20
%global wasi_libc_ref 03b228e46bb02fcc5927253e1b8ad715072b1ae4 %global wasi_libc_ref bd950eb128bff337153de217b11270f948d04bb4
%global wasi_libc_name wasi-libc-%{wasi_libc_ref} %global wasi_libc_name wasi-libc-%{wasi_libc_ref}
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_ref}/%{wasi_libc_name}.tar.gz %global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_ref}/%{wasi_libc_name}.tar.gz
%global wasi_libc_dir %{_builddir}/%{wasi_libc_name} %global wasi_libc_dir %{_builddir}/%{wasi_libc_name}
@ -62,7 +67,7 @@ ExclusiveArch: %{rust_arches}
# We can also choose to just use Rust's bundled LLVM, in case the system LLVM # We can also choose to just use Rust's bundled LLVM, in case the system LLVM
# is insufficient. Rust currently requires LLVM 15.0+. # is insufficient. Rust currently requires LLVM 15.0+.
%global min_llvm_version 15.0.0 %global min_llvm_version 15.0.0
%global bundled_llvm_version 17.0.6 %global bundled_llvm_version 17.0.5
%bcond_with bundled_llvm %bcond_with bundled_llvm
# Requires stable libgit2 1.7, and not the next minor soname change. # Requires stable libgit2 1.7, and not the next minor soname change.
@ -84,15 +89,9 @@ ExclusiveArch: %{rust_arches}
%endif %endif
%if 0%{?__isa_bits} == 32 %if 0%{?__isa_bits} == 32
# Reduce rustc's own debuginfo and optimizations to conserve 32-bit memory. # Disable PGO on 32-bit to reduce build memory
# e.g. https://github.com/rust-lang/rust/issues/45854
%global enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2
%global enable_rust_opts --set rust.codegen-units-std=1
%bcond_with rustc_pgo %bcond_with rustc_pgo
%else %else
# Build rustc with full debuginfo, CGU=1, ThinLTO, and PGO.
%global enable_debuginfo --debuginfo-level=2
%global enable_rust_opts --set rust.codegen-units=1 --set rust.lto=thin
%bcond_without rustc_pgo %bcond_without rustc_pgo
%endif %endif
@ -123,18 +122,16 @@ Patch3: 0001-Let-environment-variables-override-some-default-CPUs.patch
Patch4: 0001-bootstrap-allow-disabling-target-self-contained.patch Patch4: 0001-bootstrap-allow-disabling-target-self-contained.patch
Patch5: 0002-set-an-external-library-path-for-wasm32-wasi.patch Patch5: 0002-set-an-external-library-path-for-wasm32-wasi.patch
# We don't want to use the bundled library in libsqlite3-sys # https://github.com/rust-lang/rust/pull/117982
Patch6: rustc-1.76.0-unbundle-sqlite.patch Patch6: 0001-bootstrap-only-show-PGO-warnings-when-verbose.patch
### RHEL-specific patches below ### ### RHEL-specific patches below ###
# Simple rpm macros for rust-toolset (as opposed to full rust-packaging) # Simple rpm macros for rust-toolset (as opposed to full rust-packaging)
Source100: macros.rust-toolset Source100: macros.rust-toolset
Source101: cargo_vendor.attr
Source102: cargo_vendor.prov
# Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949) # Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949)
Patch100: rustc-1.76.0-disable-libssh2.patch Patch100: rustc-1.75.0-disable-libssh2.patch
# Get the Rust triple for any arch. # Get the Rust triple for any arch.
%{lua: function rust_triple(arch) %{lua: function rust_triple(arch)
@ -204,7 +201,6 @@ BuildRequires: curl-devel
BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
%if %{without bundled_libgit2} %if %{without bundled_libgit2}
@ -371,7 +367,8 @@ BuildArch: noarch
%if %target_enabled wasm32-unknown-unknown %if %target_enabled wasm32-unknown-unknown
%target_package wasm32-unknown-unknown %target_package wasm32-unknown-unknown
Requires: lld >= 8.0 Requires: lld >= 8.0
BuildArch: noarch # FIX: we can't be noarch while excluding s390x for lack of lld
# BuildArch: noarch
%target_description wasm32-unknown-unknown WebAssembly %target_description wasm32-unknown-unknown WebAssembly
%endif %endif
@ -383,7 +380,8 @@ Provides: bundled(wasi-libc)
%else %else
Requires: wasi-libc-static Requires: wasi-libc-static
%endif %endif
BuildArch: noarch # FIX: we can't be noarch while excluding s390x for lack of lld
# BuildArch: noarch
%target_description wasm32-wasi WebAssembly %target_description wasm32-wasi WebAssembly
%endif %endif
@ -594,7 +592,6 @@ mkdir -p src/llvm-project/libunwind/
%clear_dir vendor/*jemalloc-sys*/jemalloc/ %clear_dir vendor/*jemalloc-sys*/jemalloc/
%clear_dir vendor/libffi-sys*/libffi/ %clear_dir vendor/libffi-sys*/libffi/
%clear_dir vendor/libmimalloc-sys*/c_src/mimalloc/ %clear_dir vendor/libmimalloc-sys*/c_src/mimalloc/
%clear_dir vendor/libsqlite3-sys*/{sqlite3,sqlcipher}/
%clear_dir vendor/libssh2-sys*/libssh2/ %clear_dir vendor/libssh2-sys*/libssh2/
%clear_dir vendor/libz-sys*/src/zlib{,-ng}/ %clear_dir vendor/libz-sys*/src/zlib{,-ng}/
%clear_dir vendor/lzma-sys*/xz-*/ %clear_dir vendor/lzma-sys*/xz-*/
@ -647,19 +644,27 @@ find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+'
print(env) print(env)
end} end}
# Set up shared environment variables for build/install/check. # Set up shared environment variables for build/install/check
# *_USE_PKG_CONFIG=1 convinces *-sys crates to use the system library. %global rust_env %{?rustflags:RUSTFLAGS="%{rustflags}"} %{rustc_target_cpus}
%global rust_env %{shrink: %if %without disabled_libssh2
%{?rustflags:RUSTFLAGS="%{rustflags}"} # convince libssh2-sys to use the distro libssh2
%{rustc_target_cpus} %global rust_env %{?rust_env} LIBSSH2_SYS_USE_PKG_CONFIG=1
LIBSQLITE3_SYS_USE_PKG_CONFIG=1 %endif
%{!?with_disabled_libssh2:LIBSSH2_SYS_USE_PKG_CONFIG=1} %global export_rust_env %{?rust_env:export %{rust_env}}
}
%global export_rust_env export %{rust_env}
%build %build
%{export_rust_env} %{export_rust_env}
%ifarch %{arm} %{ix86}
# full debuginfo and compiler opts are exhausting memory; just do libstd for now
# https://github.com/rust-lang/rust/issues/45854
%define enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2
%define enable_rust_opts --set rust.codegen-units-std=1
%else
%define enable_debuginfo --debuginfo-level=2
%define enable_rust_opts --set rust.codegen-units=1 --set rust.lto=thin
%endif
# Some builders have relatively little memory for their CPU count. # Some builders have relatively little memory for their CPU count.
# At least 2GB per CPU is a good rule of thumb for building rustc. # At least 2GB per CPU is a good rule of thumb for building rustc.
ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN) ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN)
@ -850,8 +855,6 @@ rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
%if 0%{?rhel} %if 0%{?rhel}
# This allows users to build packages using Rust Toolset. # This allows users to build packages using Rust Toolset.
%{__install} -D -m 644 %{S:100} %{buildroot}%{rpmmacrodir}/macros.rust-toolset %{__install} -D -m 644 %{S:100} %{buildroot}%{rpmmacrodir}/macros.rust-toolset
%{__install} -D -m 644 %{S:101} %{buildroot}%{_fileattrsdir}/cargo_vendor.attr
%{__install} -D -m 755 %{S:102} %{buildroot}%{_rpmconfigdir}/cargo_vendor.prov
%endif %endif
@ -886,17 +889,17 @@ rm -rf "$TMP_HELLO"
# Bootstrap is excluded because it's not something we ship, and a lot of its # Bootstrap is excluded because it's not something we ship, and a lot of its
# tests are geared toward the upstream CI environment. # tests are geared toward the upstream CI environment.
%{__xk} test --no-fail-fast --skip src/bootstrap || : timeout -v 90m %{__xk} test --no-fail-fast --skip src/bootstrap || :
rm -rf "./build/%{rust_triple}/test/" rm -rf "./build/%{rust_triple}/test/"
%{__xk} test --no-fail-fast cargo || : timeout -v 30m %{__xk} test --no-fail-fast cargo || :
rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/" rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%{__xk} test --no-fail-fast clippy || : timeout -v 30m %{__xk} test --no-fail-fast clippy || :
%{__xk} test --no-fail-fast rust-analyzer || : timeout -v 30m %{__xk} test --no-fail-fast rust-analyzer || :
%{__xk} test --no-fail-fast rustfmt || : timeout -v 30m %{__xk} test --no-fail-fast rustfmt || :
%ldconfig_scriptlets %ldconfig_scriptlets
@ -1033,22 +1036,13 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
%if 0%{?rhel} %if 0%{?rhel}
%files toolset %files toolset
%{rpmmacrodir}/macros.rust-toolset %{rpmmacrodir}/macros.rust-toolset
%{_fileattrsdir}/cargo_vendor.attr
%{_rpmconfigdir}/cargo_vendor.prov
%endif %endif
%changelog %changelog
* Tue Apr 16 2024 Josh Stone <jistone@redhat.com> - 1.76.0-1
- Update to 1.76.0.
- Sync rust-toolset macros to rust-packaging v25.2
* Fri Jan 05 2024 Josh Stone <jistone@redhat.com> - 1.75.0-1 * Fri Jan 05 2024 Josh Stone <jistone@redhat.com> - 1.75.0-1
- Update to 1.75.0. - Update to 1.75.0.
* Fri Jan 05 2024 Josh Stone <jistone@redhat.com> - 1.74.1-2
- Rebuild in a new side-tag.
* Wed Jan 03 2024 Josh Stone <jistone@redhat.com> - 1.74.1-1 * Wed Jan 03 2024 Josh Stone <jistone@redhat.com> - 1.74.1-1
- Update to 1.74.1. - Update to 1.74.1.
@ -1074,14 +1068,14 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
* Tue Jul 18 2023 Josh Stone <jistone@redhat.com> - 1.70.0-1 * Tue Jul 18 2023 Josh Stone <jistone@redhat.com> - 1.70.0-1
- Update to 1.70.0. - Update to 1.70.0.
* Wed May 10 2023 Josh Stone <jistone@redhat.com> - 1.69.0-1 * Fri May 26 2023 Josh Stone <jistone@redhat.com> - 1.69.0-1
- Update to 1.69.0. - Update to 1.69.0.
- Obsolete rust-analysis. - Obsolete rust-analysis.
* Tue May 09 2023 Josh Stone <jistone@redhat.com> - 1.68.2-1 * Fri May 19 2023 Josh Stone <jistone@redhat.com> - 1.68.2-1
- Update to 1.68.2. - Update to 1.68.2.
* Mon May 08 2023 Josh Stone <jistone@redhat.com> - 1.67.1-1 * Thu May 18 2023 Josh Stone <jistone@redhat.com> - 1.67.1-1
- Update to 1.67.1. - Update to 1.67.1.
* Wed Jan 11 2023 Josh Stone <jistone@redhat.com> - 1.66.1-1 * Wed Jan 11 2023 Josh Stone <jistone@redhat.com> - 1.66.1-1
@ -1091,9 +1085,6 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
- Update to 1.65.0. - Update to 1.65.0.
- rust-analyzer now obsoletes rls. - rust-analyzer now obsoletes rls.
* Wed Oct 12 2022 Josh Stone <jistone@redhat.com> - 1.64.0-2
- Rebuild for LLVM 15.0.1.
* Thu Sep 22 2022 Josh Stone <jistone@redhat.com> - 1.64.0-1 * Thu Sep 22 2022 Josh Stone <jistone@redhat.com> - 1.64.0-1
- Update to 1.64.0. - Update to 1.64.0.
- Add rust-analyzer. - Add rust-analyzer.
@ -1129,106 +1120,65 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
* Wed Dec 15 2021 Josh Stone <jistone@redhat.com> - 1.57.0-1 * Wed Dec 15 2021 Josh Stone <jistone@redhat.com> - 1.57.0-1
- Update to 1.57.0. - Update to 1.57.0.
* Wed Dec 01 2021 Josh Stone <jistone@redhat.com> - 1.56.1-2 * Thu Dec 02 2021 Josh Stone <jistone@redhat.com> - 1.56.1-2
- Add rust-std-static-wasm32-wasi - Add rust-std-static-wasm32-wasi
Resolves: rhbz#1980082 Resolves: rhbz#1980080
* Thu Nov 04 2021 Josh Stone <jistone@redhat.com> - 1.56.1-1 * Tue Nov 02 2021 Josh Stone <jistone@redhat.com> - 1.56.0-1
- Update to 1.56.1. - Update to 1.56.1.
* Fri Oct 29 2021 Josh Stone <jistone@redhat.com> - 1.55.0-1 * Fri Oct 29 2021 Josh Stone <jistone@redhat.com> - 1.55.0-1
- Update to 1.55.0. - Update to 1.55.0.
- Backport support for LLVM 13.
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.54.0-2 * Tue Aug 17 2021 Josh Stone <jistone@redhat.com> - 1.54.0-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Make std-static-wasm* arch-specific to avoid s390x.
Related: rhbz#1991688
* Wed Aug 04 2021 Josh Stone <jistone@redhat.com> - 1.54.0-1 * Thu Jul 29 2021 Josh Stone <jistone@redhat.com> - 1.54.0-1
- Update to 1.54.0. - Update to 1.54.0.
* Tue Jun 22 2021 Josh Stone <jistone@redhat.com> - 1.53.0-1 * Tue Jul 20 2021 Josh Stone <jistone@redhat.com> - 1.53.0-2
- Update to 1.53.0. - Use llvm-ranlib to fix wasm archives.
- Update openssl crates to published versions for 3.0 support.
* Tue Jun 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.52.1-4 * Mon Jun 21 2021 Josh Stone <jistone@redhat.com> - 1.53.0-1
- Rebuilt for RHEL 9 BETA for openssl 3.0 - Update to 1.53.0.
* Mon Jun 07 2021 Josh Stone <jistone@redhat.com> - 1.52.1-3 * Tue Jun 15 2021 Josh Stone <jistone@redhat.com> - 1.52.1-2
- Set rust.codegen-units-std=1 for all targets again. - Set rust.codegen-units-std=1 for all targets again.
- Add rust-std-static-wasm32-unknown-unknown. - Add rust-std-static-wasm32-unknown-unknown.
* Tue May 18 2021 Josh Stone <jistone@redhat.com> - 1.52.1-2 * Tue May 25 2021 Josh Stone <jistone@redhat.com> - 1.52.1-1
- Rebuild for OpenSSL 3.0.0-alpha16
* Thu May 13 2021 Josh Stone <jistone@redhat.com> - 1.52.1-1
- Update to 1.52.1. Includes security fixes for CVE-2020-36323, - Update to 1.52.1. Includes security fixes for CVE-2020-36323,
CVE-2021-28876, CVE-2021-28878, CVE-2021-28879, and CVE-2021-31162. CVE-2021-28876, CVE-2021-28878, CVE-2021-28879, and CVE-2021-31162.
- Initial support for OpenSSL 3.0.0-alpha15
* Wed Apr 28 2021 Josh Stone <jistone@redhat.com> - 1.51.0-1 * Mon May 24 2021 Josh Stone <jistone@redhat.com> - 1.51.0-1
- Update to 1.51.0. Includes security fixes for CVE-2021-28875 - Update to 1.51.0. Update to 1.51.0. Includes security fixes for
and CVE-2021-28877. CVE-2021-28875 and CVE-2021-28877.
* Tue Apr 27 2021 Josh Stone <jistone@redhat.com> - 1.50.0-1 * Mon May 24 2021 Josh Stone <jistone@redhat.com> - 1.50.0-1
- Update to 1.50.0. - Update to 1.50.0.
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.49.0-5 * Wed Jan 13 2021 Josh Stone <jistone@redhat.com> - 1.49.0-1
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Fri Feb 12 2021 Josh Stone <jistone@redhat.com> - 1.49.0-4
- Rebuild without bootstrap binaries
* Thu Feb 11 2021 Josh Stone <jistone@redhat.com> - 1.49.0-3
- Re-bootstrap due to removed LLVM targets
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.49.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 05 2021 Josh Stone <jistone@redhat.com> - 1.49.0-1
- Update to 1.49.0. - Update to 1.49.0.
* Tue Dec 29 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.48.0-3 * Tue Jan 12 2021 Josh Stone <jistone@redhat.com> - 1.48.0-1
- De-bootstrap
* Mon Dec 28 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.48.0-2
- Rebuild for libgit2 1.1.x
* Thu Nov 19 2020 Josh Stone <jistone@redhat.com> - 1.48.0-1
- Update to 1.48.0. - Update to 1.48.0.
* Sat Oct 10 2020 Jeff Law <law@redhat.com> - 1.47.0-2 * Thu Oct 22 2020 Josh Stone <jistone@redhat.com> - 1.47.0-1
- Re-enable LTO
* Thu Oct 08 2020 Josh Stone <jistone@redhat.com> - 1.47.0-1
- Update to 1.47.0. - Update to 1.47.0.
* Fri Aug 28 2020 Fabio Valentini <decathorpe@gmail.com> - 1.46.0-2 * Wed Oct 14 2020 Josh Stone <jistone@redhat.com> - 1.46.0-1
- Fix LTO with doctests (backported cargo PR#8657).
* Thu Aug 27 2020 Josh Stone <jistone@redhat.com> - 1.46.0-1
- Update to 1.46.0. - Update to 1.46.0.
* Mon Aug 03 2020 Josh Stone <jistone@redhat.com> - 1.45.2-1 * Tue Aug 04 2020 Josh Stone <jistone@redhat.com> - 1.45.2-1
- Update to 1.45.2. - Update to 1.45.2.
* Thu Jul 30 2020 Josh Stone <jistone@redhat.com> - 1.45.1-1
- Update to 1.45.1.
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.45.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 16 2020 Josh Stone <jistone@redhat.com> - 1.45.0-1 * Thu Jul 16 2020 Josh Stone <jistone@redhat.com> - 1.45.0-1
- Update to 1.45.0. - Update to 1.45.0.
* Wed Jul 01 2020 Jeff Law <law@redhat.com> - 1.44.1-2 * Tue Jul 14 2020 Josh Stone <jistone@redhat.com> - 1.44.1-1
- Disable LTO
* Thu Jun 18 2020 Josh Stone <jistone@redhat.com> - 1.44.1-1
- Update to 1.44.1. - Update to 1.44.1.
* Thu Jun 04 2020 Josh Stone <jistone@redhat.com> - 1.44.0-1
- Update to 1.44.0.
* Thu May 07 2020 Josh Stone <jistone@redhat.com> - 1.43.1-1 * Thu May 07 2020 Josh Stone <jistone@redhat.com> - 1.43.1-1
- Update to 1.43.1. - Update to 1.43.1.
@ -1241,39 +1191,27 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
* Thu Feb 27 2020 Josh Stone <jistone@redhat.com> - 1.41.1-1 * Thu Feb 27 2020 Josh Stone <jistone@redhat.com> - 1.41.1-1
- Update to 1.41.1. - Update to 1.41.1.
* Thu Feb 20 2020 Josh Stone <jistone@redhat.com> - 1.41.0-2
- Rebuild with llvm9.0
* Thu Jan 30 2020 Josh Stone <jistone@redhat.com> - 1.41.0-1 * Thu Jan 30 2020 Josh Stone <jistone@redhat.com> - 1.41.0-1
- Update to 1.41.0. - Update to 1.41.0.
* Thu Jan 16 2020 Josh Stone <jistone@redhat.com> - 1.40.0-3 * Thu Jan 16 2020 Josh Stone <jistone@redhat.com> - 1.40.0-1
- Build compiletest with in-tree libtest - Update to 1.40.0.
* Tue Jan 07 2020 Josh Stone <jistone@redhat.com> - 1.40.0-2
- Fix compiletest with newer (local-rebuild) libtest - Fix compiletest with newer (local-rebuild) libtest
- Build compiletest with in-tree libtest
- Fix ARM EHABI unwinding - Fix ARM EHABI unwinding
* Thu Dec 19 2019 Josh Stone <jistone@redhat.com> - 1.40.0-1
- Update to 1.40.0.
* Tue Nov 12 2019 Josh Stone <jistone@redhat.com> - 1.39.0-2 * Tue Nov 12 2019 Josh Stone <jistone@redhat.com> - 1.39.0-2
- Fix a couple build and test issues with rustdoc. - Fix a couple build and test issues with rustdoc.
* Thu Nov 07 2019 Josh Stone <jistone@redhat.com> - 1.39.0-1 * Thu Nov 07 2019 Josh Stone <jistone@redhat.com> - 1.39.0-1
- Update to 1.39.0. - Update to 1.39.0.
* Fri Sep 27 2019 Josh Stone <jistone@redhat.com> - 1.38.0-2
- Filter the libraries included in rust-std (rhbz1756487)
* Thu Sep 26 2019 Josh Stone <jistone@redhat.com> - 1.38.0-1 * Thu Sep 26 2019 Josh Stone <jistone@redhat.com> - 1.38.0-1
- Update to 1.38.0. - Update to 1.38.0.
* Thu Aug 15 2019 Josh Stone <jistone@redhat.com> - 1.37.0-1 * Thu Aug 15 2019 Josh Stone <jistone@redhat.com> - 1.37.0-1
- Update to 1.37.0. - Update to 1.37.0.
- Disable libssh2 (git+ssh support).
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.36.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jul 04 2019 Josh Stone <jistone@redhat.com> - 1.36.0-1 * Thu Jul 04 2019 Josh Stone <jistone@redhat.com> - 1.36.0-1
- Update to 1.36.0. - Update to 1.36.0.
@ -1287,259 +1225,88 @@ rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/"
* Tue May 14 2019 Josh Stone <jistone@redhat.com> - 1.34.2-1 * Tue May 14 2019 Josh Stone <jistone@redhat.com> - 1.34.2-1
- Update to 1.34.2 -- fixes CVE-2019-12083. - Update to 1.34.2 -- fixes CVE-2019-12083.
* Tue Apr 30 2019 Josh Stone <jistone@redhat.com> - 1.34.1-3 * Thu May 09 2019 Josh Stone <jistone@redhat.com> - 1.34.1-1
- Set rust.codegen-units-std=1
* Fri Apr 26 2019 Josh Stone <jistone@redhat.com> - 1.34.1-2
- Remove the ThinLTO workaround.
* Thu Apr 25 2019 Josh Stone <jistone@redhat.com> - 1.34.1-1
- Update to 1.34.1. - Update to 1.34.1.
- Add a ThinLTO fix for rhbz1701339.
* Thu Apr 11 2019 Josh Stone <jistone@redhat.com> - 1.34.0-1 * Thu Apr 11 2019 Josh Stone <jistone@redhat.com> - 1.34.0-1
- Update to 1.34.0. - Update to 1.34.0.
* Fri Mar 01 2019 Josh Stone <jistone@redhat.com> - 1.33.0-2 * Wed Apr 10 2019 Josh Stone <jistone@redhat.com> - 1.33.0-1
- Fix deprecations for self-rebuild
* Thu Feb 28 2019 Josh Stone <jistone@redhat.com> - 1.33.0-1
- Update to 1.33.0. - Update to 1.33.0.
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.0-2 * Tue Apr 09 2019 Josh Stone <jistone@redhat.com> - 1.32.0-1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jan 17 2019 Josh Stone <jistone@redhat.com> - 1.32.0-1
- Update to 1.32.0. - Update to 1.32.0.
* Mon Jan 07 2019 Josh Stone <jistone@redhat.com> - 1.31.1-9 * Fri Dec 14 2018 Josh Stone <jistone@redhat.com> - 1.31.0-5
- Update to 1.31.1 for RLS fixes. - Restore rust-lldb.
* Thu Dec 06 2018 Josh Stone <jistone@redhat.com> - 1.31.0-8 * Thu Dec 13 2018 Josh Stone <jistone@redhat.com> - 1.31.0-4
- Backport fixes for rls.
* Thu Dec 13 2018 Josh Stone <jistone@redhat.com> - 1.31.0-3
- Update to 1.31.0 -- Rust 2018! - Update to 1.31.0 -- Rust 2018!
- clippy/rls/rustfmt are no longer -preview - clippy/rls/rustfmt are no longer -preview
* Thu Nov 08 2018 Josh Stone <jistone@redhat.com> - 1.30.1-7 * Wed Dec 12 2018 Josh Stone <jistone@redhat.com> - 1.30.1-2
- Update to 1.30.1. - Update to 1.30.1.
* Thu Oct 25 2018 Josh Stone <jistone@redhat.com> - 1.30.0-6 * Tue Nov 06 2018 Josh Stone <jistone@redhat.com> - 1.29.2-1
- Update to 1.30.0.
* Mon Oct 22 2018 Josh Stone <jistone@redhat.com> - 1.29.2-5
- Rebuild without bootstrap binaries.
* Sat Oct 20 2018 Josh Stone <jistone@redhat.com> - 1.29.2-4
- Re-bootstrap armv7hl due to rhbz#1639485
* Fri Oct 12 2018 Josh Stone <jistone@redhat.com> - 1.29.2-3
- Update to 1.29.2. - Update to 1.29.2.
* Tue Sep 25 2018 Josh Stone <jistone@redhat.com> - 1.29.1-2 * Thu Nov 01 2018 Josh Stone <jistone@redhat.com> - 1.28.0-1
- Update to 1.29.1. - Update to 1.28.0.
- Security fix for str::repeat (pending CVE).
* Thu Sep 13 2018 Josh Stone <jistone@redhat.com> - 1.29.0-1 * Thu Nov 01 2018 Josh Stone <jistone@redhat.com> - 1.27.2-1
- Update to 1.29.0. - Update to 1.27.2.
- Add a clippy-preview subpackage
* Mon Aug 13 2018 Josh Stone <jistone@redhat.com> - 1.28.0-3 * Wed Oct 10 2018 Josh Stone <jistone@redhat.com> - 1.26.2-12
- Use llvm6.0 instead of llvm-7 for now - Fix "fp" target feature for AArch64 (#1632880)
* Tue Aug 07 2018 Josh Stone <jistone@redhat.com> - 1.28.0-2 * Mon Oct 08 2018 Josh Stone <jistone@redhat.com> - 1.26.2-11
- Rebuild for LLVM ppc64/s390x fixes - Security fix for str::repeat (pending CVE).
* Thu Aug 02 2018 Josh Stone <jistone@redhat.com> - 1.28.0-1 * Fri Oct 05 2018 Josh Stone <jistone@redhat.com> - 1.26.2-10
- Update to 1.28.0. - Rebuild without bootstrap binaries.
* Tue Jul 24 2018 Josh Stone <jistone@redhat.com> - 1.27.2-4 * Thu Oct 04 2018 Josh Stone <jistone@redhat.com> - 1.26.2-9
- Update to 1.27.2. - Bootstrap without SCL packaging. (rhbz1635067)
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.27.1-3 * Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 1.26.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - Use python3 prefix for lldb Requires
* Tue Jul 10 2018 Josh Stone <jistone@redhat.com> - 1.27.1-2 * Mon Aug 13 2018 Josh Stone <jistone@redhat.com> - 1.26.2-7
- Update to 1.27.1. - Build with platform-python
- Security fix for CVE-2018-1000622
* Thu Jun 21 2018 Josh Stone <jistone@redhat.com> - 1.27.0-1 * Tue Aug 07 2018 Josh Stone <jistone@redhat.com> - 1.26.2-6
- Update to 1.27.0. - Exclude rust-src from auto-requires
* Tue Jun 05 2018 Josh Stone <jistone@redhat.com> - 1.26.2-4 * Thu Aug 02 2018 Josh Stone <jistone@redhat.com> - 1.26.2-5
- Rebuild without bootstrap binaries. - Rebuild without bootstrap binaries.
* Tue Jun 05 2018 Josh Stone <jistone@redhat.com> - 1.26.2-3 * Tue Jul 31 2018 Josh Stone <jistone@redhat.com> - 1.26.2-4
- Bootstrap as a module.
* Mon Jun 04 2018 Josh Stone <jistone@redhat.com> - 1.26.2-3
- Update to 1.26.2. - Update to 1.26.2.
- Re-bootstrap to deal with LLVM symbol changes.
* Tue May 29 2018 Josh Stone <jistone@redhat.com> - 1.26.1-2 * Wed May 30 2018 Josh Stone <jistone@redhat.com> - 1.26.1-2
- Update to 1.26.1. - Update to 1.26.1.
* Thu May 10 2018 Josh Stone <jistone@redhat.com> - 1.26.0-1 * Fri May 18 2018 Josh Stone <jistone@redhat.com> - 1.26.0-1
- Update to 1.26.0. - Update to 1.26.0.
* Mon Apr 16 2018 Dan Callaghan <dcallagh@redhat.com> - 1.25.0-3
- Add cargo, rls, and analysis
* Tue Apr 10 2018 Josh Stone <jistone@redhat.com> - 1.25.0-2 * Tue Apr 10 2018 Josh Stone <jistone@redhat.com> - 1.25.0-2
- Filter codegen-backends from Provides too. - Filter codegen-backends from Provides too.
* Thu Mar 29 2018 Josh Stone <jistone@redhat.com> - 1.25.0-1 * Tue Apr 03 2018 Josh Stone <jistone@redhat.com> - 1.25.0-1
- Update to 1.25.0. - Update to 1.25.0.
- Add rustfmt-preview as a subpackage.
* Thu Mar 01 2018 Josh Stone <jistone@redhat.com> - 1.24.1-1 * Thu Feb 22 2018 Josh Stone <jistone@redhat.com> - 1.24.0-1
- Update to 1.24.1.
* Wed Feb 21 2018 Josh Stone <jistone@redhat.com> - 1.24.0-3
- Backport a rebuild fix for rust#48308.
* Mon Feb 19 2018 Josh Stone <jistone@redhat.com> - 1.24.0-2
- rhbz1546541: drop full-bootstrap; cmp libs before symlinking.
- Backport pr46592 to fix local_rebuild bootstrapping.
- Backport pr48362 to fix relative/absolute libdir.
* Thu Feb 15 2018 Josh Stone <jistone@redhat.com> - 1.24.0-1
- Update to 1.24.0. - Update to 1.24.0.
* Mon Feb 12 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.23.0-4 * Tue Jan 16 2018 Josh Stone <jistone@redhat.com> - 1.23.0-2
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Tue Feb 06 2018 Josh Stone <jistone@redhat.com> - 1.23.0-3
- Use full-bootstrap to work around a rebuild issue.
- Patch binaryen for GCC 8
* Thu Feb 01 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.23.0-2
- Switch to %%ldconfig_scriptlets
* Mon Jan 08 2018 Josh Stone <jistone@redhat.com> - 1.23.0-1
- Update to 1.23.0.
* Thu Nov 23 2017 Josh Stone <jistone@redhat.com> - 1.22.1-1
- Update to 1.22.1.
* Thu Oct 12 2017 Josh Stone <jistone@redhat.com> - 1.21.0-1
- Update to 1.21.0.
* Mon Sep 11 2017 Josh Stone <jistone@redhat.com> - 1.20.0-2
- ABI fixes for ppc64 and s390x.
* Thu Aug 31 2017 Josh Stone <jistone@redhat.com> - 1.20.0-1
- Update to 1.20.0.
- Add a rust-src subpackage.
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 24 2017 Josh Stone <jistone@redhat.com> - 1.19.0-2
- Use find-debuginfo.sh --keep-section .rustc
* Thu Jul 20 2017 Josh Stone <jistone@redhat.com> - 1.19.0-1
- Update to 1.19.0.
* Thu Jun 08 2017 Josh Stone <jistone@redhat.com> - 1.18.0-1
- Update to 1.18.0.
* Mon May 08 2017 Josh Stone <jistone@redhat.com> - 1.17.0-2
- Move shared libraries back to libdir and symlink in rustlib
* Thu Apr 27 2017 Josh Stone <jistone@redhat.com> - 1.17.0-1
- Update to 1.17.0.
* Mon Mar 20 2017 Josh Stone <jistone@redhat.com> - 1.16.0-3
- Make rust-lldb arch-specific to deal with lldb deps
* Fri Mar 17 2017 Josh Stone <jistone@redhat.com> - 1.16.0-2
- Limit rust-lldb arches
* Thu Mar 16 2017 Josh Stone <jistone@redhat.com> - 1.16.0-1
- Update to 1.16.0.
- Use rustbuild instead of the old makefiles.
- Update bootstrapping to include rust-std and cargo.
- Add a rust-lldb subpackage.
* Thu Feb 09 2017 Josh Stone <jistone@redhat.com> - 1.15.1-1
- Update to 1.15.1.
- Require rust-rpm-macros for new crate packaging.
- Keep shared libraries under rustlib/, only debug-stripped.
- Merge and clean up conditionals for epel7.
* Fri Dec 23 2016 Josh Stone <jistone@redhat.com> - 1.14.0-2
- Rebuild without bootstrap binaries.
* Thu Dec 22 2016 Josh Stone <jistone@redhat.com> - 1.14.0-1
- Update to 1.14.0.
- Rewrite bootstrap logic to target specific arches.
- Bootstrap ppc64, ppc64le, s390x. (thanks to Sinny Kumari for testing!)
* Thu Nov 10 2016 Josh Stone <jistone@redhat.com> - 1.13.0-1
- Update to 1.13.0.
- Use hardening flags for linking.
- Split the standard library into its own package
- Centralize rustlib/ under /usr/lib/ for multilib integration.
* Thu Oct 20 2016 Josh Stone <jistone@redhat.com> - 1.12.1-1
- Update to 1.12.1.
* Fri Oct 14 2016 Josh Stone <jistone@redhat.com> - 1.12.0-7
- Rebuild with LLVM 3.9.
- Add ncurses-devel for llvm-config's -ltinfo.
* Thu Oct 13 2016 Josh Stone <jistone@redhat.com> - 1.12.0-6
- Rebuild with llvm-static, preparing for 3.9
* Fri Oct 07 2016 Josh Stone <jistone@redhat.com> - 1.12.0-5
- Rebuild with fixed eu-strip (rhbz1380961)
* Fri Oct 07 2016 Josh Stone <jistone@redhat.com> - 1.12.0-4
- Rebuild without bootstrap binaries.
* Thu Oct 06 2016 Josh Stone <jistone@redhat.com> - 1.12.0-3
- Bootstrap aarch64.
- Use jemalloc's MALLOC_CONF to work around #36944.
- Apply pr36933 to really disable armv7hl NEON.
* Sat Oct 01 2016 Josh Stone <jistone@redhat.com> - 1.12.0-2
- Protect .rustc from rpm stripping.
* Fri Sep 30 2016 Josh Stone <jistone@redhat.com> - 1.12.0-1
- Update to 1.12.0.
- Always use --local-rust-root, even for bootstrap binaries.
- Remove the rebuild conditional - the build system now figures it out.
- Let minidebuginfo do its thing, since metadata is no longer a note.
- Let rust build its own compiler-rt builtins again.
* Sat Sep 03 2016 Josh Stone <jistone@redhat.com> - 1.11.0-3
- Rebuild without bootstrap binaries.
* Fri Sep 02 2016 Josh Stone <jistone@redhat.com> - 1.11.0-2
- Bootstrap armv7hl, with backported no-neon patch.
* Wed Aug 24 2016 Josh Stone <jistone@redhat.com> - 1.11.0-1
- Update to 1.11.0.
- Drop the backported patches.
- Patch get-stage0.py to trust existing bootstrap binaries.
- Use libclang_rt.builtins from compiler-rt, dodging llvm-static issues.
- Use --local-rust-root to make sure the right bootstrap is used.
* Sat Aug 13 2016 Josh Stone <jistone@redhat.com> 1.10.0-4
- Rebuild without bootstrap binaries. - Rebuild without bootstrap binaries.
* Fri Aug 12 2016 Josh Stone <jistone@redhat.com> - 1.10.0-3 * Mon Jan 15 2018 Josh Stone <jistone@redhat.com> - 1.23.0-1
- Initial import into Fedora (#1356907), bootstrapped - Bootstrap 1.23 on el8.
- Format license text as suggested in review.
- Note how the tests already run in parallel.
- Undefine _include_minidebuginfo, because it duplicates ".note.rustc".
- Don't let checks fail the whole build.
- Note that -doc can't be noarch, as rpmdiff doesn't allow variations.
* Tue Jul 26 2016 Josh Stone <jistone@redhat.com> - 1.10.0-2
- Update -doc directory ownership, and mark its licenses.
- Package and declare licenses for libbacktrace and hoedown.
- Set bootstrap_base as a global.
- Explicitly require python2.
* Thu Jul 14 2016 Josh Stone <jistone@fedoraproject.org> - 1.10.0-1
- Initial package, bootstrapped

Loading…
Cancel
Save