#!/bin/sh

tce-load -i compiletc cmake curl-dev libssh2-dev clang llvm-dev python3.11

#*** will not compile in 4gb ram ***
#*** needs 4gb swap file ***

#https://static.rust-lang.org/dist/rustc-1.69.0-src.tar.gz

cd rustc-1.69.0-src

#Patches to fix installation errors
patch -p1 < ../109256.patch
patch -p1 < ../110906.patch

case $(uname -m) in
	arm*)
		cp ../config.toml.armhf ./config.toml
	;;
	aarch64)
		cp ../config.toml.aarch64 ./config.toml
	;;
esac

sudo cp /tmp/tcloop/llvm15-dev/usr/local/bin/llvm-config /usr/local/bin

export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi"
export SSL_CERT_FILE=/usr/local/etc/ssl/certs/ca-certificates.crt
export LIBSSH2_SYS_USE_PKG_CONFIG=1

python3 ./x.py build --exclude src/tools/miri 
#[[5:41:42]

DESTDIR=/tmp/packing-rust/install python3 ./x.py install 
# [0:15:28]
unset LIBSSH2_SYS_USE_PKG_CONFIG

cd /tmp/packing-rust

# remove doc man
rm -fr ./usr/local/share/[dm][oa][cn]

find -type f -exec file {} ';' > /tmp/file.info

grep 'current ar archive' /tmp/file.info | cut -d : -f 1 | xargs llvm-strip --strip-debug

grep ELF /tmp/file.info | cut -d : -f 1 | xargs llvm-strip --strip-unneeded

#remove bash completion
#rm -rf install/etc

# Adjust directory access rigths
find /tmp/packing-rust -type d | sudo xargs chmod -v 755

EXTNAM=rust
find * -not -type d > ../$EXTNAM.tcz.list
cd ..
mksquashfs packing-rust $EXTNAM.tcz
# Create md5 file
md5sum $EXTNAM.tcz > $EXTNAM.tcz.md5.txt
cd packing-rust
# Cleanup temp directory
#rm -r -f install

