File prepare-emscripten-vendor.sh of Package nodejs-vscode-tree-sitter-wasm

#!/bin/bash

# dnf install curl fdupes gzip moreutils tar

PKGDIR="$(pwd)"
TMPDIR="$(mktemp --tmpdir -d emscripten-XXXXXXXX)"

version=3.1.64

wget -nc  https://github.com/emscripten-core/emscripten/archive/refs/tags/${version}/emscripten-${version}.tar.gz
cd $TMPDIR

tar --gzip -xvvf ${PKGDIR}/emscripten-${version}.tar.gz

cd emscripten-${version}

npm install --ignore-scripts --verbose

cd node_modules
echo ">>>>>> Remove non-free binaries"

find . -type f -name "*.jar" -print -delete
find . -type f -name "*.pyc" -print -delete
find . -type f -name "*.pyd" -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 "$@" | grep -v '\'' .*script'\'' | grep '\'' .*executable'\'' | tee /dev/stderr | sed '\''s/: .*//'\'' | xargs rm -fv'



cd ..
ZSTD_CLEVEL=19 ZSTD_NBTHREADS=$(nproc) tar --zstd --sort=name -vvScf  ${PKGDIR}/emscripten-vendor.tar.zst node_modules



cd /tmp
rm -rf "${TMPDIR}"
openSUSE Build Service is sponsored by