转换LFS仓库为普通仓库
This commit is contained in:
commit
f201fe1d32
147
0001-Fix-enabling-wasm-component-ld-to-match-other-tools.patch
Normal file
147
0001-Fix-enabling-wasm-component-ld-to-match-other-tools.patch
Normal file
@ -0,0 +1,147 @@
|
||||
From c15469a7fec811d1a4f69ff26e18c6f383df41d2 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Crichton <alex@alexcrichton.com>
|
||||
Date: Fri, 6 Sep 2024 09:21:33 -0700
|
||||
Subject: [PATCH] Fix enabling wasm-component-ld to match other tools
|
||||
|
||||
It was [pointed out recently][comment] that enabling `wasm-component-ld`
|
||||
as a host tool is different from other host tools. This commit refactors
|
||||
the logic to match by deduplicating selection of when to build other
|
||||
tools and then using the same logic for `wasm-component-ld`.
|
||||
|
||||
[comment]: https://github.com/rust-lang/rust/pull/127866#issuecomment-2333434720
|
||||
---
|
||||
src/bootstrap/src/core/build_steps/compile.rs | 2 +-
|
||||
src/bootstrap/src/core/build_steps/dist.rs | 2 +-
|
||||
src/bootstrap/src/core/build_steps/tool.rs | 38 +++----------------
|
||||
src/bootstrap/src/lib.rs | 17 +++++----
|
||||
4 files changed, 17 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
|
||||
index 1936c91ef83c..102c9fd25543 100644
|
||||
--- a/src/bootstrap/src/core/build_steps/compile.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/compile.rs
|
||||
@@ -1912,7 +1912,7 @@ fn run(self, builder: &Builder<'_>) -> Compiler {
|
||||
// delegates to the `rust-lld` binary for linking and then runs
|
||||
// logic to create the final binary. This is used by the
|
||||
// `wasm32-wasip2` target of Rust.
|
||||
- if builder.build_wasm_component_ld() {
|
||||
+ if builder.tool_enabled("wasm-component-ld") {
|
||||
let wasm_component_ld_exe =
|
||||
builder.ensure(crate::core::build_steps::tool::WasmComponentLd {
|
||||
compiler: build_compiler,
|
||||
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
|
||||
index 4957de2e1b79..ccb5656d6716 100644
|
||||
--- a/src/bootstrap/src/core/build_steps/dist.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/dist.rs
|
||||
@@ -473,7 +473,7 @@ fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) {
|
||||
);
|
||||
}
|
||||
}
|
||||
- if builder.build_wasm_component_ld() {
|
||||
+ if builder.tool_enabled("wasm-component-ld") {
|
||||
let src_dir = builder.sysroot_libdir(compiler, host).parent().unwrap().join("bin");
|
||||
let ld = exe("wasm-component-ld", compiler.host);
|
||||
builder.copy_link(&src_dir.join(&ld), &dst_dir.join(&ld));
|
||||
diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core/build_steps/tool.rs
|
||||
index 3a1eb43b801f..3c2d791c2090 100644
|
||||
--- a/src/bootstrap/src/core/build_steps/tool.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/tool.rs
|
||||
@@ -693,14 +693,7 @@ impl Step for Cargo {
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
let builder = run.builder;
|
||||
- run.path("src/tools/cargo").default_condition(
|
||||
- builder.config.extended
|
||||
- && builder.config.tools.as_ref().map_or(
|
||||
- true,
|
||||
- // If `tools` is set, search list for this tool.
|
||||
- |tools| tools.iter().any(|tool| tool == "cargo"),
|
||||
- ),
|
||||
- )
|
||||
+ run.path("src/tools/cargo").default_condition(builder.tool_enabled("cargo"))
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
@@ -772,14 +765,7 @@ impl Step for RustAnalyzer {
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
let builder = run.builder;
|
||||
- run.path("src/tools/rust-analyzer").default_condition(
|
||||
- builder.config.extended
|
||||
- && builder
|
||||
- .config
|
||||
- .tools
|
||||
- .as_ref()
|
||||
- .map_or(true, |tools| tools.iter().any(|tool| tool == "rust-analyzer")),
|
||||
- )
|
||||
+ run.path("src/tools/rust-analyzer").default_condition(builder.tool_enabled("rust-analyzer"))
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
@@ -821,12 +807,8 @@ fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
run.path("src/tools/rust-analyzer")
|
||||
.path("src/tools/rust-analyzer/crates/proc-macro-srv-cli")
|
||||
.default_condition(
|
||||
- builder.config.extended
|
||||
- && builder.config.tools.as_ref().map_or(true, |tools| {
|
||||
- tools.iter().any(|tool| {
|
||||
- tool == "rust-analyzer" || tool == "rust-analyzer-proc-macro-srv"
|
||||
- })
|
||||
- }),
|
||||
+ builder.tool_enabled("rust-analyzer")
|
||||
+ || builder.tool_enabled("rust-analyzer-proc-macro-srv"),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -874,16 +856,8 @@ impl Step for LlvmBitcodeLinker {
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
let builder = run.builder;
|
||||
- run.path("src/tools/llvm-bitcode-linker").default_condition(
|
||||
- builder.config.extended
|
||||
- && builder
|
||||
- .config
|
||||
- .tools
|
||||
- .as_ref()
|
||||
- .map_or(builder.build.unstable_features(), |tools| {
|
||||
- tools.iter().any(|tool| tool == "llvm-bitcode-linker")
|
||||
- }),
|
||||
- )
|
||||
+ run.path("src/tools/llvm-bitcode-linker")
|
||||
+ .default_condition(builder.tool_enabled("llvm-bitcode-linker"))
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
|
||||
index c76ce3409562..780024e307ed 100644
|
||||
--- a/src/bootstrap/src/lib.rs
|
||||
+++ b/src/bootstrap/src/lib.rs
|
||||
@@ -1407,16 +1407,17 @@ fn default_wasi_runner(&self) -> Option<String> {
|
||||
None
|
||||
}
|
||||
|
||||
- /// Returns whether it's requested that `wasm-component-ld` is built as part
|
||||
- /// of the sysroot. This is done either with the `extended` key in
|
||||
- /// `config.toml` or with the `tools` set.
|
||||
- fn build_wasm_component_ld(&self) -> bool {
|
||||
- if self.config.extended {
|
||||
- return true;
|
||||
+ /// Returns whether the specified tool is configured as part of this build.
|
||||
+ ///
|
||||
+ /// This requires that both the `extended` key is set and the `tools` key is
|
||||
+ /// either unset or specifically contains the specified tool.
|
||||
+ fn tool_enabled(&self, tool: &str) -> bool {
|
||||
+ if !self.config.extended {
|
||||
+ return false;
|
||||
}
|
||||
match &self.config.tools {
|
||||
- Some(set) => set.contains("wasm-component-ld"),
|
||||
- None => false,
|
||||
+ Some(set) => set.contains(tool),
|
||||
+ None => true,
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
80
0001-Use-lld-provided-by-system.patch
Normal file
80
0001-Use-lld-provided-by-system.patch
Normal file
@ -0,0 +1,80 @@
|
||||
From 3d8c6d095581e8d7585f3772cfd16f6367f3c008 Mon Sep 17 00:00:00 2001
|
||||
From: Josh Stone <jistone@redhat.com>
|
||||
Date: Fri, 16 Aug 2024 10:12:58 -0700
|
||||
Subject: [PATCH] Use lld provided by system
|
||||
|
||||
---
|
||||
compiler/rustc_target/src/spec/base/wasm.rs | 3 +--
|
||||
.../src/spec/targets/aarch64_unknown_none_softfloat.rs | 2 +-
|
||||
compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs | 1 +
|
||||
compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs | 2 +-
|
||||
compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs | 1 +
|
||||
5 files changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/compiler/rustc_target/src/spec/base/wasm.rs b/compiler/rustc_target/src/spec/base/wasm.rs
|
||||
index f237391016e7..08bcd9699b4a 100644
|
||||
--- a/compiler/rustc_target/src/spec/base/wasm.rs
|
||||
+++ b/compiler/rustc_target/src/spec/base/wasm.rs
|
||||
@@ -85,8 +85,7 @@ macro_rules! args {
|
||||
// arguments just yet
|
||||
limit_rdylib_exports: false,
|
||||
|
||||
- // we use the LLD shipped with the Rust toolchain by default
|
||||
- linker: Some("rust-lld".into()),
|
||||
+ linker: Some("lld".into()),
|
||||
linker_flavor: LinkerFlavor::WasmLld(Cc::No),
|
||||
|
||||
pre_link_args,
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs
|
||||
index 222d5651b521..4b780bc8a8e7 100644
|
||||
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs
|
||||
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs
|
||||
@@ -14,7 +14,7 @@ pub fn target() -> Target {
|
||||
let opts = TargetOptions {
|
||||
abi: "softfloat".into(),
|
||||
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
|
||||
- linker: Some("rust-lld".into()),
|
||||
+ linker: Some("lld".into()),
|
||||
features: "+v8a,+strict-align,-neon,-fp-armv8".into(),
|
||||
relocation_model: RelocModel::Static,
|
||||
disable_redzone: true,
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs
|
||||
index 429303170b6b..19d4ec53f6d8 100644
|
||||
--- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs
|
||||
+++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_uefi.rs
|
||||
@@ -9,6 +9,7 @@ pub fn target() -> Target {
|
||||
base.max_atomic_width = Some(128);
|
||||
base.add_pre_link_args(LinkerFlavor::Msvc(Lld::No), &["/machine:arm64"]);
|
||||
base.features = "+v8a".into();
|
||||
+ base.linker = Some("lld".into());
|
||||
|
||||
Target {
|
||||
llvm_target: "aarch64-unknown-windows".into(),
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs
|
||||
index 549706998d46..b7e9158ddef5 100644
|
||||
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs
|
||||
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs
|
||||
@@ -17,7 +17,7 @@ pub fn target() -> Target {
|
||||
static_position_independent_executables: true,
|
||||
relro_level: RelroLevel::Full,
|
||||
linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
|
||||
- linker: Some("rust-lld".into()),
|
||||
+ linker: Some("lld".into()),
|
||||
features: "-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2,+soft-float".into(),
|
||||
supported_sanitizers: SanitizerSet::KCFI | SanitizerSet::KERNELADDRESS,
|
||||
disable_redzone: true,
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs
|
||||
index 6da1fcca58c8..c84ae44576d4 100644
|
||||
--- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs
|
||||
+++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs
|
||||
@@ -16,6 +16,7 @@ pub fn target() -> Target {
|
||||
base.plt_by_default = false;
|
||||
base.max_atomic_width = Some(64);
|
||||
base.entry_abi = Conv::X86_64Win64;
|
||||
+ base.linker = Some("lld".into());
|
||||
|
||||
// We disable MMX and SSE for now, even though UEFI allows using them. Problem is, you have to
|
||||
// enable these CPU features explicitly before their first use, otherwise their instructions
|
||||
--
|
||||
2.46.0
|
||||
|
||||
162
0001-add-support-for-ppc64le.patch
Normal file
162
0001-add-support-for-ppc64le.patch
Normal file
@ -0,0 +1,162 @@
|
||||
From 85c7f9262e9d4fbfdaa5d7bc22a85eb5300fcca0 Mon Sep 17 00:00:00 2001
|
||||
From: jcf <chunfu.jian@shingroup.cn>
|
||||
Date: Wed, 12 Jun 2024 09:14:32 +0000
|
||||
Subject: [PATCH] add support for ppc64le
|
||||
|
||||
---
|
||||
compiler/rustc_target/src/spec/mod.rs | 2 ++
|
||||
.../spec/targets/ppc64le_unknown_freebsd.rs | 23 +++++++++++++++++++
|
||||
.../spec/targets/ppc64le_unknown_linux_gnu.rs | 23 +++++++++++++++++++
|
||||
.../targets/ppc64le_unknown_linux_musl.rs | 23 +++++++++++++++++++
|
||||
src/bootstrap/configure.py | 2 ++
|
||||
vendor/openssl-src-111.28.1+1.1.1w/src/lib.rs | 3 +++
|
||||
vendor/target-lexicon-0.12.15/src/targets.rs | 3 +++
|
||||
7 files changed, 79 insertions(+)
|
||||
create mode 100644 compiler/rustc_target/src/spec/targets/ppc64le_unknown_freebsd.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_gnu.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_musl.rs
|
||||
|
||||
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
|
||||
index 291a761..e6e80a1 100644
|
||||
--- a/compiler/rustc_target/src/spec/mod.rs
|
||||
+++ b/compiler/rustc_target/src/spec/mod.rs
|
||||
@@ -1513,6 +1513,8 @@ supported_targets! {
|
||||
("powerpc64-unknown-linux-musl", powerpc64_unknown_linux_musl),
|
||||
("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
|
||||
("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl),
|
||||
+ ("ppc64le-unknown-linux-gnu", ppc64le_unknown_linux_gnu),
|
||||
+ ("ppc64le-unknown-linux-musl", ppc64le_unknown_linux_musl),
|
||||
("s390x-unknown-linux-gnu", s390x_unknown_linux_gnu),
|
||||
("s390x-unknown-linux-musl", s390x_unknown_linux_musl),
|
||||
("sparc-unknown-linux-gnu", sparc_unknown_linux_gnu),
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/ppc64le_unknown_freebsd.rs b/compiler/rustc_target/src/spec/targets/ppc64le_unknown_freebsd.rs
|
||||
new file mode 100644
|
||||
index 0000000..615bb67
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/targets/ppc64le_unknown_freebsd.rs
|
||||
@@ -0,0 +1,23 @@
|
||||
+use crate::spec::{base, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions};
|
||||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = base::freebsd::opts();
|
||||
+ base.cpu = "ppc64le".into();
|
||||
+ base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]);
|
||||
+ base.max_atomic_width = Some(64);
|
||||
+ base.stack_probes = StackProbeType::Inline;
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "ppc64le-unknown-freebsd".into(),
|
||||
+ metadata: crate::spec::TargetMetadata {
|
||||
+ description: None,
|
||||
+ tier: None,
|
||||
+ host_tools: None,
|
||||
+ std: None,
|
||||
+ },
|
||||
+ pointer_width: 64,
|
||||
+ data_layout: "e-m:e-Fn32-i64:64-n32:64".into(),
|
||||
+ arch: "powerpc64".into(),
|
||||
+ options: TargetOptions { mcount: "_mcount".into(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_gnu.rs
|
||||
new file mode 100644
|
||||
index 0000000..5ff45e2
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_gnu.rs
|
||||
@@ -0,0 +1,23 @@
|
||||
+use crate::spec::{base, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions};
|
||||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = base::linux_gnu::opts();
|
||||
+ base.cpu = "ppc64le".into();
|
||||
+ base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]);
|
||||
+ base.max_atomic_width = Some(64);
|
||||
+ base.stack_probes = StackProbeType::Inline;
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "ppc64le-unknown-linux-gnu".into(),
|
||||
+ metadata: crate::spec::TargetMetadata {
|
||||
+ description: None,
|
||||
+ tier: None,
|
||||
+ host_tools: None,
|
||||
+ std: None,
|
||||
+ },
|
||||
+ pointer_width: 64,
|
||||
+ data_layout: "e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512".into(),
|
||||
+ arch: "powerpc64".into(),
|
||||
+ options: TargetOptions { mcount: "_mcount".into(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..2b612e7
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/targets/ppc64le_unknown_linux_musl.rs
|
||||
@@ -0,0 +1,23 @@
|
||||
+use crate::spec::{base, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions};
|
||||
+
|
||||
+pub fn target() -> Target {
|
||||
+ let mut base = base::linux_musl::opts();
|
||||
+ base.cpu = "ppc64le".into();
|
||||
+ base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]);
|
||||
+ base.max_atomic_width = Some(64);
|
||||
+ base.stack_probes = StackProbeType::Inline;
|
||||
+
|
||||
+ Target {
|
||||
+ llvm_target: "ppc64le-unknown-linux-musl".into(),
|
||||
+ metadata: crate::spec::TargetMetadata {
|
||||
+ description: None,
|
||||
+ tier: None,
|
||||
+ host_tools: None,
|
||||
+ std: None,
|
||||
+ },
|
||||
+ pointer_width: 64,
|
||||
+ data_layout: "e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512".into(),
|
||||
+ arch: "powerpc64".into(),
|
||||
+ options: TargetOptions { mcount: "_mcount".into(), ..base },
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
|
||||
index 768aac9..155f21e 100755
|
||||
--- a/src/bootstrap/configure.py
|
||||
+++ b/src/bootstrap/configure.py
|
||||
@@ -127,6 +127,8 @@ v("musl-root-mips64", "target.mips64-unknown-linux-muslabi64.musl-root",
|
||||
"mips64-unknown-linux-muslabi64 install directory")
|
||||
v("musl-root-mips64el", "target.mips64el-unknown-linux-muslabi64.musl-root",
|
||||
"mips64el-unknown-linux-muslabi64 install directory")
|
||||
+v("musl-root-ppc64le", "target.ppc64le-unknown-linux-musl.musl-root",
|
||||
+ "ppc64le-unknown-linux-musl install directory")
|
||||
v("musl-root-riscv32gc", "target.riscv32gc-unknown-linux-musl.musl-root",
|
||||
"riscv32gc-unknown-linux-musl install directory")
|
||||
v("musl-root-riscv64gc", "target.riscv64gc-unknown-linux-musl.musl-root",
|
||||
diff --git a/vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs b/vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
|
||||
index 1264742..14427a7 100644
|
||||
--- a/vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
|
||||
+++ b/vendor/openssl-src-111.28.2+1.1.1w/src/lib.rs
|
||||
@@ -282,6 +282,9 @@ impl Build {
|
||||
"powerpc64le-unknown-freebsd" => "BSD-generic64",
|
||||
"powerpc64le-unknown-linux-gnu" => "linux-ppc64le",
|
||||
"powerpc64le-unknown-linux-musl" => "linux-ppc64le",
|
||||
+ "ppc64le-unknown-freebsd" => "BSD-generic64",
|
||||
+ "ppc64le-unknown-linux-gnu" => "linux-ppc64le",
|
||||
+ "ppc64le-unknown-linux-musl" => "linux-ppc64le",
|
||||
"riscv64gc-unknown-linux-gnu" => "linux-generic64",
|
||||
"s390x-unknown-linux-gnu" => "linux64-s390x",
|
||||
"s390x-unknown-linux-musl" => "linux64-s390x",
|
||||
diff --git a/vendor/target-lexicon-0.12.15/src/targets.rs b/vendor/target-lexicon-0.12.15/src/targets.rs
|
||||
index d14a7607b..f64e49568 100644
|
||||
--- a/vendor/target-lexicon-0.12.15/src/targets.rs
|
||||
+++ b/vendor/target-lexicon-0.12.15/src/targets.rs
|
||||
@@ -1692,6 +1692,9 @@ mod tests {
|
||||
"powerpc64le-unknown-freebsd",
|
||||
"powerpc64le-unknown-linux-gnu",
|
||||
"powerpc64le-unknown-linux-musl",
|
||||
+ "ppc64le-unknown-freebsd",
|
||||
+ "ppc64le-unknown-linux-gnu",
|
||||
+ "ppc64le-unknown-linux-musl",
|
||||
"powerpc64-unknown-freebsd",
|
||||
"powerpc64-unknown-linux-gnu",
|
||||
"powerpc64-unknown-linux-musl",
|
||||
--
|
||||
2.44.0
|
||||
|
||||
11
0001-fix-build-error-for-loongarch64.patch
Normal file
11
0001-fix-build-error-for-loongarch64.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/vendor/compiler_builtins-0.1.123/configure.rs
|
||||
+++ b/vendor/compiler_builtins-0.1.123/configure.rs
|
||||
@@ -72,6 +72,8 @@ pub fn configure_f16_f128(target: &Target) {
|
||||
"sparc" | "sparcv9" => (true, false),
|
||||
// `f16` miscompiles <https://github.com/llvm/llvm-project/issues/96438>
|
||||
"wasm32" | "wasm64" => (false, true),
|
||||
+ "loongarch64" => (false, true),
|
||||
+ "riscv64" | "riscv64gc" => (false, true),
|
||||
// Most everything else works as of LLVM 19
|
||||
_ => (true, true),
|
||||
};
|
||||
5
cargo-config
Normal file
5
cargo-config
Normal file
@ -0,0 +1,5 @@
|
||||
[source.crates-io]
|
||||
replace-with = 'ustc'
|
||||
|
||||
[source.ustc]
|
||||
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
|
||||
5
cargo-config.csh
Normal file
5
cargo-config.csh
Normal file
@ -0,0 +1,5 @@
|
||||
# Copy cargo config from skel if it is not exist
|
||||
if ( ! -e "$HOME/.cargo/config.toml" ) then
|
||||
mkdir -p $HOME/.cargo
|
||||
cp -f /etc/skel/.cargo/config.toml $HOME/.cargo
|
||||
endif
|
||||
5
cargo-config.sh
Normal file
5
cargo-config.sh
Normal file
@ -0,0 +1,5 @@
|
||||
# Copy cargo config from skel if it is not exist
|
||||
if [ ! -f "$HOME/.cargo/config.toml" ] ; then
|
||||
mkdir -p $HOME/.cargo
|
||||
cp -f /etc/skel/.cargo/config.toml $HOME/.cargo
|
||||
fi
|
||||
BIN
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz
Normal file
BIN
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz
Normal file
Binary file not shown.
BIN
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz
Normal file
BIN
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz
Normal file
Binary file not shown.
BIN
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz
Normal file
BIN
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz
Normal file
Binary file not shown.
86
rust-key.gpg.ascii
Normal file
86
rust-key.gpg.ascii
Normal file
@ -0,0 +1,86 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
Mve696B5tlHyc1KxjHR6w9GRsh4=
|
||||
=5FXw
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
761
rust.spec
Normal file
761
rust.spec
Normal file
@ -0,0 +1,761 @@
|
||||
%global bootstrap_rust 1.82.0
|
||||
%global bootstrap_cargo 1.82.0
|
||||
%global bootstrap_channel 1.82.0
|
||||
%global bootstrap_date 2024-10-17
|
||||
%global bootstrap_arches x86_64 aarch64 riscv64
|
||||
%bcond_with llvm_static
|
||||
%ifarch x86_64 aarch64 riscv64
|
||||
%bcond_with bundled_llvm
|
||||
%else
|
||||
%bcond_without bundled_llvm
|
||||
%endif
|
||||
%bcond_without bundled_libgit2
|
||||
%bcond_with disabled_libssh2
|
||||
%bcond_without lldb
|
||||
%bcond_without analyzer
|
||||
# disable rust-lld (enabled by default on x86 since 1.80.0 via pull/124129) for
|
||||
# building with system llvm (17.0.6)
|
||||
# https://github.com/rust-lang/rust/issues/131291
|
||||
%ifarch %{ix86} x86_64
|
||||
%bcond_with rust_lld
|
||||
%endif
|
||||
|
||||
%ifnarch riscv64 loongarch64
|
||||
%bcond_without musl_target
|
||||
%endif
|
||||
|
||||
Name: rust
|
||||
Version: 1.82.0
|
||||
Release: 11
|
||||
Summary: The Rust Programming Language
|
||||
License: Apache-2.0 OR MIT
|
||||
URL: https://www.rust-lang.org
|
||||
Source0: https://static.rust-lang.org/dist/rustc-%{version}-src.tar.xz
|
||||
Source1: https://static.rust-lang.org/dist/rustc-%{version}-src.tar.xz.asc
|
||||
Source2: https://static.rust-lang.org/rust-key.gpg.ascii
|
||||
# SOURCE3-5: use local mirror for speed up
|
||||
Source3: cargo-config
|
||||
Source4: cargo-config.sh
|
||||
Source5: cargo-config.csh
|
||||
|
||||
Patch0000: rustc-1.82.0-disable-libssh2.patch
|
||||
# By default, rust tries to use "rust-lld" as a linker for some targets.
|
||||
Patch0001: 0001-Use-lld-provided-by-system.patch
|
||||
# Set a substitute-path in rust-gdb for standard library sources.
|
||||
Patch0002: rustc-1.70.0-rust-gdb-substitute-path.patch
|
||||
Patch0003: 0001-add-support-for-ppc64le.patch
|
||||
# https://github.com/rust-lang/rust/pull/130034 (from 1.83)
|
||||
Patch0004: 0001-Fix-enabling-wasm-component-ld-to-match-other-tools.patch
|
||||
Patch0005: 0001-fix-build-error-for-loongarch64.patch
|
||||
|
||||
%{lua: function rust_triple(arch)
|
||||
local abi = "gnu"
|
||||
if arch == "armv7hl" then
|
||||
arch = "armv7"
|
||||
abi = "gnueabihf"
|
||||
elseif arch == "ppc64" then
|
||||
arch = "powerpc64"
|
||||
elseif arch == "ppc64le" then
|
||||
arch = "powerpc64le"
|
||||
elseif arch == "riscv64" then
|
||||
arch = "riscv64gc"
|
||||
elseif arch == "loongarch64" then
|
||||
arch = "loongarch64"
|
||||
end
|
||||
return arch.."-unknown-linux-"..abi
|
||||
end}
|
||||
%{lua: function rust_musl_triple(arch)
|
||||
local abi = "musl"
|
||||
if arch == "riscv64" then
|
||||
arch = "riscv64gc"
|
||||
end
|
||||
return arch.."-unknown-linux-"..abi
|
||||
end}
|
||||
%{lua: function rust_musl_root(arch)
|
||||
if arch == "riscv64" then
|
||||
arch = "riscv64gc"
|
||||
end
|
||||
return "--musl-root-"..arch
|
||||
end}
|
||||
%global rust_triple %{lua: print(rust_triple(rpm.expand("%{_target_cpu}")))}
|
||||
%global rust_musl_triple %{lua: print(rust_musl_triple(rpm.expand("%{_target_cpu}")))}
|
||||
%global rust_musl_root %{lua: print(rust_musl_root(rpm.expand("%{_target_cpu}")))}
|
||||
%if %defined bootstrap_arches
|
||||
%{lua: do
|
||||
local bootstrap_arches = {}
|
||||
for arch in string.gmatch(rpm.expand("%{bootstrap_arches}"), "%S+") do
|
||||
table.insert(bootstrap_arches, arch)
|
||||
end
|
||||
local base = rpm.expand("https://static.rust-lang.org/dist/%{bootstrap_date}"
|
||||
.."/rust-%{bootstrap_channel}")
|
||||
local target_arch = rpm.expand("%{_target_cpu}")
|
||||
for i, arch in ipairs(bootstrap_arches) do
|
||||
print(string.format("Source%d: %s-%s.tar.xz\n",
|
||||
i+5, base, rust_triple(arch)))
|
||||
if arch == target_arch then
|
||||
rpm.define("bootstrap_source "..i+5)
|
||||
end
|
||||
end
|
||||
end}
|
||||
%endif
|
||||
%ifarch %{bootstrap_arches}
|
||||
%global bootstrap_root rust-%{bootstrap_channel}-%{rust_triple}
|
||||
%global local_rust_root %{_builddir}/%{bootstrap_root}/usr
|
||||
Provides: bundled(%{name}-bootstrap) = %{bootstrap_rust}
|
||||
%else
|
||||
BuildRequires: cargo >= %{bootstrap_cargo}
|
||||
BuildRequires: (%{name} >= %{bootstrap_rust} with %{name} <= %{version})
|
||||
%global local_rust_root %{_prefix}
|
||||
%endif
|
||||
%if %{with musl_target}
|
||||
BuildRequires: make gcc gcc-c++ ncurses-devel curl curl-devel musl-libc-static musl-gcc pkgconfig(libcurl) pkgconfig(liblzma)
|
||||
%else
|
||||
BuildRequires: make gcc gcc-c++ ncurses-devel curl curl-devel pkgconfig(libcurl) pkgconfig(liblzma)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(openssl) pkgconfig(zlib) pkgconfig(libssh2) >= 1.6.0 gnupg2 wget
|
||||
%global python python3
|
||||
BuildRequires: %{python}
|
||||
%if %with bundled_llvm
|
||||
BuildRequires: cmake3 >= 3.13.4
|
||||
Provides: bundled(llvm) = 19.1.1
|
||||
%else
|
||||
BuildRequires: cmake >= 2.8.11
|
||||
%if %defined llvm
|
||||
%global llvm_root %{_libdir}/%{llvm}
|
||||
%else
|
||||
# default llvm is decent enough on riscv64
|
||||
%ifarch x86_64 aarch64 riscv64
|
||||
%global llvm llvm-toolset-18-llvm
|
||||
%global llvm_root /opt/openEuler/llvm-toolset-18/root%{_prefix}
|
||||
%global clang_maj_ver 18
|
||||
%else
|
||||
%global llvm llvm
|
||||
%global llvm_root %{_prefix}
|
||||
%global clang_maj_ver 17
|
||||
%endif
|
||||
%endif
|
||||
# Minimum external LLVM for rust 1.82
|
||||
BuildRequires: %{llvm} >= 17.0.0
|
||||
BuildRequires: %{llvm}-devel >= 17.0.0
|
||||
%if %with llvm_static
|
||||
BuildRequires: %{llvm}-static libffi-devel
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: procps-ng
|
||||
BuildRequires: ninja-build
|
||||
%ifarch x86_64 aarch64 riscv64
|
||||
BuildRequires: llvm-toolset-18-compiler-rt
|
||||
BuildRequires: llvm-toolset-18-clang
|
||||
%else
|
||||
BuildRequires: compiler-rt
|
||||
BuildRequires: clang
|
||||
%endif
|
||||
Provides: rustc = %{version}-%{release}
|
||||
Provides: rustc%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-std-static%{?_isa} = %{version}-%{release}
|
||||
Requires: /usr/bin/cc
|
||||
%global _privatelibs lib(.*-[[:xdigit:]]{16}*|rustc.*)[.]so.*
|
||||
%global __provides_exclude ^(%{_privatelibs})$
|
||||
%global __requires_exclude ^(%{_privatelibs})$
|
||||
%global __provides_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$
|
||||
%global __requires_exclude_from ^(%{_docdir}|%{rustlibdir}/src)/.*$
|
||||
%global _find_debuginfo_opts --keep-section .rustc
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||
%if %{without bundled_llvm}
|
||||
%if "%{llvm_root}" == "%{_prefix}" || 0%{?scl:1}
|
||||
%global llvm_has_filecheck 1
|
||||
%endif
|
||||
%endif
|
||||
%global musl_root %{_prefix}/musl
|
||||
|
||||
# The 'analysis' component is removed since Rust 1.69.0
|
||||
# ref: https://github.com/rust-lang/rust/pull/101841
|
||||
Obsoletes: %{name}-analysis < 1.69.0~
|
||||
|
||||
%description
|
||||
Rust is a systems programming language that runs blazingly fast, prevents
|
||||
segfaults, and guarantees thread safety.
|
||||
This package includes the Rust compiler and documentation generator.
|
||||
|
||||
%package std-static
|
||||
Summary: Standard library for Rust
|
||||
%description std-static
|
||||
This package includes the standard libraries for building applications
|
||||
written in Rust.
|
||||
|
||||
%package debugger-common
|
||||
Summary: Common debugger pretty printers for Rust
|
||||
BuildArch: noarch
|
||||
%description debugger-common
|
||||
This package includes the common functionality for %{name}-gdb and %{name}-lldb.
|
||||
|
||||
%package gdb
|
||||
Summary: GDB pretty printers for Rust
|
||||
BuildArch: noarch
|
||||
Requires: gdb %{name}-debugger-common = %{version}-%{release}
|
||||
%description gdb
|
||||
This package includes the rust-gdb script, which allows easier debugging of Rust
|
||||
programs.
|
||||
|
||||
%package lldb
|
||||
Summary: LLDB pretty printers for Rust
|
||||
BuildArch: noarch
|
||||
Requires: lldb %{python}-lldb
|
||||
Requires: %{name}-debugger-common = %{version}-%{release}
|
||||
|
||||
%description lldb
|
||||
This package includes the rust-lldb script, which allows easier debugging of Rust
|
||||
programs.
|
||||
|
||||
%package -n cargo
|
||||
Summary: Rust's package manager and build tool
|
||||
%if %with bundled_libgit2
|
||||
Provides: bundled(libgit2) = 1.1.0
|
||||
%endif
|
||||
BuildRequires: git
|
||||
Requires: rust
|
||||
Obsoletes: cargo-vendor <= 0.1.23
|
||||
Provides: cargo-vendor = %{version}-%{release}
|
||||
%description -n cargo
|
||||
Cargo is a tool that allows Rust projects to declare their various dependencies
|
||||
and ensure that you'll always get a repeatable build.
|
||||
|
||||
%package -n rustfmt
|
||||
Summary: Tool to find and fix Rust formatting issues
|
||||
Requires: cargo
|
||||
# /usr/bin/rustfmt is dynamically linked against internal rustc libs
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: rustfmt-preview < 1.0.0
|
||||
Provides: rustfmt-preview = %{version}-%{release}
|
||||
Conflicts: rustfmt-preview < 1.0.0
|
||||
%description -n rustfmt
|
||||
A tool for formatting Rust code according to style guidelines.
|
||||
|
||||
%if %{with analyzer}
|
||||
%package analyzer
|
||||
Summary:Rust implementation of the Language Server Protocol
|
||||
Requires: %{name}-src
|
||||
# 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~
|
||||
Obsoletes: rls-preview < 1.31.6
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description analyzer
|
||||
rust-analyzer is an implementation of Language Server Protocol for the Rust
|
||||
programming language. It provides features like completion and goto definition
|
||||
for many code editors, including VS Code, Emacs and Vim.
|
||||
%endif
|
||||
|
||||
%package -n clippy
|
||||
Summary: Lints to catch common mistakes and improve your Rust code
|
||||
Requires: cargo %{name}%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: clippy-preview <= 0.0.212
|
||||
Provides: clippy-preview = %{version}-%{release}
|
||||
Conflicts: clippy-preview <= 0.0.212
|
||||
%description -n clippy
|
||||
A collection of lints to catch common mistakes and improve your Rust code.
|
||||
|
||||
%package src
|
||||
Summary: Sources for the Rust standard library
|
||||
BuildArch: noarch
|
||||
%description src
|
||||
This package includes source files for the Rust standard library. It may be
|
||||
useful as a reference for code completion tools in various editors.
|
||||
|
||||
%package help
|
||||
Summary: Help documents for rust
|
||||
|
||||
Provides: %{name}-doc = %{version}-%{release} %{name}-cargo-doc = %{version}-%{release}
|
||||
Obsoletes: %{name}-doc < %{version}-%{release} %{name}-cargo-doc < %{version}-%{release}
|
||||
|
||||
%description help
|
||||
Man pages and other related help documents for rust.
|
||||
|
||||
%prep
|
||||
# download source0 and gpg check
|
||||
#wget -qO %{SOURCE0} https://user-repo.openeuler.openatom.cn/lfs-tar/rust/rustc-%{version}-src.tar.xz
|
||||
gpg --import %{SOURCE2}
|
||||
gpg --verify %{SOURCE1} %{SOURCE0}
|
||||
|
||||
%ifarch %{bootstrap_arches}
|
||||
#wget -qO %{_sourcedir}/%{bootstrap_root}.tar.xz https://user-repo.openeuler.openatom.cn/lfs-tar/rust/%{bootstrap_root}.tar.xz
|
||||
%setup -q -n %{bootstrap_root} -T -b %{bootstrap_source}
|
||||
./install.sh --components=cargo,rustc,rust-std-%{rust_triple} \
|
||||
--prefix=%{local_rust_root} --disable-ldconfig
|
||||
test -f '%{local_rust_root}/bin/cargo'
|
||||
test -f '%{local_rust_root}/bin/rustc'
|
||||
%endif
|
||||
%setup -q -n rustc-%{version}-src
|
||||
%if %with disabled_libssh2
|
||||
%patch -P 0000 -p1
|
||||
%endif
|
||||
%if "%{python}" != "python3"
|
||||
sed -i.try-python -e '/^try python3 /i try "%{python}" "$@"' ./configure
|
||||
%endif
|
||||
%patch -P 0001 -p1
|
||||
%patch -P 0002 -p1
|
||||
%patch -P 0003 -p1
|
||||
%patch -P 0004 -p1
|
||||
%patch -P 0005 -p1
|
||||
rm -rf vendor/curl-sys*/curl/
|
||||
rm -rf vendor/jemalloc-sys/jemalloc/
|
||||
rm -rf vendor/libffi-sys*/libffi/
|
||||
rm -rf vendor/libssh2-sys*/libssh2/
|
||||
rm -rf vendor/libz-sys*/src/zlib{,-ng}/
|
||||
rm -rf vendor/lzma-sys*/xz-*/
|
||||
rm -rf vendor/openssl-src*/openssl/
|
||||
%if %without bundled_libgit2
|
||||
rm -rf vendor/libgit2-sys*/libgit2/
|
||||
%endif
|
||||
%if %with disabled_libssh2
|
||||
rm -rf vendor/libssh2-sys*/
|
||||
%endif
|
||||
|
||||
# This only affects the transient rust-installer, but let it use our dynamic xz-libs
|
||||
sed -i.lzma -e '/LZMA_API_STATIC/d' src/bootstrap/src/core/build_steps/tool.rs
|
||||
|
||||
%if %{without bundled_llvm} && %{with llvm_static}
|
||||
sed -i.ffi -e '$a #[link(name = "ffi")] extern {}' \
|
||||
src/librustc_llvm/lib.rs
|
||||
%endif
|
||||
find vendor -name .cargo-checksum.json \
|
||||
-exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+'
|
||||
find -name '*.rs' -type f -perm /111 -exec chmod -v -x '{}' '+'
|
||||
%global rust_env RUSTFLAGS="%{rustflags}"
|
||||
%if 0%{?cmake_path:1}
|
||||
%global rust_env %{rust_env} PATH="%{cmake_path}:$PATH"
|
||||
%endif
|
||||
%if %without bundled_libgit2
|
||||
%global rust_env %{rust_env} LIBGIT2_SYS_USE_PKG_CONFIG=1
|
||||
%endif
|
||||
%if %without disabled_libssh2
|
||||
%global rust_env %{rust_env} LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||
%endif
|
||||
|
||||
%build
|
||||
export %{rust_env}
|
||||
%global common_libdir %{_prefix}/lib
|
||||
%global rustlibdir %{common_libdir}/rustlib
|
||||
%ifarch %{arm} %{ix86} s390x
|
||||
%define enable_debuginfo --debuginfo-level=0 --debuginfo-level-std=2
|
||||
%else
|
||||
%define enable_debuginfo --debuginfo-level=1
|
||||
%endif
|
||||
%ifnarch %{power64}
|
||||
%define codegen_units_std --set rust.codegen-units-std=1
|
||||
%endif
|
||||
ncpus=$(/usr/bin/getconf _NPROCESSORS_ONLN)
|
||||
%if %{with bundled_llvm}
|
||||
max_cpus=$(( ($(free -g | awk '/^Mem:/{print $2}') + 1) / 4 ))
|
||||
%else
|
||||
max_cpus=$(( ($(free -g | awk '/^Mem:/{print $2}') + 1) / 2 ))
|
||||
%endif
|
||||
if [ "$max_cpus" -ge 1 -a "$max_cpus" -lt "$ncpus" ]; then
|
||||
ncpus="$max_cpus"
|
||||
fi
|
||||
# Find the compiler-rt library for the Rust profiler_builtins crate.
|
||||
# But there are two versions in openEuler. Why?
|
||||
# We don't have macros.clang so we need clang version here
|
||||
# This is for avoiding rpm syntax error
|
||||
%ifarch ppc64le
|
||||
%global _arch powerpc64le
|
||||
%endif
|
||||
%if %{?clang_maj_ver} >= 17
|
||||
# This is the new one, used on openEuler 24.03 LTS or later
|
||||
%define profiler %(echo %{llvm_root}/%{_lib}/clang/%{clang_maj_ver}/lib/%{_arch}-%{_vendor}-linux-gnu/libclang_rt.profile.a)
|
||||
%else
|
||||
# This is used before openEuler 23.09
|
||||
%global clang_full_ver %%(clang --version | awk '/clang version/{print $3}')
|
||||
%define profiler %(echo %{_prefix}/%{_lib}/clang/%{clang_full_ver}/lib/libclang_rt.profile-%{_arch}.a)
|
||||
%endif
|
||||
test -r "%{profiler}"
|
||||
|
||||
%configure --disable-option-checking \
|
||||
--docdir=%{_pkgdocdir} \
|
||||
--libdir=%{common_libdir} \
|
||||
%{?with_musl_target:%{rust_musl_root}=%{musl_root}} \
|
||||
--build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple}%{?with_musl_target:,%{rust_musl_triple}} \
|
||||
--set target.%{rust_triple}.profiler="%{profiler}" \
|
||||
%{!?with_rust_lld: --set rust.lld=false} \
|
||||
--python=%{python} \
|
||||
--local-rust-root=%{local_rust_root} \
|
||||
%{!?with_bundled_llvm: --llvm-root=%{llvm_root} \
|
||||
%{!?llvm_has_filecheck: --disable-codegen-tests} \
|
||||
%{!?with_llvm_static: --enable-llvm-link-shared } } \
|
||||
--disable-rpath \
|
||||
%{enable_debuginfo} \
|
||||
--enable-extended \
|
||||
--tools=cargo,clippy,%{?with_analyzer:rls,rust-analyzer,}rustfmt,src \
|
||||
--enable-vendor \
|
||||
--enable-verbose-tests \
|
||||
%{?codegen_units_std} \
|
||||
--release-channel=stable
|
||||
%ifarch loongarch64
|
||||
%{python} ./x.py build -j "$((($ncpus + 3) / 4))" --stage 2
|
||||
%else
|
||||
%{python} ./x.py build -j "$ncpus" --stage 2
|
||||
%endif
|
||||
%{python} ./x.py doc --stage 2
|
||||
|
||||
%install
|
||||
export %{rust_env}
|
||||
DESTDIR=%{buildroot} %{python} ./x.py install
|
||||
|
||||
# Some of the components duplicate-install binaries, leaving backups we don't want
|
||||
rm -f %{buildroot}%{_bindir}/*.old
|
||||
|
||||
%if "%{_libdir}" != "%{common_libdir}"
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' \
|
||||
-exec mv -v -t %{buildroot}%{_libdir} '{}' '+'
|
||||
%endif
|
||||
find %{buildroot}%{_libdir} -maxdepth 1 -type f -name '*.so' \
|
||||
-exec chmod -v +x '{}' '+'
|
||||
(cd "%{buildroot}%{rustlibdir}/%{rust_triple}/lib" &&
|
||||
find ../../../../%{_lib} -maxdepth 1 -name '*.so' |
|
||||
while read lib; do
|
||||
if [ -f "${lib##*/}" ]; then
|
||||
# make sure they're actually identical!
|
||||
cmp "$lib" "${lib##*/}"
|
||||
ln -v -f -s -t . "$lib"
|
||||
fi
|
||||
done)
|
||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '*.orig' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir}/src -type f -name '*.py' -exec rm -v '{}' '+'
|
||||
rm -f %{buildroot}%{_pkgdocdir}/README.md
|
||||
rm -f %{buildroot}%{_pkgdocdir}/COPYRIGHT
|
||||
rm -f %{buildroot}%{_pkgdocdir}/LICENSE
|
||||
rm -f %{buildroot}%{_pkgdocdir}/LICENSE-APACHE
|
||||
rm -f %{buildroot}%{_pkgdocdir}/LICENSE-MIT
|
||||
rm -f %{buildroot}%{_pkgdocdir}/LICENSE-THIRD-PARTY
|
||||
rm -f %{buildroot}%{_pkgdocdir}/*.old
|
||||
find %{buildroot}%{_pkgdocdir}/html -empty -delete
|
||||
find %{buildroot}%{_pkgdocdir}/html -type f -exec chmod -x '{}' '+'
|
||||
mkdir -p %{buildroot}%{_datadir}/cargo/registry
|
||||
mkdir -p %{buildroot}%{_docdir}/cargo
|
||||
ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html
|
||||
|
||||
# install default config for cargo mirror
|
||||
install -m 0644 -D -p %{SOURCE3} %{buildroot}%{_sysconfdir}/skel/.cargo/config.toml
|
||||
install -m 0644 -D -p %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/cargo-config.sh
|
||||
install -m 0644 -D -p %{SOURCE5} %{buildroot}%{_sysconfdir}/profile.d/cargo-config.csh
|
||||
|
||||
%if %{with analyzer}
|
||||
# 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
|
||||
%endif
|
||||
|
||||
%if %without lldb
|
||||
rm -f %{buildroot}%{_bindir}/rust-lldb
|
||||
rm -f %{buildroot}%{rustlibdir}/etc/lldb_*
|
||||
%endif
|
||||
rm -f %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-ll*
|
||||
|
||||
%check
|
||||
export %{rust_env}
|
||||
%{python} ./x.py test --no-fail-fast --stage 2 || :
|
||||
%ifarch aarch64
|
||||
# https://github.com/rust-lang/rust/issues/123733
|
||||
%define cargo_test_skip --test-args "--skip panic_abort_doc_tests"
|
||||
%endif
|
||||
%{python} ./x.py test --no-fail-fast --stage 2 cargo %{?cargo_test_skip} || :
|
||||
%{python} ./x.py test --no-fail-fast --stage 2 clippy || :
|
||||
%if %{with analyzer}
|
||||
%{python} ./x.py test --no-fail-fast --stage 2 rust-analyzer || :
|
||||
%endif
|
||||
%{python} ./x.py test --no-fail-fast --stage 2 rustfmt || :
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
||||
%license %{_pkgdocdir}/html/*.txt
|
||||
%doc README.md
|
||||
%{_bindir}/rustc
|
||||
%{_bindir}/rustdoc
|
||||
%{_libdir}/*.so
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}/%{rust_triple}
|
||||
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||
%if %{with analyzer}
|
||||
%{_libexecdir}/rust-analyzer-proc-macro-srv
|
||||
%endif
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.so
|
||||
%if %{with musl_target}
|
||||
%dir %{rustlibdir}/%{rust_musl_triple}
|
||||
%dir %{rustlibdir}/%{rust_musl_triple}/lib
|
||||
%endif
|
||||
|
||||
%files std-static
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}/%{rust_triple}
|
||||
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.rlib
|
||||
%if %{with musl_target}
|
||||
%dir %{rustlibdir}/%{rust_musl_triple}
|
||||
%dir %{rustlibdir}/%{rust_musl_triple}/lib
|
||||
%{rustlibdir}/%{rust_musl_triple}/lib/*.rlib
|
||||
%{rustlibdir}/%{rust_musl_triple}/lib/self-contained/*.o
|
||||
%{rustlibdir}/%{rust_musl_triple}/lib/self-contained/libunwind.a
|
||||
%{rustlibdir}/%{rust_musl_triple}/lib/self-contained/libc.a
|
||||
%endif
|
||||
|
||||
%files debugger-common
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}/etc
|
||||
%{rustlibdir}/etc/rust_*.py*
|
||||
|
||||
%files gdb
|
||||
%{_bindir}/rust-gdb
|
||||
%{rustlibdir}/etc/gdb_*
|
||||
%exclude %{_bindir}/rust-gdbgui
|
||||
%if %with lldb
|
||||
|
||||
%files lldb
|
||||
%{_bindir}/rust-lldb
|
||||
%{rustlibdir}/etc/lldb_*
|
||||
%endif
|
||||
|
||||
%files -n cargo
|
||||
%license src/tools/cargo/LICENSE-APACHE src/tools/cargo/LICENSE-MIT src/tools/cargo/LICENSE-THIRD-PARTY
|
||||
%doc src/tools/cargo/README.md
|
||||
%config(noreplace) %{_sysconfdir}/skel/.cargo/config.toml
|
||||
%{_sysconfdir}/profile.d/cargo-config.*
|
||||
%{_bindir}/cargo
|
||||
%{_sysconfdir}/bash_completion.d/cargo
|
||||
%{_datadir}/zsh/site-functions/_cargo
|
||||
%dir %{_datadir}/cargo
|
||||
%dir %{_datadir}/cargo/registry
|
||||
|
||||
%files -n rustfmt
|
||||
%{_bindir}/rustfmt
|
||||
%{_bindir}/cargo-fmt
|
||||
%doc src/tools/rustfmt/{README,CHANGELOG,Configurations}.md
|
||||
%license src/tools/rustfmt/LICENSE-{APACHE,MIT}
|
||||
|
||||
%if %{with analyzer}
|
||||
%files analyzer
|
||||
%{_bindir}/rls
|
||||
%{_bindir}/rust-analyzer
|
||||
%doc src/tools/rust-analyzer/README.md
|
||||
%license src/tools/rust-analyzer/LICENSE-{APACHE,MIT}
|
||||
%endif
|
||||
|
||||
%files -n clippy
|
||||
%{_bindir}/cargo-clippy
|
||||
%{_bindir}/clippy-driver
|
||||
%doc src/tools/clippy/{README.md,CHANGELOG.md}
|
||||
%license src/tools/clippy/LICENSE-{APACHE,MIT}
|
||||
|
||||
%files src
|
||||
%dir %{rustlibdir}
|
||||
%{rustlibdir}/src
|
||||
|
||||
%files help
|
||||
%dir %{_pkgdocdir}
|
||||
%docdir %{_pkgdocdir}
|
||||
%{_pkgdocdir}/html
|
||||
%dir %{_docdir}/cargo
|
||||
%docdir %{_docdir}/cargo
|
||||
%{_docdir}/cargo/html
|
||||
%{_mandir}/man1/rustc.1*
|
||||
%{_mandir}/man1/rustdoc.1*
|
||||
%{_mandir}/man1/cargo*.1*
|
||||
|
||||
%changelog
|
||||
* Wed May 07 2025 wangkai <13474090681@163.com> - 1.82.0-11
|
||||
- Include all sources in the source package
|
||||
|
||||
* Wed Feb 26 2025 laokz <zhangkai@iscas.ac.cn> - 1.82.0-10
|
||||
- Switch to unbundled llvm for riscv64 building
|
||||
|
||||
* Wed Jan 15 2025 wangkai <13474090681@163.com> - 1.82.0-9
|
||||
- Switch to unbundled llvm for x86_64 aarch64 building
|
||||
|
||||
* Fri Jan 03 2025 laokz <zhangkai@iscas.ac.cn> - 1.82.0-8
|
||||
- fix the error out of memory for riscv64
|
||||
|
||||
* Fri Dec 20 2024 Wenlong Zhang <zhangwenlong@loongson.cn> - 1.82.0-7
|
||||
- fix the error out of memory for loongarch64
|
||||
|
||||
* Sun Dec 08 2024 misaka00251 <liuxin@iscas.ac.cn> - 1.82.0-6
|
||||
- Fix rpm macros
|
||||
|
||||
* Fri Dec 06 2024 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.82.0-5
|
||||
- Add a switch for the musl target & disable it for loongarch64 & riscv64
|
||||
|
||||
* Fri Nov 22 2024 Wenl4ng <wenlang1@h-partners.com> - 1.82.0-4
|
||||
- use lfs-server
|
||||
|
||||
* Fri Nov 22 2024 Wenlong Zhang<zhangwenlong@loongson.cn> - 1.82.0-3
|
||||
- fix build error for loongarch64
|
||||
|
||||
* Wed Nov 13 2024 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.82.0-2
|
||||
- Switch to bundled llvm for building, halve the 'max_cpus' in this case
|
||||
|
||||
* Wed Oct 23 2024 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.82.0-1
|
||||
- Update to 1.82.0
|
||||
|
||||
* Tue Oct 22 2024 zhangwenlong <zhangwenlong@loongson.cn> - 1.80.0-2
|
||||
- disable musl for loongarch64
|
||||
|
||||
* Wed Aug 07 2024 wangkai <13474090681@163.com> - 1.80.0-1
|
||||
- Update to 1.80.0
|
||||
|
||||
* Wed Jul 24 2024 wangkai <13474090681@163.com> - 1.79.0-3
|
||||
- Switch to bootstrap compilation
|
||||
|
||||
* Thu Jul 18 2024 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.79.0-2
|
||||
- Drop obsolete patch for riscv64 (rust-lang/rust#123612 landed in 1.79.0)
|
||||
|
||||
* Wed Jun 19 2024 wangkai <13474090681@163.com> - 1.79.0-1
|
||||
- Update to 1.79.0
|
||||
|
||||
* Tue May 07 2024 wangkai <13474090681@163.com> - 1.78.0-1
|
||||
- Update to 1.78.0
|
||||
|
||||
* Thu Jun 13 2024 jianchunfu <chunfu.jian@shingroup.cn> - 1.77.0-5
|
||||
- spec: Add support for ppc64le
|
||||
|
||||
* Wed Jun 05 2024 Wenlong Zhang <zhangwenlong@loongson.cn> - 1.77.0-4
|
||||
- disable musl for loongarch64
|
||||
|
||||
* Mon Apr 22 2024 panchenbo <panchenbo@kylinsec.com.cn> - 1.77.0-3
|
||||
- Modify openEuler to vendor
|
||||
|
||||
* Thu Apr 11 2024 misaka00251 <liuxin@iscas.ac.cn> - 1.77.0-2
|
||||
- Enable profiler builtin
|
||||
|
||||
* Wed Apr 03 2024 wangkai <13474090681@163.com> - 1.77.0-1
|
||||
- Update to 1.77.0
|
||||
|
||||
* Tue Feb 20 2024 wangkai <13474090681@163.com> - 1.76.0-1
|
||||
- Update to 1.76.0
|
||||
|
||||
* Sat Feb 17 2024 wangkai <13474090681@163.com> - 1.75.0-2
|
||||
- Fix CVE-2024-24575,CVE-2024-24577
|
||||
|
||||
* Wed Jan 10 2024 wangkai <13474090681@163.com> - 1.75.0-1
|
||||
- Update to 1.75.0
|
||||
|
||||
* Fri Nov 24 2023 wangkai <13474090681@163.com> - 1.74.0-1
|
||||
- Update to 1.74.0
|
||||
|
||||
* Mon Nov 13 2023 wangkai <13474090681@163.com> - 1.73.0-2
|
||||
- Remove git lfs tar and change to user-repo
|
||||
- Add gpg verification to Source0
|
||||
|
||||
* Mon Oct 09 2023 wangkai <13474090681@163.com> - 1.73.0-1
|
||||
- Update to 1.73.0
|
||||
|
||||
* Mon Aug 28 2023 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.72.0-1
|
||||
- Update to 1.72.0
|
||||
|
||||
* Mon Aug 7 2023 Funda Wang <fundawang@yeah.net> - 1.71.1-1
|
||||
- New version 1.71.1
|
||||
|
||||
* Sun Jul 30 2023 Funda Wang <fundawang@yeah.net> - 1.71.0-3
|
||||
- Fix release channel name
|
||||
|
||||
* Sun Jul 30 2023 Funda Wang <fundawang@yeah.net> - 1.71.0-2
|
||||
- Use local mirror for speed up
|
||||
|
||||
* Fri Jul 28 2023 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.71.0-1
|
||||
- Update to 1.71.0
|
||||
|
||||
* Tue Jul 18 2023 xu_ping <707078654@qq.com> - 1.70.0-2
|
||||
- Use llvm package instead of llvm15
|
||||
|
||||
* Mon Jun 05 2023 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.70.0-1
|
||||
- Update to 1.70.0
|
||||
- Fix rotten patch
|
||||
|
||||
* Mon Apr 24 2023 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.69.0-2
|
||||
- Add riscv64 specific changes
|
||||
|
||||
* Mon Apr 24 2023 jchzhou <zhoujiacheng@iscas.ac.cn> - 1.69.0-1
|
||||
- Update to 1.69.0
|
||||
- Obsolete the removed rust-analysis subpackage
|
||||
- Switch to xz tarball to save space
|
||||
|
||||
* Wed Mar 22 2023 wangkai <wangkai385@h-partners.com> - 1.68.0-1
|
||||
- Update to 1.68.0
|
||||
|
||||
* Tue Feb 28 2023 wangkai <wangkai385@h-partners.com> - 1.67.1-1
|
||||
- Update to 1.67.1
|
||||
|
||||
* Tue Apr 19 2022 Liu Zixian <liuzixian4@huawei.com> - 1.60.0-1
|
||||
- Update to 1.60.0
|
||||
|
||||
* Mon Feb 28 2022 Liu Zixian <liuzixian4@huawei.com> - 1.59.0-1
|
||||
- Update to 1.59.0
|
||||
|
||||
* Sun Feb 27 2022 Liu Zixian <liuzixian4@huawei.com> - 1.58.1-1
|
||||
- Update to 1.58.1
|
||||
|
||||
* Wed Feb 09 2022 Li Zheng <lizheng135@huawei.com> - 1.57.0-2
|
||||
- Fix build error
|
||||
|
||||
* Sat Jan 22 2022 Liu Zixian <liuzixian4@huawei.com> - 1.57.0-1
|
||||
- Update to 1.57.0
|
||||
|
||||
* Sat Dec 18 2021 sdlzx <hdu_sdlzx@163.com> - 1.56.0-1
|
||||
- Update to 1.56.0
|
||||
|
||||
* Wed Dec 15 2021 sdlzx <hdu_sdlzx@163.com> - 1.55.0-1
|
||||
- Update to 1.55.0
|
||||
|
||||
* Thu Oct 14 2021 sdlzx <hdu_sdlzx@163.com> - 1.54.0-1
|
||||
- Update to 1.54.0
|
||||
|
||||
* Fri Oct 08 2021 donglongtao <donglongtao@huawei.com> - 1.53.0-2
|
||||
- Update debuginfo-level config
|
||||
|
||||
* Sat Oct 02 2021 sdlzx <hdu_sdlzx@163.com> - 1.53.0-1
|
||||
- Update to 1.53.0
|
||||
|
||||
* Tue Sep 28 2021 sdlzx <hdu_sdlzx@163.com> - 1.52.1-1
|
||||
- Update to 1.52.1
|
||||
|
||||
* Fri Sep 17 2021 donglongtao <donglongtao@huawei.com> - 1.51.0-10
|
||||
- Fix rustdoc install very slow
|
||||
|
||||
* Tue Aug 24 2021 caodongxia <caodongxia@huawei.com> - 1.51.0-9
|
||||
- Fix rustdoc error info
|
||||
|
||||
* Wed Aug 18 2021 yaoxin <yaoxin30@huawei.com> - 1.51.0-8
|
||||
- Fix CVE-2021-29922
|
||||
|
||||
* Wed Aug 04 2021 chenyanpanHW <chenyanpan@huawei.com> - 1.51.0-7
|
||||
- DESC: delete BuildRequires gdb
|
||||
|
||||
* Thu Jul 08 2021 Jiajie Li <lijiajie11@huawei.com> - 1.51.0-6
|
||||
- Add build require of ninja and llvm
|
||||
|
||||
* Thu Jul 01 2021 Jiajie Li <lijiajie11@huawei.com> - 1.51.0-5
|
||||
- Add support for musl target
|
||||
|
||||
* Thu Jun 24 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.51.0-4
|
||||
- fix a println wrong format
|
||||
|
||||
* Thu Jun 24 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.51.0-3
|
||||
- cargo help clippy should have description to user
|
||||
|
||||
* Wed Jun 23 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.51.0-2
|
||||
- clippy-driver usage should user friendly
|
||||
|
||||
* Fri May 07 2021 wangyue <wangyue92@huawei.com> - 1.51.0-1
|
||||
- Update to 1.51.0
|
||||
|
||||
* Mon Nov 30 2020 Jeffery.Gao <gaojianxing@huawei.com> - 1.45.2-2
|
||||
- fix upgrade error
|
||||
|
||||
* Mon Sep 21 2020 Jeffery.Gao <gaojianxing@huawei.com> - 1.45.2-1
|
||||
- Update to 1.45.2
|
||||
|
||||
* Fri Apr 17 2020 zhujunhao <zhujunhao8@huawei.com> - 1.29.1-4
|
||||
- add llvm in rust
|
||||
|
||||
* Thu Dec 5 2019 wutao <wutao61@huawei.com> - 1.29.1-3
|
||||
- Package init
|
||||
4
rust.yaml
Normal file
4
rust.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: rust-lang/rust
|
||||
tag_prefix: ^
|
||||
seperator: .
|
||||
21
rustc-1.70.0-rust-gdb-substitute-path.patch
Normal file
21
rustc-1.70.0-rust-gdb-substitute-path.patch
Normal 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" \
|
||||
"$@"
|
||||
|
||||
44
rustc-1.82.0-disable-libssh2.patch
Normal file
44
rustc-1.82.0-disable-libssh2.patch
Normal file
@ -0,0 +1,44 @@
|
||||
diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock
|
||||
--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2024-09-06 10:36:55.743405666 -0700
|
||||
+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-09-06 10:36:55.745405652 -0700
|
||||
@@ -2156,7 +2156,6 @@ checksum = "10472326a8a6477c3c20a64547b0
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
- "libssh2-sys",
|
||||
"libz-sys",
|
||||
"openssl-sys",
|
||||
"pkg-config",
|
||||
@@ -2197,20 +2196,6 @@ dependencies = [
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
-
|
||||
-[[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"
|
||||
diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml
|
||||
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2024-09-06 10:36:55.746405645 -0700
|
||||
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-09-06 10:37:13.849280464 -0700
|
||||
@@ -44,7 +44,7 @@ curl = "0.4.46"
|
||||
curl-sys = "0.4.73"
|
||||
filetime = "0.2.23"
|
||||
flate2 = { version = "1.0.30", default-features = false, features = ["zlib"] }
|
||||
-git2 = "0.19.0"
|
||||
+git2 = { version = "0.19.0", default-features = false, features = ["https"] }
|
||||
git2-curl = "0.20.0"
|
||||
gix = { version = "0.64.0", default-features = false, features = ["blocking-http-transport-curl", "progress-tree", "parallel", "dirwalk"] }
|
||||
glob = "0.3.1"
|
||||
BIN
rustc-1.82.0-src.tar.xz
Normal file
BIN
rustc-1.82.0-src.tar.xz
Normal file
Binary file not shown.
16
rustc-1.82.0-src.tar.xz.asc
Normal file
16
rustc-1.82.0-src.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfJCRCFq5bm+hvl/gAASrIP/R3fPIF8QTLm3MxtYYYESIUz
|
||||
BbTUeC3NCuasXFLY7lPPazlgMTvtuRxn4qpTliwtGKtCDWtr1LdzwzFCw2zrW72g
|
||||
wA/HHvpq16z3Qkk6kjW27c+QQVatAmBtpydehHo3V4QeMs1piMEbGT7cnyN/cW+u
|
||||
o4YoBdfRMDKV13n516QhBDI7+LzF/Tz1P7RYYnXhSFQ4DwZZBdZni5udaELI8I2R
|
||||
bhFwe0AC/msClq+Wo5u8I5qfmzUf4hj+zVCUeWt8srk434DkgEX+5lz4jkQH1WLv
|
||||
HMZXyfx0xwynOe00teZKy6X8lD9KgF0EgbKEjntPbXlGiLWSRpFFvkPpz6DNQ0Hy
|
||||
QiVqebi7skwO+SK/Go45SAnIH4y/nlMMx0RAtivDtk53VNU68wju5dXJ5KiWCWyc
|
||||
vWZROmT5SdYFtaEGtiQyS4vhXKZ0mbTDX0LjxogLf+eW4wyRk91zzUxkpZ69SuSG
|
||||
cR6AblMjvcjCfwgbSNkA4zg5V3OKs4WmuEyeO4Q/EMCO6+USjzwjqOB5L1NSFUkL
|
||||
8z0qC70x68PR7d7mXgnqui4zISrYeXYe9nVRkwNwNFWFWBNUtW/LUGD/v6ee9CWD
|
||||
0cYmInsUFM8DxtqJH0rsfd78qjrQwEtoReTrwO1fs9E5L3kCqZm5tNxp6A2vgCr/
|
||||
PIc5UHGVeUxQWc1bYNha
|
||||
=IXFx
|
||||
-----END PGP SIGNATURE-----
|
||||
Loading…
x
Reference in New Issue
Block a user