Projects
Eulaceura:Factory
rust
_service:obs_scm:rust-1729645797.d5dc6b9.obscpio
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:rust-1729645797.d5dc6b9.obscpio of Package rust
07070100000000000081A400000000000000000000000167184CE5000009C8000000000000000000000000000000000000003E00000000rust-1729645797.d5dc6b9/0001-Use-lld-provided-by-system.patchFrom 61b5cc96337da2121221dd1bcdb63fd36551d065 Mon Sep 17 00:00:00 2001 From: Josh Stone <jistone@redhat.com> Date: Wed, 1 Nov 2023 15:21:15 -0700 Subject: [PATCH] Use lld provided by system --- compiler/rustc_target/src/spec/base/wasm.rs | 3 +-- compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs | 2 +- compiler/rustc_target/src/spec/targets/x86_64_unknown_uefi.rs | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/rustc_target/src/spec/base/wasm.rs b/compiler/rustc_target/src/spec/base/wasm.rs index 87ade9e58cf4..2ddff95febab 100644 --- a/compiler/rustc_target/src/spec/base/wasm.rs +++ b/compiler/rustc_target/src/spec/base/wasm.rs @@ -91,8 +91,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/x86_64_unknown_none.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_none.rs index 9aa95a35f8e5..a9172f9441b7 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,-3dnow,-3dnowa,-avx,-avx2,+soft-float" .into(), 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 5abfb8162f70..13cb43bda1a4 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.41.0 07070100000001000081A400000000000000000000000167184CE500001CC0000000000000000000000000000000000000003B00000000rust-1729645797.d5dc6b9/0001-add-support-for-ppc64le.patchFrom 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.14/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.14/src/targets.rs b/vendor/target-lexicon-0.12.14/src/targets.rs index f764b34..e150f84 100644 --- a/vendor/target-lexicon-0.12.14/src/targets.rs +++ b/vendor/target-lexicon-0.12.14/src/targets.rs @@ -1639,6 +1639,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-ibm-aix", "powerpc64-unknown-freebsd", "powerpc64-unknown-linux-gnu", -- 2.44.0 07070100000002000081A400000000000000000000000167184CE500000079000000000000000000000000000000000000002500000000rust-1729645797.d5dc6b9/cargo-config[source.crates-io] replace-with = 'ustc' [source.ustc] registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/" 07070100000003000081A400000000000000000000000167184CE5000000B9000000000000000000000000000000000000002900000000rust-1729645797.d5dc6b9/cargo-config.csh# 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 07070100000004000081A400000000000000000000000167184CE5000000B8000000000000000000000000000000000000002800000000rust-1729645797.d5dc6b9/cargo-config.sh# 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 07070100000005000081A400000000000000000000000167184CE5000014CE000000000000000000000000000000000000002B00000000rust-1729645797.d5dc6b9/rust-key.gpg.ascii-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 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 Mve696B5tlHyc1KxjHR6w9GRsh4= =5FXw -----END PGP PUBLIC KEY BLOCK----- 07070100000006000081A400000000000000000000000167184CE500005AAD000000000000000000000000000000000000002200000000rust-1729645797.d5dc6b9/rust.spec%global bootstrap_rust 1.79.0 %global bootstrap_cargo 1.79.0 %global bootstrap_channel 1.79.0 %global bootstrap_date 2024-06-13 %global bootstrap_arches x86_64 aarch64 riscv64 %bcond_with llvm_static %bcond_with bundled_llvm %bcond_without bundled_libgit2 %bcond_with disabled_libssh2 %bcond_without lldb %bcond_without analyzer Name: rust Version: 1.80.0 Release: 2 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.80.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 %{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 if arch == target_arch then print(string.format("Source%d: %s-%s.tar.xz\n", i+5, base, rust_triple(arch))) 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 %ifarch loongarch64 BuildRequires: make gcc gcc-c++ ncurses-devel curl curl-devel pkgconfig(libcurl) pkgconfig(liblzma) %else BuildRequires: make gcc gcc-c++ ncurses-devel curl curl-devel musl-libc-static musl-gcc 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) = 17.0.4 %else BuildRequires: cmake >= 2.8.11 %if %defined llvm %global llvm_root %{_libdir}/%{llvm} %else # default llvm is decent enough on riscv64 %global llvm llvm %global llvm_root %{_prefix} %endif # rust currently requires llvm 14.0+ BuildRequires: %{llvm} >= 15.0.0 BuildRequires: %{llvm}-devel >= 15.0.0 %if %with llvm_static BuildRequires: %{llvm}-static libffi-devel %endif %endif BuildRequires: procps-ng BuildRequires: ninja-build BuildRequires: compiler-rt BuildRequires: clang 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 %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 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) max_cpus=$(( ($(free -g | awk '/^Mem:/{print $2}') + 1) / 2 )) 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 %global clang_maj_ver 17 %if %{?clang_maj_ver} >= 17 # This is the new one, used on openEuler 24.03 LTS or later %define profiler %(echo %{_prefix}/%{_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} \ %ifarch loongarch64 --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \ %else %{rust_musl_root}=%{musl_root} \ --build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple},%{rust_musl_triple} \ %endif --set target.%{rust_triple}.profiler="%{profiler}" \ --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 %{python} ./x.py build -j "$ncpus" --stage 2 %{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 %ifnarch loongarch64 %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 %ifnarch loongarch64 %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 * 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 07070100000007000081A400000000000000000000000167184CE50000004C000000000000000000000000000000000000002200000000rust-1729645797.d5dc6b9/rust.yamlversion_control: github src_repo: rust-lang/rust tag_prefix: ^ seperator: . 07070100000008000081A400000000000000000000000167184CE5000003ED000000000000000000000000000000000000004400000000rust-1729645797.d5dc6b9/rustc-1.70.0-rust-gdb-substitute-path.patchdiff --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" \ "$@" 07070100000009000081A400000000000000000000000167184CE500000606000000000000000000000000000000000000003B00000000rust-1729645797.d5dc6b9/rustc-1.80.0-disable-libssh2.patchdiff -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-07-05 18:14:51.101370053 -0700 +++ rustc-beta-src/src/tools/cargo/Cargo.lock 2024-07-05 18:14:51.104370020 -0700 @@ -2151,7 +2151,6 @@ checksum = "ee4126d8b4ee5c9d9ea891dd875c dependencies = [ "cc", "libc", - "libssh2-sys", "libz-sys", "openssl-sys", "pkg-config", @@ -2192,20 +2191,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-07-05 18:14:51.104370020 -0700 +++ rustc-beta-src/src/tools/cargo/Cargo.toml 2024-07-05 18:15:36.584867840 -0700 @@ -44,7 +44,7 @@ curl = "0.4.46" curl-sys = "0.4.72" filetime = "0.2.23" flate2 = { version = "1.0.30", default-features = false, features = ["zlib"] } -git2 = "0.18.3" +git2 = { version = "0.18.3", default-features = false, features = ["https"] } git2-curl = "0.19.0" gix = { version = "0.63.0", default-features = false, features = ["blocking-http-transport-curl", "progress-tree", "revision", "parallel", "dirwalk"] } glob = "0.3.1" 0707010000000A000081A400000000000000000000000167184CE500000000000000000000000000000000000000000000003000000000rust-1729645797.d5dc6b9/rustc-1.80.0-src.tar.xz0707010000000B000081A400000000000000000000000167184CE500000321000000000000000000000000000000000000003400000000rust-1729645797.d5dc6b9/rustc-1.80.0-src.tar.xz.asc-----BEGIN PGP SIGNATURE----- wsFcBAABCgAQBQJmojj9CRCFq5bm+hvl/gAAbkUQAIW8jreyzqoDkufBTEXoqdls MX4UY4YVQD3wQezC3nTJGN85FU8WjpuaJomYNkKDGQKb9BI1+V+krBuIXgFEbHyl lcEvK4FNaxmYSaYwOhQE117bAKFFIdQsWe8tQ1kDE5hs6BhiHwsLbpPiSgplQqS3 0LwRUQrGIE3zS6q/yhC0TQdOlUb+VWbYvDbsSYi2uOFQaezqwwrHHOP/P0jR/G+h MHs2bRI14DDu55hrmIWoxdQUtIBoN4qCnkWX3HS1+TBu6n3kdvjKTq9kxfcFuXWq BA/ztQaJb7ip8RKlxPIWc5m1tqyAkhoOLwy5Wg0Sug47YZZdgDb847ingHIImRBr ks+ESJ4lej2jXPdCigNGO/1zRzPuJaWhl8URDgYPpdDFXclUzeNSJl/Bw1qUhe4a iiepiiI2/o3mDs3zxp7uoCCTLc4z5gb+eOmTTWKb4bT8p8b1pTlD3Ly9Ty3lLPMK M2BYSymUjb0FlQD2UA31/BZj5hvC1mRvb7//oz3y8NmqV2ca9lZIiv4w+AIkGj9g 1AK6iUQSfnBSFYt/Bdli7WKpKL529r75vT+9OlNSozH4gtMxIC1qpZMR8sczLI2z 2HfeVgQKkY9BowfdswlAGUskZ6zC/LvFvqbfNCwT7yf8WgfsGczAivg0ScJ3zFEo EIUfUQY5tpv4ynBo6TYH =xmER -----END PGP SIGNATURE----- 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!87 blocks
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2