🔒 Repository is read-only – file editing is disabled.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
pkgname: rustc
pkgver: '1.96.0'
pkgrel: '1'
pkgdesc: The Rust programming language is designed to be a safe, concurrent, practical language.
url: 'https://static.rust-lang.org/'
arch: x86_64
depends: []
makedepends:
- make-ca
- cmake
- curl
- llvm
- python
- libssh2
- libffi
- zlib
source:
- 'https://static.rust-lang.org/dist/${pkgname}-${pkgver}-src.tar.xz'
- 'https://github.com/lfs-book/rust-openssl/archive/v0.10.78/rust-openssl-0.10.78.tar.gz'
sha256sums:
- SKIP
- b90991946153cbfce5202ab974c49ba07f455c21ec32e02863e80bab48f85a3d
build: |
cd ${pkgname}-${pkgver}
mv ../rust-openssl-0.10.78 .
cat >> src/tools/cargo/Cargo.toml << EOF
[patch.crates-io]
openssl = { path = "../../../rust-openssl-0.10.78/openssl" }
openssl-sys = { path = "../../../rust-openssl-0.10.78/openssl-sys" }
EOF
sed -ri src/tools/cargo/Cargo.lock \
-e '/name = "openssl-sys"/,/^$/{/source|checksum/d;s/0.9.112/0.9.114/}' \
-e '/name = "openssl"/,/^$/{/source|checksum/d;s/0.10.76/0.10.78/}' \
-e '/name = "openssl-macros"/,/^$/{/source|checksum/d}'
export MAKEFLAGS=-j15
cat <<EOF > config.toml
# Tell x.py the editors have reviewed the content of this file
# and updated it to follow the major changes of the building system,
# so x.py will not warn us to do such a review.
change-id = 140732
# see src/bootstrap/config.toml.example for more possible options
[llvm]
# by default, rust will build for a myriad of architectures
targets = "X86"
# When using system llvm prefer shared libraries
link-shared = true
# Do not download pre-built LLVM, instead either use the system
# LLVM or build LLVM from the shipped source.
download-ci-llvm = false
[build]
# omit HTML docs to save time and space (comment this to build them)
docs = false
# install cargo as well as rust
extended = true
# Do not query new versions of dependencies online.
locked-deps = true
# Specify which extended tools (those from the default install).
tools = ["cargo", "clippy", "rustfmt"]
# Use the source code shipped in the tarball for the dependencies.
# The combination of this and the "locked-deps" entry avoids downloading
# many crates from Internet, and makes the Rustc build more stable.
vendor = true
[install]
prefix = "/usr"
docdir = "share/doc/rustc"
[rust]
channel = "stable"
rpath = false
use-lld = false
# BLFS does not install the FileCheck executable from llvm,
# so disable codegen tests
codegen-tests = false
# Don't download compiler components from the upstream CI:
# it's only intended for developers working on standard library
# and tools, and it only works with the Rust Git repository.
download-rustc = false
# Don't build lld which does not belong to this package and seems not
# so useful for BLFS. Even if it turns out to be really useful we'd build
# it as a part of the LLVM package instead.
lld = false
[target.x86_64-unknown-linux-gnu]
# NB the output of llvm-config (i.e. help options) may be
# dumped to the screen when config.toml is parsed.
llvm-config = "/usr/bin/llvm-config"
[target.i686-unknown-linux-gnu]
# NB the output of llvm-config (i.e. help options) may be
# dumped to the screen when config.toml is parsed.
llvm-config = "/usr/bin/llvm-config"
EOF
export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi"
export LD_LIBRARY_PATH="$(pwd)/build/x86_64-unknown-linux-gnu/stage0/lib:$LD_LIBRARY_PATH"
python3 ./x.py build --exclude src/tools/miri
export LIBSSH2_SYS_USE_PKG_CONFIG=1
DESTDIR=${PKGDIR} python3 ./x.py install
rm -rfv ${PKGDIR}/tmp
package: |
true