SUMMARY="Modern and safe systems programming language" DESCRIPTION="Rust is a systems programming language that runs blazingly fast, \ prevents almost all crashes*, and eliminates data races." HOMEPAGE="https://www.rust-lang.org/" COPYRIGHT="2023 The Rust Project Developers" LICENSE="MIT" REVISION="1" case "$effectiveTargetArchitecture" in x86) SOURCE_URI="https://dl.rust-on-haiku.com/dist/$portVersion/rust-$portVersion-i686-unknown-haiku.tar.xz" CHECKSUM_SHA256="354d32037cd21308ee49568dfc3ef0013202f3ca527ac4e7759cb933b9bc80af" SOURCE_DIR="rust-$portVersion-i686-unknown-haiku" ;; x86_64) SOURCE_URI="https://dl.rust-on-haiku.com/dist/$portVersion/rust-$portVersion-x86_64-unknown-haiku.tar.xz" CHECKSUM_SHA256="5b98195a7ff872dfaffb344deb7fb75e296d961fe87e276c941cc557e4e468c3" SOURCE_DIR="rust-$portVersion-x86_64-unknown-haiku" ;; *) SOURCE_URI="https://dl.rust-on-haiku.com/dist/$portVersion/rustc-$portVersion-src.tar.xz" CHECKSUM_SHA256="82edb8acec7a0e314ca1ff7b9703d6eda82cd844fcce98eca842e3de24b3cba6" SOURCE_DIR="rustc-$portVersion-src" ;; esac ARCHITECTURES="!x86_gcc2 ?x86 x86_64" SECONDARY_ARCHITECTURES="x86" DISABLE_SOURCE_PACKAGE=yes cargoVersion="0.70.0" rustfmtVersion="1.5.2" clippyVersion="0.1.69" rlsVersion="2.0.0" PROVIDES=" rust_bin$secondaryArchSuffix = $portVersion cmd:rustc$secondaryArchSuffix = $portVersion cmd:rustdoc$secondaryArchSuffix = $portVersion cmd:rustfmt$secondaryArchSuffix = $portVersion cmd:rust_analyzer$secondaryArchSuffix = $portVersion cmd:rust_demangler$secondaryArchSuffix = $portVersion cmd:rust_gdb$secondaryArchSuffix = $portVersion cmd:rust_gdbgui$secondaryArchSuffix = $portVersion cmd:rust_lldb$secondaryArchSuffix = $portVersion cmd:cargo$secondaryArchSuffix = $cargoVersion cmd:cargo_clippy$secondaryArchSuffix = $clippyVersion cmd:cargo_fmt$secondaryArchSuffix = $cargoVersion cmd:clippy_driver$secondaryArchSuffix = $clippyVersion cmd:rls$secondaryArchSuffix = $rlsVersion " REQUIRES=" haiku$secondaryArchSuffix lib:libcrypto$secondaryArchSuffix lib:libcurl$secondaryArchSuffix lib:libssh2$secondaryArchSuffix lib:libssl$secondaryArchSuffix lib:libz$secondaryArchSuffix " CONFLICTS=" rust$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel " relativeInstallDir="develop/tools$secondaryArchSubDir/rust" installDir="$prefix/$relativeInstallDir" INSTALL() { ./install.sh \ --prefix=$installDir \ --docdir=$developDocDir \ --mandir=$manDir \ --sysconfdir=$dataDir \ --disable-ldconfig # move zsh data to the datadir mv $installDir/share/zsh $dataDir rm -rf $installDir/share # clean out unneccesary files created by the rust installer rm $installDir/lib/rustlib/components rm $installDir/lib/rustlib/install.log rm $installDir/lib/rustlib/manifest-* rm $installDir/lib/rustlib/rust-installer-version rm $installDir/lib/rustlib/uninstall.sh # link the binaries in $binDir mkdir -p $binDir for f in cargo cargo-clippy cargo-fmt clippy-driver rust-analyzer \ rust-demangler rust-gdb rust-gdbgui rust-lldb rustc rustdoc \ rustfmt rls; do symlinkRelative -sfn $installDir/bin/$f $binDir done # make sure runtime_loader can find the libraries in the lib dir relative # to the binaries symlinkRelative -sfn $installDir/lib $installDir/bin/lib }