blob: 7fbb4033898569086402bc3801b842f7d4938b2a (
plain) (
tree)
|
|
#!/bin/mkpkg
# description: Rust programming language
# url: https://www.rust-lang.org/
name=rust
version=1.94.1
_bootstrap=1.93.0
_date=2026-01-22
release=1
depends=(llvm)
makedeps=(cmake ninja python3 gcc-compat)
source=(
https://static.rust-lang.org/dist/rustc-$version-src.tar.xz
https://static.rust-lang.org/dist/$_date/rust-std-$_bootstrap-x86_64-unknown-linux-musl.tar.xz
https://static.rust-lang.org/dist/$_date/rustc-$_bootstrap-x86_64-unknown-linux-musl.tar.xz
https://static.rust-lang.org/dist/$_date/cargo-$_bootstrap-x86_64-unknown-linux-musl.tar.xz
system.diff
musl-no-crt-static.patch
)
sha256sums=(
"174fce10ce012317ca995810296d8af199318838180b03d68a853e0f02d4b571"
"874658d2ced1ed2b9bf66c148b78a2e10cad475d0a4db32e68a08900905b89b8"
"24a59e5c6807b07202d4c8021f505d46aa6504897d0c8e7ecba2b5f0f221afd8"
"1eee0f6752a31430dc7cf16718de55ef7ad45882cc4c05fa97f1ef280af61135"
"fdfd2b449aacd417921359db8bb3eb66944313485c72fde0a942230f2b19f55e"
"8b7d3beb08cc22a4477b238eff22d91b249ea4c5344911f6fc3c279342538e35"
)
extract() {
cp system.diff $SRC/
cp musl-no-crt-static.patch $SRC/
tar -xf $PKGMK_SOURCE_DIR/rustc-$version-src.tar.xz -C $SRC
mkdir -p $SRC/rustc-$version-src/build/cache/$_date
cp rust-std-$_bootstrap-x86_64-unknown-linux-musl.tar.xz $SRC/rustc-$version-src/build/cache/$_date/
cp rustc-$_bootstrap-x86_64-unknown-linux-musl.tar.xz $SRC/rustc-$version-src/build/cache/$_date/
cp cargo-$_bootstrap-x86_64-unknown-linux-musl.tar.xz $SRC/rustc-$version-src/build/cache/$_date/
}
build() {
cd rustc-$version-src
# Remove musl self-contained CRT handling and musl-root requirement
# (adapted from arachsys: use system CRT objects directly)
patch -p1 -i $SRC/system.diff
patch -p1 -i $SRC/musl-no-crt-static.patch
cat > bootstrap.toml <<EOF
change-id = 148795
[llvm]
link-shared = true
use-libcxx = true
static-libstdcpp = false
[build]
build = "x86_64-unknown-linux-musl"
host = ["x86_64-unknown-linux-musl"]
target = ["x86_64-unknown-linux-musl"]
docs = false
extended = true
tools = ["cargo", "rustfmt", "clippy", "rust-analyzer"]
vendor = true
[install]
prefix = "/usr"
[rust]
channel = "stable"
codegen-units = 1
lto = "thin"
llvm-libunwind = "system"
[target.x86_64-unknown-linux-musl]
llvm-config = "/usr/bin/llvm-config"
crt-static = false
cc = "clang"
cxx = "clang++"
ar = "llvm-ar"
ranlib = "llvm-ranlib"
linker = "clang"
rustflags = ["-C", "link-arg=-lunwind"]
EOF
python3 x.py build
DESTDIR=$PKG python3 x.py install
rm -rf $PKG/usr/share/doc
rm -f $PKG/usr/lib/rustlib/install.log
rm -f $PKG/usr/lib/rustlib/uninstall.sh
rm -f $PKG/usr/lib/rustlib/manifest-*
rm -f $PKG/usr/lib/rustlib/components
rm -f $PKG/usr/lib/rustlib/rust-installer-version
}
signify() {
untrusted comment: public key
RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
}
# vim: filetype=sh
|