rust: fix build with llvm 17.0.1

This commit is contained in:
Luis
2023-09-20 19:37:56 +00:00
parent d8493e5a6c
commit a4f71c0d41
10 changed files with 39 additions and 431 deletions

View File

@@ -1,4 +1,4 @@
rust-1.72.1-1
rust-1.72.1-2
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/cargo
@@ -17,9 +17,9 @@ drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/rustfmt.old
drwxr-xr-x root/root usr/lib/
-rwxr-xr-x root/root usr/lib/cargo-credential-1password
-rw-r--r-- root/root usr/lib/librustc_driver-0e665214b8bafb76.so
-rw-r--r-- root/root usr/lib/libstd-0654a3d457767285.so
-rw-r--r-- root/root usr/lib/libtest-141aacba190e7f74.so
-rw-r--r-- root/root usr/lib/librustc_driver-7127900d867a4f3b.so
-rw-r--r-- root/root usr/lib/libstd-40b8ea7e4c513987.so
-rw-r--r-- root/root usr/lib/libtest-4672a9a02b858447.so
drwxr-xr-x root/root usr/lib/rustlib/
drwxr-xr-x root/root usr/lib/rustlib/etc/
-rw-r--r-- root/root usr/lib/rustlib/etc/gdb_load_rust_pretty_printers.py
@@ -37,34 +37,34 @@ drwxr-xr-x root/root usr/lib/rustlib/etc/
-rwxr-xr-x root/root usr/lib/rustlib/uninstall.sh
drwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/
drwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-faec09bc3a0ad855.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-12119cc4e0d1ad87.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-884264198163b68e.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-6b4a6dc7c92fec3c.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-58163ea1710ce8df.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-281813f585c3521d.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-b0b3eeec2de82c0a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-8b8d4307399155ed.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-2f6e98a4bd82bb9a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bebac9eaa3d53aaf.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-a9591af80470e916.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-4f1db59925075b4e.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-851fa5bb3ff9ceda.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-278882070ccb681f.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-ee5f1431388b67bd.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-97a86ea10d4cab6d.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-5b925c2d417fcada.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-df31b7f56fd22f74.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-9fec83ba1ec4be6e.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-8f9b0aa19d80a850.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0654a3d457767285.rlib
-rwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0654a3d457767285.so
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0d52c8f6fbe49568.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libsysroot-09a543b73c2021a9.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-141aacba190e7f74.rlib
-rwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-141aacba190e7f74.so
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-36f2e1ae65ebd5d6.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-6b360d41538687ca.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-8e04486b6fd741a9.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-17bb4a8e200f5b6a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-17955909aa33d0bf.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-01ebb2961ff1a9ed.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a8938e089e2fad7c.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-900fa8b2a2aa9ff7.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-45d73960610eddf5.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-342cccef60ae20e4.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-c0a0e5303a545785.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-37cff90ef399104b.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-f645fd02930c133a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-753a20066293ca4f.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-f5fd0985aaf96251.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-52a78a83c6245c91.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-73df9af1869ff40a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-2a13e727b4bc3671.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-9e4b4cda7f58d6c1.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-e05ace6fbfdfe525.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-dcca80d8cdd80b91.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-3e0dee13a12ad7da.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-40b8ea7e4c513987.rlib
-rwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-40b8ea7e4c513987.so
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-f5f0f8914a9e7cc4.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libsysroot-1434a7c4ea90c6e4.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-4672a9a02b858447.rlib
-rwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-4672a9a02b858447.so
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-373074f7281fab44.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f019e39cf0e200c8.rlib
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/bash-completion/
drwxr-xr-x root/root usr/share/bash-completion/completions/

View File

@@ -3,7 +3,7 @@
name=rust
version=1.72.1
release=1
release=2
_date=2023-07-13
_rust=1.71.0
_cargo=$_rust
@@ -73,6 +73,12 @@ EOF
export CARGO_HOME="$SRC/rust"
export RUST_BACKTRACE=1
# Adapt rustc to allow it to build and function with the changes in LLVM-17
sed 's/FS,/"", &/' \
-i ./compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp &&
sed '/LLVMContext.h/i#include "llvm/ADT/SmallString.h"' \
-i compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
{ [ ! -e /usr/include/libssh2.h ] || \
export LIBSSH2_SYS_USE_PKG_CONFIG=1; }
python3 ./x.py build

View File

@@ -1,8 +0,0 @@
e650e22565672241bc86cff013ff959d 0001-bootstrap-Change-libexec-dir.patch
153e87084d059604ff7d47ee236a8ad5 0001-cargo-Change-libexec-dir.patch
3713769b61540030e3d99962e36b3948 0002-bootstrap-Change-bash-completion-dir.patch
68947afb69e0652a3937540ba8adeb72 0003-compiler-Change-LLVM-targets.patch
8faabd7ff8eda2b6a8f0df6027c1c856 cargo-1.71.0-x86_64-unknown-linux-gnu.tar.xz
173fdf1db38bc794e308fe30312c40d2 rust-std-1.71.0-x86_64-unknown-linux-gnu.tar.xz
3edab6c77b68cffa1b7312d1ec710699 rustc-1.71.0-x86_64-unknown-linux-gnu.tar.xz
f83250908047be24860d40dd5f6ddd05 rustc-1.72.1-src.tar.xz

View File

@@ -1,114 +0,0 @@
rust-1.72.1-2
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/cargo
-rwxr-xr-x root/root usr/bin/cargo-clippy
-rwxr-xr-x root/root usr/bin/cargo-clippy.old
-rwxr-xr-x root/root usr/bin/cargo-fmt
-rwxr-xr-x root/root usr/bin/cargo-fmt.old
-rwxr-xr-x root/root usr/bin/clippy-driver
-rwxr-xr-x root/root usr/bin/clippy-driver.old
-rwxr-xr-x root/root usr/bin/rust-gdb
-rwxr-xr-x root/root usr/bin/rust-gdbgui
-rwxr-xr-x root/root usr/bin/rust-lldb
-rwxr-xr-x root/root usr/bin/rustc
-rwxr-xr-x root/root usr/bin/rustdoc
-rwxr-xr-x root/root usr/bin/rustfmt
-rwxr-xr-x root/root usr/bin/rustfmt.old
drwxr-xr-x root/root usr/lib/
-rwxr-xr-x root/root usr/lib/cargo-credential-1password
-rw-r--r-- root/root usr/lib/librustc_driver-7127900d867a4f3b.so
-rw-r--r-- root/root usr/lib/libstd-40b8ea7e4c513987.so
-rw-r--r-- root/root usr/lib/libtest-4672a9a02b858447.so
drwxr-xr-x root/root usr/lib/rustlib/
drwxr-xr-x root/root usr/lib/rustlib/etc/
-rw-r--r-- root/root usr/lib/rustlib/etc/gdb_load_rust_pretty_printers.py
-rw-r--r-- root/root usr/lib/rustlib/etc/gdb_lookup.py
-rw-r--r-- root/root usr/lib/rustlib/etc/gdb_providers.py
-rw-r--r-- root/root usr/lib/rustlib/etc/lldb_commands
-rw-r--r-- root/root usr/lib/rustlib/etc/lldb_lookup.py
-rw-r--r-- root/root usr/lib/rustlib/etc/lldb_providers.py
-rw-r--r-- root/root usr/lib/rustlib/etc/rust_types.py
-rw-r--r-- root/root usr/lib/rustlib/install.log
-rw-r--r-- root/root usr/lib/rustlib/manifest-cargo
-rw-r--r-- root/root usr/lib/rustlib/manifest-clippy-preview
-rw-r--r-- root/root usr/lib/rustlib/manifest-rust-std-x86_64-unknown-linux-gnu
-rw-r--r-- root/root usr/lib/rustlib/manifest-rustfmt-preview
-rwxr-xr-x root/root usr/lib/rustlib/uninstall.sh
drwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/
drwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-8e04486b6fd741a9.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-17bb4a8e200f5b6a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-17955909aa33d0bf.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-01ebb2961ff1a9ed.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a8938e089e2fad7c.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-900fa8b2a2aa9ff7.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-45d73960610eddf5.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-342cccef60ae20e4.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-c0a0e5303a545785.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-37cff90ef399104b.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-f645fd02930c133a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-753a20066293ca4f.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-f5fd0985aaf96251.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-52a78a83c6245c91.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-73df9af1869ff40a.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libproc_macro-2a13e727b4bc3671.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-9e4b4cda7f58d6c1.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-e05ace6fbfdfe525.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-dcca80d8cdd80b91.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-3e0dee13a12ad7da.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-40b8ea7e4c513987.rlib
-rwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-40b8ea7e4c513987.so
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-f5f0f8914a9e7cc4.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libsysroot-1434a7c4ea90c6e4.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-4672a9a02b858447.rlib
-rwxr-xr-x root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-4672a9a02b858447.so
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-373074f7281fab44.rlib
-rw-r--r-- root/root usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f019e39cf0e200c8.rlib
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/bash-completion/
drwxr-xr-x root/root usr/share/bash-completion/completions/
-rw-r--r-- root/root usr/share/bash-completion/completions/cargo
drwxr-xr-x root/root usr/share/man/
drwxr-xr-x root/root usr/share/man/man1/
-rw-r--r-- root/root usr/share/man/man1/cargo-add.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-bench.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-build.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-check.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-clean.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-doc.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-fetch.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-fix.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-generate-lockfile.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-help.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-init.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-install.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-locate-project.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-login.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-logout.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-metadata.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-new.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-owner.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-package.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-pkgid.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-publish.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-remove.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-report.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-run.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-rustc.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-rustdoc.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-search.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-test.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-tree.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-uninstall.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-update.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-vendor.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-verify-project.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-version.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo-yank.1.gz
-rw-r--r-- root/root usr/share/man/man1/cargo.1.gz
-rw-r--r-- root/root usr/share/man/man1/rustc.1.gz
-rw-r--r-- root/root usr/share/man/man1/rustdoc.1.gz
drwxr-xr-x root/root usr/share/zsh/
drwxr-xr-x root/root usr/share/zsh/site-functions/
-rw-r--r-- root/root usr/share/zsh/site-functions/_cargo

View File

@@ -1,45 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Thu, 6 May 2021 20:14:58 +0200
Subject: [PATCH] bootstrap: Change libexec dir
---
src/bootstrap/dist.rs | 4 ++--
src/bootstrap/tool.rs | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index b34a4b2dc63b..be5ecfda261a 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -420,7 +420,7 @@ fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) {
},
builder.kind,
) {
- builder.install(&ra_proc_macro_srv, &image.join("libexec"), 0o755);
+ builder.install(&ra_proc_macro_srv, &image.join("lib"), 0o755);
}
let libdir_relative = builder.libdir_relative(compiler);
@@ -1081,7 +1081,7 @@ fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
for dirent in fs::read_dir(cargo.parent().unwrap()).expect("read_dir") {
let dirent = dirent.expect("read dir entry");
if dirent.file_name().to_str().expect("utf8").starts_with("cargo-credential-") {
- tarball.add_file(&dirent.path(), "libexec", 0o755);
+ tarball.add_file(&dirent.path(), "lib", 0o755);
}
}
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
index 06c031788629..b7ca91a28157 100644
--- a/src/bootstrap/tool.rs
+++ b/src/bootstrap/tool.rs
@@ -719,7 +719,7 @@ fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
// Copy `rust-analyzer-proc-macro-srv` to `<sysroot>/libexec/`
// so that r-a can use it.
- let libexec_path = builder.sysroot(self.compiler).join("libexec");
+ let libexec_path = builder.sysroot(self.compiler).join("lib");
t!(fs::create_dir_all(&libexec_path));
builder.copy(&path, &libexec_path.join("rust-analyzer-proc-macro-srv"));

View File

@@ -1,22 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Thu, 6 May 2021 20:13:31 +0200
Subject: [PATCH] cargo: Change libexec dir
---
src/cargo/util/auth/mod.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cargo/util/auth/mod.rs b/src/cargo/util/auth/mod.rs
index 58309964f493..f621e1d643c4 100644
--- a/src/cargo/util/auth/mod.rs
+++ b/src/cargo/util/auth/mod.rs
@@ -711,7 +711,7 @@ fn sysroot_credential(
.parent()
.and_then(|p| p.parent())
.ok_or_else(|| format_err!("expected cargo path {}", cargo.display()))?;
- let exe = root.join("libexec").join(format!(
+ let exe = root.join("lib").join(format!(
"cargo-credential-{}{}",
cred_name,
std::env::consts::EXE_SUFFIX

View File

@@ -1,26 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Thu, 13 Jul 2023 21:16:53 +0200
Subject: [PATCH] bootstrap: Change bash-completion dir
---
src/bootstrap/dist.rs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index be5ecfda261a..7ab950067eb4 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -1074,7 +1074,11 @@ fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
tarball.add_file(&cargo, "bin", 0o755);
tarball.add_file(etc.join("_cargo"), "share/zsh/site-functions", 0o644);
- tarball.add_renamed_file(etc.join("cargo.bashcomp.sh"), "etc/bash_completion.d", "cargo");
+ tarball.add_renamed_file(
+ etc.join("cargo.bashcomp.sh"),
+ "share/bash-completion/completions",
+ "cargo",
+ );
tarball.add_dir(etc.join("man"), "share/man/man1");
tarball.add_legal_and_readme_to("share/doc/cargo");

View File

@@ -1,84 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Fri, 12 Mar 2021 17:31:56 +0100
Subject: [PATCH] compiler: Change LLVM targets
- Change x86_64-unknown-linux-gnu to use x86_64-pc-linux-gnu
- Change i686-unknown-linux-gnu to use i686-pc-linux-gnu
Reintroduce the aliasing that was removed in 1.52.0 and alias the -pc-
triples to the -unknown- triples. This avoids defining proper -pc-
targets, as things break when this is done:
- The crate ecosystem expects the -unknown- targets. Making -pc-
rustc's host triple (and thus default target) would break various
crates.
- Firefox's build breaks when the host triple (from
`rustc --version --verbose`) is different from the target triple
(from `rustc --print target-list`) that best matches autoconf.
---
compiler/rustc_session/src/config.rs | 2 +-
compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs | 2 +-
compiler/rustc_target/src/spec/mod.rs | 9 +++++++++
.../rustc_target/src/spec/x86_64_unknown_linux_gnu.rs | 2 +-
4 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs
index f97cb3440d25..e96a8749823a 100644
--- a/compiler/rustc_session/src/config.rs
+++ b/compiler/rustc_session/src/config.rs
@@ -2169,7 +2169,7 @@ pub fn parse_target_triple(
handler.early_error(format!("target file {path:?} does not exist"))
})
}
- Some(target) => TargetTriple::TargetTriple(target),
+ Some(target) => TargetTriple::from_alias(target),
_ => TargetTriple::from_triple(host_triple()),
}
}
diff --git a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
index 73e536a7e4d9..af48d437533c 100644
--- a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
@@ -9,7 +9,7 @@ pub fn target() -> Target {
base.stack_probes = StackProbeType::X86;
Target {
- llvm_target: "i686-unknown-linux-gnu".into(),
+ llvm_target: "i686-pc-linux-gnu".into(),
pointer_width: 32,
data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
f64:32:64-f80:32-n8:16:32-S128"
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
index 2365dfaf1af8..7e92928d214d 100644
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -3205,6 +3205,15 @@ pub fn from_path(path: &Path) -> Result<Self, io::Error> {
Ok(TargetTriple::TargetJson { path_for_rustdoc: canonicalized_path, triple, contents })
}
+ /// Creates a target triple from its alias
+ pub fn from_alias(triple: String) -> Self {
+ match triple.as_str() {
+ "x86_64-pc-linux-gnu" => TargetTriple::from_triple("x86_64-unknown-linux-gnu"),
+ "i686-pc-linux-gnu" => TargetTriple::from_triple("i686-unknown-linux-gnu"),
+ _ => TargetTriple::TargetTriple(triple),
+ }
+ }
+
/// Returns a string triple for this target.
///
/// If this target is a path, the file name (without extension) is returned.
diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs
index 2f970f87cc64..f8a5eec3ad6c 100644
--- a/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/x86_64_unknown_linux_gnu.rs
@@ -17,7 +17,7 @@ pub fn target() -> Target {
base.supports_xray = true;
Target {
- llvm_target: "x86_64-unknown-linux-gnu".into(),
+ llvm_target: "x86_64-pc-linux-gnu".into(),
pointer_width: 64,
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
.into(),

View File

@@ -1,92 +0,0 @@
# description : The Rust programming language is designed to be a safe, concurrent, practical language
# depends : curl cmake python3 llvm libssh2
name=rust
version=1.72.1
release=2
_date=2023-07-13
_rust=1.71.0
_cargo=$_rust
_triplet=x86_64-unknown-linux-gnu
source="https://static.rust-lang.org/dist/rustc-$version-src.tar.xz
https://static.rust-lang.org/dist/$_date/rust-std-$_rust-$_triplet.tar.xz
https://static.rust-lang.org/dist/$_date/rustc-$_rust-$_triplet.tar.xz
https://static.rust-lang.org/dist/$_date/cargo-$_cargo-$_triplet.tar.xz
0001-bootstrap-Change-libexec-dir.patch
0001-cargo-Change-libexec-dir.patch
0002-bootstrap-Change-bash-completion-dir.patch
0003-compiler-Change-LLVM-targets.patch"
noextract="rust-std-$_rust-$_triplet.tar.xz
rustc-$_rust-$_triplet.tar.xz
cargo-$_cargo-$_triplet.tar.xz"
options="!emptydirs !strip"
build() {
cd rustc-$version-src
# Patch bootstrap and cargo so credential helpers
# are in /usr/lib instead of /usr/libexec
patch -d src/tools/cargo -Np1 < ../0001-cargo-Change-libexec-dir.patch
patch -Np1 -i ../0001-bootstrap-Change-libexec-dir.patch
# Put bash completions where they belong
patch -Np1 -i ../0002-bootstrap-Change-bash-completion-dir.patch
# Use our *-pc-linux-gnu targets, making LTO with clang simpler
patch -Np1 -i ../0003-compiler-Change-LLVM-targets.patch
mkdir -p build/cache/$_date
cp $SRC/rust-std-$_rust-$_triplet.tar.xz build/cache/$_date/
cp $SRC/rustc-$_rust-$_triplet.tar.xz build/cache/$_date/
cp $SRC/cargo-$_cargo-$_triplet.tar.xz build/cache/$_date/
cat << EOF > config.toml
[llvm]
targets = "X86"
link-shared = true
[build]
docs = false
extended = true
locked-deps = true
vendor = true
python = "/usr/bin/python3"
tools = ["cargo", "clippy", "rustdoc", "rustfmt"]
[install]
prefix = "/usr"
[rust]
description = "Venom"
channel = "stable"
[target.$_triplet]
llvm-config = "/usr/bin/llvm-config"
EOF
mkdir "$SRC/rust"
export CARGO_HOME="$SRC/rust"
export RUST_BACKTRACE=1
# Adapt rustc to allow it to build and function with the changes in LLVM-17
sed 's/FS,/"", &/' \
-i ./compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp &&
sed '/LLVMContext.h/i#include "llvm/ADT/SmallString.h"' \
-i compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
{ [ ! -e /usr/include/libssh2.h ] || \
export LIBSSH2_SYS_USE_PKG_CONFIG=1; }
python3 ./x.py build
DESTDIR=$PKG python3 ./x.py install -v
rm -rf $PKG/usr/lib/rustlib/components
rm -rf $PKG/usr/lib/rustlib/manifest-rustc
rm -rf $PKG/usr/lib/rustlib/rust-installer-version
rm -rf $PKG/etc
}

View File

@@ -1,7 +0,0 @@
url=https://www.rust-lang.org/
port_getver() {
fetch \
| grep Version \
| sed 's/.*Version //;s/<.*//'
}