File prepare_vendor.sh of Package tailwind-oxide
#!/bin/bash -eux
PKGDIR="$(pwd)"
TMPDIR="$(mktemp --tmpdir -d tailwind-XXXXXXXX)"
version=$(< ./*.spec grep ^Version: | sed -e 's/Version:\s*//g')
wget -nc https://github.com/tailwindlabs/tailwindcss/archive/refs/tags/v${version}.tar.gz
cd $TMPDIR
tar --gzip -xvvf ${PKGDIR}/v${version}.tar.gz
cd tailwindcss-${version}
mkdir -pv .cargo
cargo vendor-filterer --platform='*-unknown-linux-gnu' --platform='*-unknown-linux-gnueabihf' --all-features > .cargo/config
echo ">>>>>> Remove non-free binaries"
find . -type f -name "*.wasm" -print -delete
find . -type f -name "*.wasm.js" -print -delete
find . -type f -name "*.jar" -print -delete
find . -type f -name "*.exe" -print -delete
find . -type f -name "*.node" -print -delete
find . -type f -name "*.dll" -print -delete
find . -type f -name "*.dylib" -print -delete
find . -type f -name "*.so" -print -delete
find . -type f -name "*.o" -print -delete
find . -type f -name "*.a" -print -delete
#We use sponge to avoid a race condition between find and rm
find -type f | sponge | xargs -P$(nproc) -- sh -c 'file -S "$@" | grep -v '\'' .*script'\'' | grep '\'' .*executable'\'' | tee /dev/stderr | sed '\''s/: .*//'\'' | xargs rm -fv'
# Remove empty directories
echo ">>>>>> Remove empty directories"
find . -type d -empty -print -delete
echo ">>>>>> Create tarball"
ZSTD_CLEVEL=19 ZSTD_NBTHREADS=$(nproc) tar --zstd --sort=name -vvScf "${PKGDIR}/vendor.tar.zst" .cargo/config vendor