Compare commits

...

25 Commits

Author SHA1 Message Date
Josh Stone 6fff218b19 Update to 1.70.0. 2023-06-01 12:46:43 -07:00
Josh Stone ff66501ce9 Apply set_build_flags on rhel 2023-05-24 08:58:17 -07:00
Jesus Checa Hidalgo 8745dbe4c6 Add rpminspect.yaml config file
Added suppresion for reduced debuginfo in i386 builds.
2023-05-08 11:47:54 +00:00
Josh Stone 777115da9e Fix debuginfo with LLVM 16 2023-05-05 13:28:08 -07:00
Josh Stone 41fd9d7898 Build with LLVM 15 on Fedora 38+ 2023-05-01 10:07:31 -07:00
Josh Stone 77613da92c Update to 1.69.0.
Obsolete rust-analysis.
2023-04-20 09:47:54 -07:00
Josh Stone 7ac7a42b5e Update to 1.68.2. 2023-03-28 10:11:01 -07:00
Josh Stone b4bb093ae0 Update to 1.68.1. 2023-03-23 08:42:27 -07:00
Josh Stone a07799699f Update to 1.68.0. 2023-03-09 08:52:34 -08:00
David Michael b85b429e00 Add a virtual Provides to rust-std-static with the target triple
This supports depending on a variable target using something like
the following since the other target stdlib subpackages are named
by this convention.

    BuildRequires:  rust-std-static-%{cargo_target}
2023-03-07 10:34:35 -08:00
Orion Poplawski 7f5b9608ec Make rust-toolset noarch 2023-03-06 15:11:28 -08:00
Orion Poplawski 375b75425b Ship rust-toolset for EPEL7 2023-03-06 15:11:28 -08:00
Josh Stone f50b7f0c26 fedpkg new-sources 2023-02-09 16:56:40 -08:00
Josh Stone 752fe3bcd2 Update to 1.67.1. 2023-02-09 16:52:15 -08:00
Josh Stone d8cb2d0d2e Unbundle libgit2 on Fedora 38. 2023-02-03 14:44:01 -08:00
Adam Williamson de19464425 Drop private build tag inadvertently left in release 2023-01-27 15:02:29 -08:00
Adam Williamson 23df2b257f Backport a couple of fixes from upstream
One fix to a problem that broke mesa build, and one fix to a
problem that broke rust bootstrap.
2023-01-27 15:00:45 -08:00
Josh Stone d90cdf5795 Update to 1.67.0. 2023-01-26 12:09:44 -08:00
Fedora Release Engineering 4ee64c64a1 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 21:24:34 +00:00
Jesus Checa Hidalgo dbc2fd6f22 rpmbuild-librsvg2: Get deps from srpm instead spec file to generate the dynamic dependencies 2023-01-11 19:29:09 +01:00
Josh Stone 256f31f182 fedpkg new-sources 2023-01-10 18:30:35 -08:00
Josh Stone 5a745388ed Update to 1.66.1.
Security fix for CVE-2022-46176
2023-01-10 18:05:07 -08:00
Josh Stone 1f0d4ff0a2 Update CI plan to tmt 2023-01-04 10:51:03 -08:00
Josh Stone 5379ac25ac Update to 1.66.0. 2022-12-15 09:12:22 -08:00
Josh Stone f5bf4afaf1 Update to 1.65.0.
rust-analyzer now obsoletes rls.
2022-11-03 11:11:45 -07:00
14 changed files with 330 additions and 347 deletions

15
.gitignore vendored
View File

@ -405,3 +405,18 @@
/rustc-1.62.1-src.tar.xz /rustc-1.62.1-src.tar.xz
/rustc-1.63.0-src.tar.xz /rustc-1.63.0-src.tar.xz
/rustc-1.64.0-src.tar.xz /rustc-1.64.0-src.tar.xz
/rustc-1.65.0-src.tar.xz
/wasi-libc-wasi-sdk-16.tar.gz
/rustc-1.66.0-src.tar.xz
/wasi-libc-wasi-sdk-17.tar.gz
/rustc-1.66.1-src.tar.xz
/rustc-1.67.0-src.tar.xz
/rustc-1.67.1-src.tar.xz
/rustc-1.68.0-src.tar.xz
/wasi-libc-wasi-sdk-19.tar.gz
/rustc-1.68.1-src.tar.xz
/rustc-1.68.2-src.tar.xz
/rustc-1.69.0-src.tar.xz
/wasi-libc-1dfe5c302d1c5ab621f7abf04620fae92700fd22.tar.gz
/rustc-1.70.0-src.tar.xz
/wasi-libc-wasi-sdk-20.tar.gz

View File

@ -1,4 +1,4 @@
From b521511174b1a08dddfac243604d649b71cc7386 Mon Sep 17 00:00:00 2001 From 37cb177eb53145103ae72b67562884782dde01c3 Mon Sep 17 00:00:00 2001
From: Ivan Mironov <mironov.ivan@gmail.com> From: Ivan Mironov <mironov.ivan@gmail.com>
Date: Sun, 8 Dec 2019 17:23:08 +0500 Date: Sun, 8 Dec 2019 17:23:08 +0500
Subject: [PATCH] Use lld provided by system for wasm Subject: [PATCH] Use lld provided by system for wasm
@ -8,19 +8,19 @@ Subject: [PATCH] Use lld provided by system for wasm
1 file changed, 1 insertion(+), 2 deletions(-) 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
index de7b7374af31..eebbe616e9b6 100644 index 528a84a8b37c..353d742161d1 100644
--- a/compiler/rustc_target/src/spec/wasm_base.rs --- a/compiler/rustc_target/src/spec/wasm_base.rs
+++ b/compiler/rustc_target/src/spec/wasm_base.rs +++ b/compiler/rustc_target/src/spec/wasm_base.rs
@@ -99,8 +99,7 @@ pub fn options() -> TargetOptions { @@ -89,8 +89,7 @@ macro_rules! args {
// arguments just yet // arguments just yet
limit_rdylib_exports: false, limit_rdylib_exports: false,
- // we use the LLD shipped with the Rust toolchain by default - // we use the LLD shipped with the Rust toolchain by default
- linker: Some("rust-lld".into()), - linker: Some("rust-lld".into()),
+ linker: Some("lld".into()), + linker: Some("lld".into()),
lld_flavor: LldFlavor::Wasm, linker_flavor: LinkerFlavor::WasmLld(Cc::No),
linker_is_gnu: false,
pre_link_args,
-- --
2.35.1 2.38.1

View File

@ -1,53 +0,0 @@
From 2946828fcb8e2e68a16839dfcf4319bf119f8acd Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Tue, 20 Sep 2022 13:03:43 -0700
Subject: [PATCH] rustc_transmute: fix big-endian discriminants
(cherry picked from commit a72666ed56ec5f1b6d254c7020cf86143edc6dbd)
---
compiler/rustc_transmute/src/layout/tree.rs | 22 +++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/compiler/rustc_transmute/src/layout/tree.rs b/compiler/rustc_transmute/src/layout/tree.rs
index 70b3ba02b05b..e4fcde35ed37 100644
--- a/compiler/rustc_transmute/src/layout/tree.rs
+++ b/compiler/rustc_transmute/src/layout/tree.rs
@@ -402,7 +402,7 @@ fn from_repr_c_variant(
.unwrap();
tracing::trace!(?discr_layout, "computed discriminant layout");
variant_layout = variant_layout.extend(discr_layout).unwrap().0;
- tree = tree.then(Self::from_disr(discr, tcx, layout_summary.discriminant_size));
+ tree = tree.then(Self::from_discr(discr, tcx, layout_summary.discriminant_size));
}
// Next come fields.
@@ -442,11 +442,21 @@ fn from_repr_c_variant(
Ok(tree)
}
- pub fn from_disr(discr: Discr<'tcx>, tcx: TyCtxt<'tcx>, size: usize) -> Self {
- // FIXME(@jswrenn): I'm certain this is missing needed endian nuance.
- let bytes = discr.val.to_ne_bytes();
- let bytes = &bytes[..size];
- Self::Seq(bytes.into_iter().copied().map(|b| Self::from_bits(b)).collect())
+ pub fn from_discr(discr: Discr<'tcx>, tcx: TyCtxt<'tcx>, size: usize) -> Self {
+ use rustc_target::abi::Endian;
+
+ let bytes: [u8; 16];
+ let bytes = match tcx.data_layout.endian {
+ Endian::Little => {
+ bytes = discr.val.to_le_bytes();
+ &bytes[..size]
+ }
+ Endian::Big => {
+ bytes = discr.val.to_be_bytes();
+ &bytes[bytes.len() - size..]
+ }
+ };
+ Self::Seq(bytes.iter().map(|&b| Self::from_bits(b)).collect())
}
}
--
2.37.3

View File

@ -1,6 +1,5 @@
summary: CI Gating Plan summary: CI Gating Plan
discover: discover:
how: fmf how: fmf
directory: tests
execute: execute:
how: beakerlib how: tmt

8
rpminspect.yaml Normal file
View File

@ -0,0 +1,8 @@
---
debuginfo:
ignore:
# i686 has limited debuginfo. From rust.spec
# full debuginfo is exhausting memory; just do libstd for now
# https://github.com/rust-lang/rust/issues/45854
- /usr/lib/debug/usr/bin/rustc-*.i386.debug

326
rust.spec
View File

@ -1,6 +1,6 @@
# Only x86_64 and i686 are Tier 1 platforms at this time. # Only x86_64, i686, and aarch64 are Tier 1 platforms at this time.
# https://doc.rust-lang.org/nightly/rustc/platform-support.html # https://doc.rust-lang.org/nightly/rustc/platform-support.html
%global rust_arches x86_64 i686 armv7hl aarch64 ppc64le s390x %global rust_arches x86_64 i686 armv7hl aarch64 ppc64le s390x riscv64
# The channel can be stable, beta, or nightly # The channel can be stable, beta, or nightly
%{!?channel: %global channel stable} %{!?channel: %global channel stable}
@ -8,9 +8,9 @@
# 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.63.0 %global bootstrap_version 1.69.0
%global bootstrap_channel 1.63.0 %global bootstrap_channel 1.69.0
%global bootstrap_date 2022-08-11 %global bootstrap_date 2023-04-20
# 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
@ -35,26 +35,26 @@
# 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) # (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_commit 9886d3d6200fcc3726329966860fc058707406cd %global wasi_libc_ref wasi-sdk-20
%global wasi_libc_name wasi-libc-%{wasi_libc_commit} %global wasi_libc_name wasi-libc-%{wasi_libc_ref}
%global wasi_libc_source %{wasi_libc_url}/archive/%{wasi_libc_commit}/%{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}
# Using llvm-static may be helpful as an opt-in, e.g. to aid LLVM rebases. # Using llvm-static may be helpful as an opt-in, e.g. to aid LLVM rebases.
%bcond_with llvm_static %bcond_with llvm_static
# 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 12.0+. # is insufficient. Rust currently requires LLVM 14.0+.
%global min_llvm_version 12.0.0 %global min_llvm_version 14.0.0
%global bundled_llvm_version 14.0.6 %global bundled_llvm_version 16.0.2
%bcond_with bundled_llvm %bcond_with bundled_llvm
# Requires stable libgit2 1.4, and not the next minor soname change. # Requires stable libgit2 1.6, and not the next minor soname change.
# This needs to be consistent with the bindings in vendor/libgit2-sys. # This needs to be consistent with the bindings in vendor/libgit2-sys.
%global min_libgit2_version 1.4.0 %global min_libgit2_version 1.6.0
%global next_libgit2_version 1.5.0~ %global next_libgit2_version 1.7.0~
%global bundled_libgit2_version 1.4.2 %global bundled_libgit2_version 1.6.3
%if 0%{?fedora} >= 99 %if 0%{?fedora} >= 38
%bcond_with bundled_libgit2 %bcond_with bundled_libgit2
%else %else
%bcond_without bundled_libgit2 %bcond_without bundled_libgit2
@ -83,7 +83,7 @@
%endif %endif
Name: rust Name: rust
Version: 1.64.0 Version: 1.70.0
Release: 1%{?dist} Release: 1%{?dist}
Summary: The Rust Programming Language Summary: The Rust Programming Language
License: (ASL 2.0 or MIT) and (BSD and MIT) License: (ASL 2.0 or MIT) and (BSD and MIT)
@ -104,10 +104,7 @@ Source1: %{wasi_libc_source}
Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch Patch1: 0001-Use-lld-provided-by-system-for-wasm.patch
# Set a substitute-path in rust-gdb for standard library sources. # Set a substitute-path in rust-gdb for standard library sources.
Patch2: rustc-1.61.0-rust-gdb-substitute-path.patch Patch2: rustc-1.70.0-rust-gdb-substitute-path.patch
# https://github.com/rust-lang/rust/pull/102076
Patch3: 0001-rustc_transmute-fix-big-endian-discriminants.patch
### RHEL-specific patches below ### ### RHEL-specific patches below ###
@ -115,16 +112,11 @@ Patch3: 0001-rustc_transmute-fix-big-endian-discriminants.patch
Source100: macros.rust-toolset Source100: macros.rust-toolset
# 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.59.0-disable-libssh2.patch Patch100: rustc-1.70.0-disable-libssh2.patch
# libcurl on RHEL7 doesn't have http2, but since cargo requests it, curl-sys # libcurl on RHEL7 doesn't have http2, but since cargo requests it, curl-sys
# will try to build it statically -- instead we turn off the feature. # will try to build it statically -- instead we turn off the feature.
Patch101: rustc-1.63.0-disable-http2.patch Patch101: rustc-1.70.0-disable-http2.patch
# kernel rh1410097 causes too-small stacks for PIE.
# (affects RHEL6 kernels when building for RHEL7)
Patch102: rustc-1.64.0-no-default-pie.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)
@ -142,7 +134,14 @@ Patch102: rustc-1.64.0-no-default-pie.patch
return arch.."-unknown-linux-"..abi return arch.."-unknown-linux-"..abi
end} end}
# Get the environment form of a Rust triple
%{lua: function rust_triple_env(triple)
local sub = string.gsub(triple, "-", "_")
return string.upper(sub)
end}
%global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))} %global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))}
%global rust_triple_env %{lua: print(rust_triple_env(rpm.expand("%{rust_triple}")))}
%if %defined bootstrap_arches %if %defined bootstrap_arches
# For each bootstrap arch, add an additional binary Source. # For each bootstrap arch, add an additional binary Source.
@ -218,7 +217,7 @@ Provides: bundled(llvm) = %{bundled_llvm_version}
%else %else
BuildRequires: cmake >= 2.8.11 BuildRequires: cmake >= 2.8.11
%if 0%{?epel} == 7 %if 0%{?epel} == 7
%global llvm llvm13 %global llvm llvm14
%endif %endif
%if %defined llvm %if %defined llvm
%global llvm_root %{_libdir}/%{llvm} %global llvm_root %{_libdir}/%{llvm}
@ -255,7 +254,7 @@ Requires: %{name}-std-static%{?_isa} = %{version}-%{release}
Requires: /usr/bin/cc Requires: /usr/bin/cc
%if 0%{?epel} == 7 %if 0%{?epel} == 7
%global devtoolset_name devtoolset-9 %global devtoolset_name devtoolset-11
BuildRequires: %{devtoolset_name}-binutils BuildRequires: %{devtoolset_name}-binutils
BuildRequires: %{devtoolset_name}-gcc BuildRequires: %{devtoolset_name}-gcc
BuildRequires: %{devtoolset_name}-gcc-c++ BuildRequires: %{devtoolset_name}-gcc-c++
@ -320,6 +319,10 @@ find '%{buildroot}%{rustlibdir}'/wasm*/lib -type f -regex '.*\\.\\(a\\|rlib\\)'
%{nil} %{nil}
%endif %endif
# This component was removed as of Rust 1.69.0.
# https://github.com/rust-lang/rust/pull/101841
Obsoletes: %{name}-analysis < 1.69.0~
%description %description
Rust is a systems programming language that runs blazingly fast, prevents Rust is a systems programming language that runs blazingly fast, prevents
segfaults, and guarantees thread safety. segfaults, and guarantees thread safety.
@ -329,8 +332,9 @@ This package includes the Rust compiler and documentation generator.
%package std-static %package std-static
Summary: Standard library for Rust Summary: Standard library for Rust
Provides: %{name}-std-static-%{rust_triple} = %{version}-%{release}
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: glibc-devel%{?_isa} >= 2.11 Requires: glibc-devel%{?_isa} >= 2.17
%description std-static %description std-static
This package includes the standard libraries for building applications This package includes the standard libraries for building applications
@ -440,6 +444,12 @@ Summary: Documentation for Rust
# Koji will fail the build in rpmdiff if two architectures build a noarch # Koji will fail the build in rpmdiff if two architectures build a noarch
# subpackage differently, so instead we have to keep its arch. # subpackage differently, so instead we have to keep its arch.
# Cargo no longer builds its own documentation
# https://github.com/rust-lang/cargo/pull/4904
# We used to keep a shim cargo-doc package, but now that's merged too.
Obsoletes: cargo-doc < 1.65.0~
Provides: cargo-doc = %{version}-%{release}
%description doc %description doc
This package includes HTML documentation for the Rust programming language and This package includes HTML documentation for the Rust programming language and
its standard library. its standard library.
@ -465,17 +475,6 @@ Cargo is a tool that allows Rust projects to declare their various dependencies
and ensure that you'll always get a repeatable build. and ensure that you'll always get a repeatable build.
%package -n cargo-doc
Summary: Documentation for Cargo
BuildArch: noarch
# Cargo no longer builds its own documentation
# https://github.com/rust-lang/cargo/pull/4904
Requires: %{name}-doc = %{version}-%{release}
%description -n cargo-doc
This package includes HTML documentation for Cargo.
%package -n rustfmt %package -n rustfmt
Summary: Tool to find and fix Rust formatting issues Summary: Tool to find and fix Rust formatting issues
Requires: cargo Requires: cargo
@ -488,29 +487,22 @@ Provides: rustfmt-preview = %{version}-%{release}
A tool for formatting Rust code according to style guidelines. A tool for formatting Rust code according to style guidelines.
%package -n rls
Summary: Rust Language Server for IDE integration (deprecated)
%if %with bundled_libgit2
Provides: bundled(libgit2) = %{bundled_libgit2_version}
%endif
Requires: %{name}-analysis
# /usr/bin/rls is dynamically linked against internal rustc libs
Requires: %{name}%{?_isa} = %{version}-%{release}
# The component/package was rls-preview until Rust 1.31.
Obsoletes: rls-preview < 1.31.6
Provides: rls-preview = %{version}-%{release}
%description -n rls
The Rust Language Server provides a server that runs in the background,
providing IDEs, editors, and other tools with information about Rust programs.
RLS is being deprecated in favor of rust-analyzer, and may be removed in the future.
https://blog.rust-lang.org/2022/07/01/RLS-deprecation.html
%package analyzer %package analyzer
Summary: Rust implementation of the Language Server Protocol Summary: Rust implementation of the Language Server Protocol
# The standard library sources are needed for most functionality.
%if 0%{?rhel} && 0%{?rhel} < 8
Requires: %{name}-src
%else
Recommends: %{name}-src
%endif
# RLS is no longer available as of Rust 1.65, but we're including the stub
# binary that implements LSP just enough to recommend rust-analyzer.
Obsoletes: rls < 1.65.0~
# The component/package was rls-preview until Rust 1.31.
Obsoletes: rls-preview < 1.31.6
%description analyzer %description analyzer
rust-analyzer is an implementation of Language Server Protocol for the Rust rust-analyzer is an implementation of Language Server Protocol for the Rust
programming language. It provides features like completion and goto definition programming language. It provides features like completion and goto definition
@ -534,28 +526,24 @@ A collection of lints to catch common mistakes and improve your Rust code.
%package src %package src
Summary: Sources for the Rust standard library Summary: Sources for the Rust standard library
BuildArch: noarch BuildArch: noarch
%if 0%{?rhel} && 0%{?rhel} < 8
Requires: %{name}-std-static = %{version}-%{release}
%else
Recommends: %{name}-std-static = %{version}-%{release}
%endif
%description src %description src
This package includes source files for the Rust standard library. It may be This package includes source files for the Rust standard library. It may be
useful as a reference for code completion tools in various editors. useful as a reference for code completion tools in various editors.
%package analysis %if 0%{?rhel}
Summary: Compiler analysis data for the Rust standard library
Requires: %{name}-std-static%{?_isa} = %{version}-%{release}
%description analysis
This package contains analysis data files produced with rustc's -Zsave-analysis
feature for the Rust standard library. The RLS (Rust Language Server) uses this
data to provide information about the Rust standard library.
%if 0%{?rhel} && 0%{?rhel} >= 8
%package toolset %package toolset
Summary: Rust Toolset Summary: Rust Toolset
Requires: rust%{?_isa} = %{version}-%{release} BuildArch: noarch
Requires: cargo%{?_isa} = %{version}-%{release} Requires: rust = %{version}-%{release}
Requires: cargo = %{version}-%{release}
%description toolset %description toolset
This is the metapackage for Rust Toolset, bringing in the Rust compiler, This is the metapackage for Rust Toolset, bringing in the Rust compiler,
@ -584,21 +572,16 @@ test -f '%{local_rust_root}/bin/rustc'
%setup -q -n %{rustc_package} %setup -q -n %{rustc_package}
%patch1 -p1 %patch -P1 -p1
%patch2 -p1 %patch -P2 -p1
%patch3 -p1
%if %with disabled_libssh2 %if %with disabled_libssh2
%patch100 -p1 %patch -P100 -p1
%endif %endif
%if %without curl_http2 %if %without curl_http2
%patch101 -p1 %patch -P101 -p1
rm -rf vendor/libnghttp2-sys/ rm -rf vendor/libnghttp2-sys*/
%endif
%if 0%{?rhel} && 0%{?rhel} < 8
%patch102 -p1
%endif %endif
# Use our explicit python3 first # Use our explicit python3 first
@ -613,21 +596,21 @@ mkdir -p src/llvm-project/libunwind/
%endif %endif
# Remove other unused vendored libraries # Remove other unused vendored libraries
rm -rf vendor/curl-sys/curl/ rm -rf vendor/curl-sys*/curl/
rm -rf vendor/*jemalloc-sys*/jemalloc/ rm -rf vendor/*jemalloc-sys*/jemalloc/
rm -rf vendor/libmimalloc-sys/c_src/mimalloc/ rm -rf vendor/libffi-sys*/libffi/
rm -rf vendor/libssh2-sys/libssh2/ rm -rf vendor/libmimalloc-sys*/c_src/mimalloc/
rm -rf vendor/libz-sys/src/zlib/ rm -rf vendor/libssh2-sys*/libssh2/
rm -rf vendor/libz-sys/src/zlib-ng/ rm -rf vendor/libz-sys*/src/zlib{,-ng}/
rm -rf vendor/lzma-sys/xz-*/ rm -rf vendor/lzma-sys*/xz-*/
rm -rf vendor/openssl-src/openssl/ rm -rf vendor/openssl-src*/openssl/
%if %without bundled_libgit2 %if %without bundled_libgit2
rm -rf vendor/libgit2-sys/libgit2/ rm -rf vendor/libgit2-sys*/libgit2/
%endif %endif
%if %with disabled_libssh2 %if %with disabled_libssh2
rm -rf vendor/libssh2-sys/ rm -rf vendor/libssh2-sys*/
%endif %endif
# This only affects the transient rust-installer, but let it use our dynamic xz-libs # This only affects the transient rust-installer, but let it use our dynamic xz-libs
@ -656,9 +639,32 @@ find vendor -name .cargo-checksum.json \
# it's a shebang and make them executable. Then brp-mangle-shebangs gets upset... # it's a shebang and make them executable. Then brp-mangle-shebangs gets upset...
find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+' find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+'
# The distro flags are only appropriate for the host, not our cross-targets,
# and they're not as fine-grained as the settings we choose for std vs rustc.
%if %defined build_rustflags
%global build_rustflags %{nil}
%endif
# These are similar to __cflags_arch_* in /usr/lib/rpm/redhat/macros
%if 0%{?fedora} || 0%{?rhel} >= 9
%ifarch x86_64
%global rust_target_cpu %[0%{?rhel} >= 10 ? "x86-64-v3" : ""]
%global rust_target_cpu %[0%{?rhel} == 9 ? "x86-64-v2" : "%{rust_target_cpu}"]
%endif
%ifarch s390x
%global rust_target_cpu %[0%{?rhel} >= 9 ? "z14" : "zEC12"]
%endif
%ifarch ppc64le
%global rust_target_cpu %[0%{?rhel} >= 9 ? "pwr9" : "pwr8"]
%endif
%endif
# Set up shared environment variables for build/install/check # Set up shared environment variables for build/install/check
%global rust_env %{?rustflags:RUSTFLAGS="%{rustflags}"} %global rust_env %{?rustflags:RUSTFLAGS="%{rustflags}"}
%if 0%{?cmake_path:1} %if "%{?rust_target_cpu}" != ""
%global rust_env %{?rust_env} CARGO_TARGET_%{rust_triple_env}_RUSTFLAGS=-Ctarget-cpu=%{rust_target_cpu}
%endif
%if %defined cmake_path
%global rust_env %{?rust_env} PATH="%{cmake_path}:$PATH" %global rust_env %{?rust_env} PATH="%{cmake_path}:$PATH"
%endif %endif
%if %without disabled_libssh2 %if %without disabled_libssh2
@ -667,11 +673,10 @@ find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+'
%endif %endif
%global export_rust_env %{?rust_env:export %{rust_env}} %global export_rust_env %{?rust_env:export %{rust_env}}
%build %build
%{export_rust_env} %{export_rust_env}
%ifarch %{arm} %{ix86} s390x %ifarch %{arm} %{ix86}
# full debuginfo is exhausting memory; just do libstd for now # full debuginfo is exhausting memory; just do libstd for now
# https://github.com/rust-lang/rust/issues/45854 # https://github.com/rust-lang/rust/issues/45854
%if 0%{?rhel} && 0%{?rhel} < 8 %if 0%{?rhel} && 0%{?rhel} < 8
@ -748,22 +753,29 @@ end}
--disable-rpath \ --disable-rpath \
%{enable_debuginfo} \ %{enable_debuginfo} \
--set rust.codegen-units-std=1 \ --set rust.codegen-units-std=1 \
--set build.build-stage=2 \
--set build.doc-stage=2 \
--set build.install-stage=2 \
--set build.test-stage=2 \
--enable-extended \ --enable-extended \
--tools=analysis,cargo,clippy,rls,rust-analyzer,rustfmt,src \ --tools=cargo,clippy,rls,rust-analyzer,rustfmt,src \
--enable-vendor \ --enable-vendor \
--enable-verbose-tests \ --enable-verbose-tests \
--dist-compression-formats=gz \ --dist-compression-formats=gz \
--release-channel=%{channel} \ --release-channel=%{channel} \
--release-description="%{?fedora:Fedora }%{?rhel:Red Hat }%{version}-%{release}" --release-description="%{?fedora:Fedora }%{?rhel:Red Hat }%{version}-%{release}"
%{__python3} ./x.py build -j "$ncpus" --stage 2 %{__python3} ./x.py build -j "$ncpus"
%{__python3} ./x.py doc --stage 2 %{__python3} ./x.py doc
for triple in %{?mingw_targets} %{?wasm_targets}; do for triple in %{?mingw_targets} %{?wasm_targets}; do
%{__python3} ./x.py build --stage 2 --target=$triple std %{__python3} ./x.py build --target=$triple std
done done
%install %install
%if 0%{?rhel} && 0%{?rhel} <= 9
%{?set_build_flags}
%endif
%{export_rust_env} %{export_rust_env}
DESTDIR=%{buildroot} %{__python3} ./x.py install DESTDIR=%{buildroot} %{__python3} ./x.py install
@ -772,6 +784,9 @@ for triple in %{?mingw_targets} %{?wasm_targets}; do
DESTDIR=%{buildroot} %{__python3} ./x.py install --target=$triple std DESTDIR=%{buildroot} %{__python3} ./x.py install --target=$triple std
done done
# The rls stub doesn't have an install target, but we can just copy it.
%{__install} -t %{buildroot}%{_bindir} build/%{rust_triple}/stage2-tools-bin/rls
# These are transient files used by x.py dist and install # These are transient files used by x.py dist and install
rm -rf ./build/dist/ ./build/tmp/ rm -rf ./build/dist/ ./build/tmp/
@ -841,13 +856,16 @@ rm -f %{buildroot}%{rustlibdir}/etc/lldb_*
# We don't want Rust copies of LLVM tools (rust-lld, rust-llvm-dwp) # We don't want Rust copies of LLVM tools (rust-lld, rust-llvm-dwp)
rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll* rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
%if 0%{?rhel} && 0%{?rhel} >= 8 %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
%endif %endif
%check %check
%if 0%{?rhel} && 0%{?rhel} <= 9
%{?set_build_flags}
%endif
%{export_rust_env} %{export_rust_env}
# Sanity-check the installed binaries, debuginfo-stripped and all. # Sanity-check the installed binaries, debuginfo-stripped and all.
@ -865,20 +883,17 @@ done
# The results are not stable on koji, so mask errors and just log it. # The results are not stable on koji, so mask errors and just log it.
# Some of the larger test artifacts are manually cleaned to save space. # Some of the larger test artifacts are manually cleaned to save space.
%{__python3} ./x.py test --no-fail-fast --stage 2 || : %{__python3} ./x.py test --no-fail-fast || :
rm -rf "./build/%{rust_triple}/test/" rm -rf "./build/%{rust_triple}/test/"
%{__python3} ./x.py test --no-fail-fast --stage 2 cargo || : %{__python3} ./x.py 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/"
%{__python3} ./x.py test --no-fail-fast --stage 2 clippy || : %{__python3} ./x.py test --no-fail-fast clippy || :
env RLS_TEST_WAIT_FOR_AGES=1 \ %{__python3} ./x.py test --no-fail-fast rust-analyzer || :
%{__python3} ./x.py test --no-fail-fast --stage 2 rls || :
%{__python3} ./x.py test --no-fail-fast --stage 2 rust-analyzer || : %{__python3} ./x.py test --no-fail-fast rustfmt || :
%{__python3} ./x.py test --no-fail-fast --stage 2 rustfmt || :
%ldconfig_scriptlets %ldconfig_scriptlets
@ -982,20 +997,15 @@ end}
%files doc %files doc
%docdir %{_docdir}/%{name} %docdir %{_docdir}/%{name}
%dir %{_docdir}/%{name} %dir %{_docdir}/%{name}
%dir %{_docdir}/%{name}/html %{_docdir}/%{name}/html
%{_docdir}/%{name}/html/*/ # former cargo-doc
%{_docdir}/%{name}/html/*.html %docdir %{_docdir}/cargo
%{_docdir}/%{name}/html/*.css %dir %{_docdir}/cargo
%{_docdir}/%{name}/html/*.js %{_docdir}/cargo/html
%{_docdir}/%{name}/html/*.png
%{_docdir}/%{name}/html/*.svg
%{_docdir}/%{name}/html/*.woff2
%license %{_docdir}/%{name}/html/*.txt
%license %{_docdir}/%{name}/html/*.md
%files -n cargo %files -n cargo
%license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY %license src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY}
%doc src/tools/cargo/README.md %doc src/tools/cargo/README.md
%{_bindir}/cargo %{_bindir}/cargo
%{_libexecdir}/cargo* %{_libexecdir}/cargo*
@ -1006,12 +1016,6 @@ end}
%dir %{_datadir}/cargo/registry %dir %{_datadir}/cargo/registry
%files -n cargo-doc
%docdir %{_docdir}/cargo
%dir %{_docdir}/cargo
%{_docdir}/cargo/html
%files -n rustfmt %files -n rustfmt
%{_bindir}/rustfmt %{_bindir}/rustfmt
%{_bindir}/cargo-fmt %{_bindir}/cargo-fmt
@ -1019,13 +1023,8 @@ end}
%license src/tools/rustfmt/LICENSE-{APACHE,MIT} %license src/tools/rustfmt/LICENSE-{APACHE,MIT}
%files -n rls
%{_bindir}/rls
%doc src/tools/rls/{README.md,COPYRIGHT,debugging.md}
%license src/tools/rls/LICENSE-{APACHE,MIT}
%files analyzer %files analyzer
%{_bindir}/rls
%{_bindir}/rust-analyzer %{_bindir}/rust-analyzer
%doc src/tools/rust-analyzer/README.md %doc src/tools/rust-analyzer/README.md
%license src/tools/rust-analyzer/LICENSE-{APACHE,MIT} %license src/tools/rust-analyzer/LICENSE-{APACHE,MIT}
@ -1043,17 +1042,68 @@ end}
%{rustlibdir}/src %{rustlibdir}/src
%files analysis %if 0%{?rhel}
%{rustlibdir}/%{rust_triple}/analysis/
%if 0%{?rhel} && 0%{?rhel} >= 8
%files toolset %files toolset
%{rpmmacrodir}/macros.rust-toolset %{rpmmacrodir}/macros.rust-toolset
%endif %endif
%changelog %changelog
* Thu Jun 01 2023 Josh Stone <jistone@redhat.com> - 1.70.0-1
- Update to 1.70.0.
* Fri May 05 2023 Josh Stone <jistone@redhat.com> - 1.69.0-3
- Fix debuginfo with LLVM 16
* Mon May 01 2023 Josh Stone <jistone@redhat.com> - 1.69.0-2
- Build with LLVM 15 on Fedora 38+
* Thu Apr 20 2023 Josh Stone <jistone@redhat.com> - 1.69.0-1
- Update to 1.69.0.
- Obsolete rust-analysis.
* Tue Mar 28 2023 Josh Stone <jistone@redhat.com> - 1.68.2-1
- Update to 1.68.2.
* Thu Mar 23 2023 Josh Stone <jistone@redhat.com> - 1.68.1-1
- Update to 1.68.1.
* Thu Mar 09 2023 Josh Stone <jistone@redhat.com> - 1.68.0-1
- Update to 1.68.0.
* Tue Mar 07 2023 David Michael <fedora.dm0@gmail.com> - 1.67.1-3
- Add a virtual Provides to rust-std-static containing the target triple.
* Mon Feb 20 2023 Orion Poplawski <orion@nwra.com> - 1.67.1-2
- Ship rust-toolset for EPEL7
* Thu Feb 09 2023 Josh Stone <jistone@redhat.com> - 1.67.1-1
- Update to 1.67.1.
* Fri Feb 03 2023 Josh Stone <jistone@redhat.com> - 1.67.0-3
- Unbundle libgit2 on Fedora 38.
* Fri Jan 27 2023 Adam Williamson <awilliam@redhat.com> - 1.67.0-2
- Backport PR #107360 to fix build of mesa
- Backport 675fa0b3 to fix bootstrapping failure
* Thu Jan 26 2023 Josh Stone <jistone@redhat.com> - 1.67.0-1
- Update to 1.67.0.
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.66.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 10 2023 Josh Stone <jistone@redhat.com> - 1.66.1-1
- Update to 1.66.1.
- Security fix for CVE-2022-46176
* Thu Dec 15 2022 Josh Stone <jistone@redhat.com> - 1.66.0-1
- Update to 1.66.0.
* Thu Nov 03 2022 Josh Stone <jistone@redhat.com> - 1.65.0-1
- Update to 1.65.0.
- rust-analyzer now obsoletes rls.
* 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.

View File

@ -1,42 +0,0 @@
--- rustc-1.59.0-src/Cargo.lock.orig 2022-02-21 18:48:37.000000000 -0800
+++ rustc-1.59.0-src/Cargo.lock 2022-02-22 10:16:10.381962862 -0800
@@ -1935,7 +1935,6 @@
dependencies = [
"cc",
"libc",
- "libssh2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -1968,20 +1967,6 @@
]
[[package]]
-name = "libssh2-sys"
-version = "0.2.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
-dependencies = [
- "cc",
- "libc",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-1.59.0-src/vendor/git2/Cargo.toml.orig 2022-02-21 20:14:37.000000000 -0800
+++ rustc-1.59.0-src/vendor/git2/Cargo.toml 2022-02-22 10:12:23.021772490 -0800
@@ -51,7 +51,7 @@
version = "0.1.39"
[features]
-default = ["ssh", "https", "ssh_key_from_memory"]
+default = ["https"]
https = ["libgit2-sys/https", "openssl-sys", "openssl-probe"]
ssh = ["libgit2-sys/ssh"]
ssh_key_from_memory = ["libgit2-sys/ssh_key_from_memory"]

View File

@ -1,18 +0,0 @@
--- rustc-1.61.0-src/src/etc/rust-gdb.orig 2022-05-17 18:29:36.000000000 -0700
+++ rustc-1.61.0-src/src/etc/rust-gdb 2022-05-18 11:18:13.732709661 -0700
@@ -14,6 +14,9 @@ fi
RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
+RUST_STD_BUILD="@BUILDDIR@/library/"
+RUST_STD_SRC="$RUSTC_SYSROOT/lib/rustlib/src/rust/library/"
+
# Run GDB with the additional arguments that load the pretty printers
# Set the environment variable `RUST_GDB` to overwrite the call to a
# different/specific command (defaults to `gdb`).
@@ -21,4 +24,5 @@ RUST_GDB="${RUST_GDB:-gdb}"
PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" exec ${RUST_GDB} \
--directory="$GDB_PYTHON_MODULE_DIRECTORY" \
-iex "add-auto-load-safe-path $GDB_PYTHON_MODULE_DIRECTORY" \
+ -iex "set substitute-path $RUST_STD_BUILD $RUST_STD_SRC" \
"$@"

View File

@ -1,45 +0,0 @@
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index 63207803e327..f5757760c409 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -741,7 +741,7 @@ fn link_natively<'a>(
&& cmd.get_args().iter().any(|e| e.to_string_lossy() == "-no-pie")
{
info!("linker output: {:?}", out);
- warn!("Linker does not support -no-pie command line option. Retrying without.");
+ info!("Linker does not support -no-pie command line option. Retrying without.");
for arg in cmd.take_args() {
if arg.to_string_lossy() != "-no-pie" {
cmd.arg(arg);
@@ -760,7 +760,7 @@ fn link_natively<'a>(
&& cmd.get_args().iter().any(|e| e.to_string_lossy() == "-static-pie")
{
info!("linker output: {:?}", out);
- warn!(
+ info!(
"Linker does not support -static-pie command line option. Retrying with -static instead."
);
// Mirror `add_(pre,post)_link_objects` to replace CRT objects.
@@ -1507,15 +1507,15 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
}
fn link_output_kind(sess: &Session, crate_type: CrateType) -> LinkOutputKind {
- let kind = match (crate_type, sess.crt_static(Some(crate_type)), sess.relocation_model()) {
+ // Only use PIE if explicitly specified.
+ #[cfg_attr(not(bootstrap), allow(rustc::bad_opt_access))]
+ let explicit_pic =
+ matches!(sess.opts.cg.relocation_model, Some(RelocModel::Pic | RelocModel::Pie));
+ let kind = match (crate_type, sess.crt_static(Some(crate_type)), explicit_pic) {
(CrateType::Executable, _, _) if sess.is_wasi_reactor() => LinkOutputKind::WasiReactorExe,
- (CrateType::Executable, false, RelocModel::Pic | RelocModel::Pie) => {
- LinkOutputKind::DynamicPicExe
- }
+ (CrateType::Executable, false, true) => LinkOutputKind::DynamicPicExe,
(CrateType::Executable, false, _) => LinkOutputKind::DynamicNoPicExe,
- (CrateType::Executable, true, RelocModel::Pic | RelocModel::Pie) => {
- LinkOutputKind::StaticPicExe
- }
+ (CrateType::Executable, true, true) => LinkOutputKind::StaticPicExe,
(CrateType::Executable, true, _) => LinkOutputKind::StaticNoPicExe,
(_, true, _) => LinkOutputKind::StaticDylib,
(_, false, _) => LinkOutputKind::DynamicDylib,

View File

@ -1,6 +1,6 @@
--- rustc-1.63.0-src/Cargo.lock.orig 2022-08-10 12:25:16.512185135 -0700 --- rustc-beta-src/Cargo.lock.orig 2023-05-24 16:49:05.242510531 -0700
+++ rustc-1.63.0-src/Cargo.lock 2022-08-10 12:25:16.513185114 -0700 +++ rustc-beta-src/Cargo.lock 2023-05-24 16:51:11.741865603 -0700
@@ -1054,7 +1054,6 @@ @@ -1197,7 +1197,6 @@ checksum = "14d05c10f541ae6f3bc5b3d923c2
dependencies = [ dependencies = [
"cc", "cc",
"libc", "libc",
@ -8,7 +8,7 @@
"libz-sys", "libz-sys",
"openssl-sys", "openssl-sys",
"pkg-config", "pkg-config",
@@ -2160,16 +2159,6 @@ @@ -2989,16 +2988,6 @@ source = "registry+https://github.com/ru
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]] [[package]]
@ -25,41 +25,20 @@
name = "libz-sys" name = "libz-sys"
version = "1.1.3" version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-1.63.0-src/src/tools/cargo/Cargo.toml.orig 2022-08-10 12:25:16.514185093 -0700 --- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2023-05-24 16:49:05.244510489 -0700
+++ rustc-1.63.0-src/src/tools/cargo/Cargo.toml 2022-08-10 12:25:51.441455282 -0700 +++ rustc-beta-src/src/tools/cargo/Cargo.toml 2023-05-24 16:51:04.683013189 -0700
@@ -22,7 +22,7 @@ @@ -23,7 +23,7 @@ cargo-platform = { path = "crates/cargo-
cargo-util = { path = "crates/cargo-util", version = "0.2.1" } cargo-util = { path = "crates/cargo-util", version = "0.2.4" }
crates-io = { path = "crates/crates-io", version = "0.34.0" } clap = "4.2.0"
crossbeam-utils = "0.8" crates-io = { path = "crates/crates-io", version = "0.36.0" }
-curl = { version = "0.4.43", features = ["http2"] } -curl = { version = "0.4.44", features = ["http2"] }
+curl = { version = "0.4.43", features = [] } +curl = { version = "0.4.44", features = [] }
curl-sys = "0.4.55" curl-sys = "0.4.61"
env_logger = "0.9.0" env_logger = "0.10.0"
pretty_env_logger = { version = "0.4", optional = true } filetime = "0.2.9"
--- rustc-1.63.0-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs.orig 2022-08-08 15:47:35.000000000 -0700 --- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2023-05-19 19:05:42.000000000 -0700
+++ rustc-1.63.0-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs 2022-08-10 12:25:16.514185093 -0700 +++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2023-05-24 16:49:05.244510489 -0700
@@ -192,16 +192,8 @@ @@ -407,16 +407,9 @@ impl<'cfg> PackageSet<'cfg> {
}
self.fetch_started = true;
- // We've enabled the `http2` feature of `curl` in Cargo, so treat
- // failures here as fatal as it would indicate a build-time problem.
- self.multiplexing = self.config.http_config()?.multiplexing.unwrap_or(true);
-
- self.multi
- .pipelining(false, self.multiplexing)
- .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
-
- // let's not flood the server with connections
- self.multi.set_max_host_connections(2)?;
+ // Multiplexing is disabled because the system libcurl doesn't support it.
+ self.multiplexing = false;
self.config
.shell()
--- rustc-1.63.0-src/src/tools/cargo/src/cargo/core/package.rs.orig 2022-08-08 15:47:35.000000000 -0700
+++ rustc-1.63.0-src/src/tools/cargo/src/cargo/core/package.rs 2022-08-10 12:25:16.514185093 -0700
@@ -403,16 +403,9 @@
sources: SourceMap<'cfg>, sources: SourceMap<'cfg>,
config: &'cfg Config, config: &'cfg Config,
) -> CargoResult<PackageSet<'cfg>> { ) -> CargoResult<PackageSet<'cfg>> {
@ -79,7 +58,30 @@
Ok(PackageSet { Ok(PackageSet {
packages: package_ids packages: package_ids
@@ -658,7 +651,7 @@ --- rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs.orig 2023-05-24 16:49:05.245510468 -0700
+++ rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs 2023-05-24 16:51:57.916900146 -0700
@@ -229,16 +229,8 @@ impl<'cfg> HttpRegistry<'cfg> {
}
self.fetch_started = true;
- // We've enabled the `http2` feature of `curl` in Cargo, so treat
- // failures here as fatal as it would indicate a build-time problem.
- self.multiplexing = self.config.http_config()?.multiplexing.unwrap_or(true);
-
- self.multi
- .pipelining(false, self.multiplexing)
- .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
-
- // let's not flood the server with connections
- self.multi.set_max_host_connections(2)?;
+ // Multiplexing is disabled because the system libcurl doesn't support it.
+ self.multiplexing = false;
if !self.quiet {
self.config
--- rustc-beta-src/src/tools/cargo/src/cargo/util/network/mod.rs.orig 2023-05-19 19:05:42.000000000 -0700
+++ rustc-beta-src/src/tools/cargo/src/cargo/util/network/mod.rs 2023-05-24 16:49:05.245510468 -0700
@@ -25,7 +25,7 @@ impl<T> PollExt<T> for Poll<T> {
macro_rules! try_old_curl { macro_rules! try_old_curl {
($e:expr, $msg:expr) => { ($e:expr, $msg:expr) => {
let result = $e; let result = $e;

View File

@ -0,0 +1,43 @@
--- rustc-beta-src/Cargo.lock.orig 2023-05-19 19:02:31.000000000 -0700
+++ rustc-beta-src/Cargo.lock 2023-05-24 16:36:33.312232441 -0700
@@ -2967,7 +2967,6 @@
dependencies = [
"cc",
"libc",
- "libssh2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -3000,20 +2999,6 @@
]
[[package]]
-name = "libssh2-sys"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
-dependencies = [
- "cc",
- "libc",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-beta-src/vendor/git2/Cargo.toml.orig 2023-05-19 21:16:57.000000000 -0700
+++ rustc-beta-src/vendor/git2/Cargo.toml 2023-05-24 16:33:42.043813439 -0700
@@ -55,9 +55,7 @@
[features]
default = [
- "ssh",
"https",
- "ssh_key_from_memory",
]
https = [
"libgit2-sys/https",

View File

@ -0,0 +1,21 @@
diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
index 9abed30ea6f7..e4bf55df3688 100755
--- a/src/etc/rust-gdb
+++ b/src/etc/rust-gdb
@@ -13,8 +13,6 @@ fi
# Find out where the pretty printer Python module is
RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-# Get the commit hash for path remapping
-RUSTC_COMMIT_HASH="$("$RUSTC" -vV | sed -n 's/commit-hash: \([a-zA-Z0-9_]*\)/\1/p')"
# Run GDB with the additional arguments that load the pretty printers
# Set the environment variable `RUST_GDB` to overwrite the call to a
@@ -23,6 +21,6 @@ RUST_GDB="${RUST_GDB:-gdb}"
PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" exec ${RUST_GDB} \
--directory="$GDB_PYTHON_MODULE_DIRECTORY" \
-iex "add-auto-load-safe-path $GDB_PYTHON_MODULE_DIRECTORY" \
- -iex "set substitute-path /rustc/$RUSTC_COMMIT_HASH $RUSTC_SYSROOT/lib/rustlib/src/rust" \
+ -iex "set substitute-path @BUILDDIR@ $RUSTC_SYSROOT/lib/rustlib/src/rust" \
"$@"

View File

@ -1,2 +1,2 @@
SHA512 (rustc-1.64.0-src.tar.xz) = 919f40acd8c6eaaef399aa3248503bea19feb96697ab221aaede9ee789ce340b47cb899d1e0e41a31e5d7756653968a10d2faaa4aee83294c9f1243949b43516 SHA512 (rustc-1.70.0-src.tar.xz) = 21b35185fdcc35a059ee5ef6dca2b68f5f1d199e97f425a571cfc318a852c36a57bccf68e7673b4cb7cd83128f30d0b3eb93009a978f3ba3909b7eee50d40631
SHA512 (wasi-libc-9886d3d6200fcc3726329966860fc058707406cd.tar.gz) = 5b6af0f7133d31c2c068606737eff957126a3045e09c1e95bd2650e0c5637d4797d7036b9beb167829d38d58f6d4199852832f61b0c8836f05e945cd0cf68132 SHA512 (wasi-libc-wasi-sdk-20.tar.gz) = e264240dc7dbcf6398c8ca09bc108298f4a8aa955af22de5a3015fbcde81cb09dd83cd48349090082d5de0e8a3dbcf746c7b14657c67657b3f2f1ab28bb9cf05

View File

@ -48,7 +48,10 @@ rlJournalStart
rlRun "rpm -ivh $SRPM" rlRun "rpm -ivh $SRPM"
rlRun SPECDIR="$(rpm -E '%{_specdir}')" rlRun SPECDIR="$(rpm -E '%{_specdir}')"
rlRun "yum-builddep -y ${SPECDIR}/${PKG_TO_BUILD}.spec ${YUM_SWITCHES}" # librsvg2 contains dynamic dependencies. builddep needs to be run
# from the srpm (not the spec file) to be able to generate them:
# https://fedoraproject.org/wiki/Changes/DynamicBuildRequires#rpmbuild
rlRun "yum-builddep -y ${SRPM} ${YUM_SWITCHES}"
rlPhaseEnd rlPhaseEnd
rlPhaseStartTest rlPhaseStartTest