1SUMMARY="Modern and safe systems programming language" 2DESCRIPTION="Rust is a systems programming language that runs blazingly fast, \ 3prevents almost all crashes*, and eliminates data races." 4HOMEPAGE="https://www.rust-lang.org/" 5COPYRIGHT="2024 The Rust Project Developers" 6LICENSE="MIT" 7REVISION="1" 8 9case "$effectiveTargetArchitecture" in 10 x86) 11SOURCE_URI="https://dl.rust-on-haiku.com/dist/$portVersion/rust-$portVersion-i686-unknown-haiku.tar.xz" 12CHECKSUM_SHA256="9e6572b608564f84a4f2384e491b35defe817acc689b7f25e24be6360da0485c" 13SOURCE_DIR="rust-$portVersion-i686-unknown-haiku" 14 ;; 15 x86_64) 16SOURCE_URI="https://dl.rust-on-haiku.com/dist/$portVersion/rust-$portVersion-x86_64-unknown-haiku.tar.xz" 17CHECKSUM_SHA256="6d41904e51b9b31adff70acace170bfca0dcc5a300823b046bb9ad14d56ba84a" 18SOURCE_DIR="rust-$portVersion-x86_64-unknown-haiku" 19 ;; 20esac 21 22ARCHITECTURES="!x86_gcc2 ?x86 x86_64" 23SECONDARY_ARCHITECTURES="x86" 24DISABLE_SOURCE_PACKAGE=yes 25 26cargoVersion="0.77.0" 27rustfmtVersion="1.7.0" 28clippyVersion="0.1.76" 29rlsVersion="2.0.0" 30 31PROVIDES=" 32 rust_bin$secondaryArchSuffix = $portVersion 33 cmd:rustc$secondaryArchSuffix = $portVersion 34 cmd:rustdoc$secondaryArchSuffix = $portVersion 35 cmd:rustfmt$secondaryArchSuffix = $portVersion 36 cmd:rust_analyzer$secondaryArchSuffix = $portVersion 37 cmd:rust_demangler$secondaryArchSuffix = $portVersion 38 cmd:rust_gdb$secondaryArchSuffix = $portVersion 39 cmd:rust_gdbgui$secondaryArchSuffix = $portVersion 40 cmd:rust_lldb$secondaryArchSuffix = $portVersion 41 cmd:cargo$secondaryArchSuffix = $cargoVersion 42 cmd:cargo_clippy$secondaryArchSuffix = $clippyVersion 43 cmd:cargo_fmt$secondaryArchSuffix = $cargoVersion 44 cmd:clippy_driver$secondaryArchSuffix = $clippyVersion 45 cmd:rls$secondaryArchSuffix = $rlsVersion 46 " 47REQUIRES=" 48 haiku$secondaryArchSuffix 49 lib:libcrypto$secondaryArchSuffix 50 lib:libssl$secondaryArchSuffix 51 lib:libz$secondaryArchSuffix 52 " 53CONFLICTS=" 54 rust$secondaryArchSuffix 55 " 56 57BUILD_REQUIRES=" 58 haiku${secondaryArchSuffix}_devel 59 " 60 61relativeInstallDir="develop/tools$secondaryArchSubDir/rust" 62installDir="$prefix/$relativeInstallDir" 63 64INSTALL() 65{ 66 ./install.sh \ 67 --prefix=$installDir \ 68 --docdir=$developDocDir \ 69 --mandir=$manDir \ 70 --sysconfdir=$dataDir \ 71 --disable-ldconfig 72 73 # move zsh data to the datadir 74 mv $installDir/share/zsh $dataDir 75 rm -rf $installDir/share 76 77 # clean out unneccesary files created by the rust installer 78 rm $installDir/lib/rustlib/components 79 rm $installDir/lib/rustlib/install.log 80 rm $installDir/lib/rustlib/manifest-* 81 rm $installDir/lib/rustlib/rust-installer-version 82 rm $installDir/lib/rustlib/uninstall.sh 83 84 # link the binaries in $binDir 85 mkdir -p $binDir 86 for f in cargo cargo-clippy cargo-fmt clippy-driver rust-analyzer \ 87 rust-demangler rust-gdb rust-gdbgui rust-lldb rustc rustdoc \ 88 rustfmt rls; do 89 symlinkRelative -sfn $installDir/bin/$f $binDir 90 done 91 92 # make sure runtime_loader can find the libraries in the lib dir relative 93 # to the binaries 94 symlinkRelative -sfn $installDir/lib $installDir/bin/lib 95} 96