File prepare-emscripten-vendor.sh of Package nodejs-vscode-oniguruma
#!/bin/bash
# dnf install curl fdupes gzip moreutils tar
PKGDIR="$(pwd)"
TMPDIR="$(mktemp --tmpdir -d onig-XXXXXXXX)"
version=3.1.21
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'
fdupes -Sr .
export XZ_OPT="-T$(nproc) -e9 -vv"
cd ..
tar -vvcJf ${PKGDIR}/emscripten-vendor.tar.xz node_modules
cd /tmp
rm -rf "${TMPDIR}"