new blfs: dev-lang/rust-1.89.0
This commit is contained in:
131
dev-lang/rust-1.89.0.PKGBUILD
Normal file
131
dev-lang/rust-1.89.0.PKGBUILD
Normal file
@@ -0,0 +1,131 @@
|
||||
pkgname=rust
|
||||
pkgver=1.89.0
|
||||
pkgdesc="Systems programming language focused on safety, speed and concurrency"
|
||||
homepage=https://www.rust-lang.org/
|
||||
arch=(x86_64)
|
||||
license=("Apache-2.0 OR MIT")
|
||||
sources=("rustc-${pkgver}-src.tar.xz")
|
||||
urls=("https://static.rust-lang.org/dist/${sources[0]}")
|
||||
md5sums=("982f087479302e6d91432efc81852b00")
|
||||
|
||||
src_prepare() {
|
||||
tar -xf ${distdir}/${sources[0]} --strip-components=1
|
||||
local clangdir
|
||||
clangdir="$(clang -print-resource-dir)"
|
||||
cat << EOF > bootstrap.toml
|
||||
# See bootstrap.toml.example for more possible options,
|
||||
# and see src/bootstrap/defaults/bootstrap.dist.toml for a few options
|
||||
# automatically set when building from a release tarball
|
||||
# (unfortunately, we have to override many of them).
|
||||
|
||||
# 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 = 142379
|
||||
|
||||
profile = "dist"
|
||||
|
||||
[llvm]
|
||||
#from gentoo
|
||||
download-ci-llvm = false
|
||||
optimize = true
|
||||
release-debuginfo = false
|
||||
|
||||
# When using system llvm prefer shared libraries
|
||||
link-shared = true
|
||||
|
||||
# If building the shipped LLVM source, only enable the x86 target
|
||||
# instead of all the targets supported by LLVM.
|
||||
targets = "X86"
|
||||
|
||||
[build]
|
||||
description = "LFS 12.4-systemd ${pkgname}-${pkgver}"
|
||||
|
||||
# Omit docs to save time and space (default is to build them).
|
||||
docs = false
|
||||
|
||||
# Do not query new versions of dependencies online.
|
||||
locked-deps = true
|
||||
|
||||
# Specify which extended tools (those from the default install).
|
||||
tools = ["cargo", "clippy", "rustdoc", "rustfmt"]
|
||||
|
||||
sanitizers = true
|
||||
profiler = true
|
||||
|
||||
|
||||
[install]
|
||||
prefix = "/usr"
|
||||
|
||||
[rust]
|
||||
channel = "stable"
|
||||
|
||||
# Enable the same optimizations as the official upstream build.
|
||||
lto = "thin"
|
||||
codegen-units = 1
|
||||
|
||||
# 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
|
||||
|
||||
# Don't build llvm-bitcode-linker which is only useful for the NVPTX
|
||||
# backend that we don't enable.
|
||||
llvm-bitcode-linker = false
|
||||
|
||||
[dist]
|
||||
compression-formats = ["gz"]
|
||||
compression-profile = "fast"
|
||||
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
cc = "/usr/bin/gcc"
|
||||
cxx = "/usr/bin/g++"
|
||||
ar = "/usr/bin/gcc-ar"
|
||||
ranlib = "/usr/bin/gcc-ranlib"
|
||||
llvm-config = "/usr/bin/llvm-config"
|
||||
#optimized-compiler-builtins = "$clangdir/lib/linux/libclang_rt.builtins-x86_64.a"
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
src_build() {
|
||||
leaf_clear_flags
|
||||
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
|
||||
./x.py build
|
||||
}
|
||||
|
||||
src_check() {
|
||||
leaf_record_message "Some tests are known to fail. See BLFS handbook."
|
||||
set +e
|
||||
./x.py test --verbose --no-fail-fast | tee rustc-testlog
|
||||
local -a ps=( "${PIPESTATUS[@]}" )
|
||||
local rc="${ps[0]}"
|
||||
grep '^test result:' rustc-testlog | awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }'
|
||||
set -e
|
||||
return "$rc"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
|
||||
DESTDIR="${pkgdir}" python ./x.py install -j "${PARALLEL_JOBS}"
|
||||
|
||||
cd "${pkgdir}"
|
||||
rm -v usr/lib/rustlib/{components,install.log,rust-installer-version,uninstall.sh}
|
||||
rm -v usr/lib/rustlib/manifest-*
|
||||
|
||||
install -dm755 usr/share/bash-completion/completions
|
||||
mv -v etc/bash_completion.d/cargo usr/share/bash-completion/completions
|
||||
rm -rfv etc/
|
||||
|
||||
# licenses for main rust package
|
||||
local ldir="usr/share/licenses/rust" f d
|
||||
mkdir -p "$ldir"
|
||||
for f in usr/share/doc/*/{COPYRIGHT,LICENSE}*; do
|
||||
d="$(dirname "$f")"
|
||||
case $f in
|
||||
*/LICENSE-APACHE) rm -v "$f" ;;
|
||||
*) mv -v "$f" "$ldir/${f##*/}.${d##*/}" ;;
|
||||
esac
|
||||
rmdir -p --ignore-fail-on-non-empty "$d"
|
||||
done
|
||||
}
|
||||
Reference in New Issue
Block a user