| #!/bin/bash | |
| set -ex | |
| hide_output() { | |
| set +x | |
| on_err=" | |
| echo ERROR: An error was encountered with the build. | |
| cat /tmp/zstd_build.log | |
| exit 1 | |
| " | |
| trap "$on_err" ERR | |
| bash -c "while true; do sleep 30; echo \$(date) - building ...; done" & | |
| PING_LOOP_PID=$! | |
| "$@" &> /tmp/zstd_build.log | |
| trap - ERR | |
| kill $PING_LOOP_PID | |
| rm /tmp/zstd_build.log | |
| set -x | |
| } | |
| ZSTD=1.5.6 | |
| curl -L https://github.com/facebook/zstd/releases/download/v$ZSTD/zstd-$ZSTD.tar.gz | tar xzf - | |
| cd zstd-$ZSTD | |
| CFLAGS=-fPIC hide_output make -j$(nproc) VERBOSE=1 | |
| hide_output make install | |
| # It doesn't seem to be possible to move destination directory | |
| # of the `make install` above. We thus copy the built artifacts | |
| # manually to our custom rustroot, so that it can be found through | |
| # LD_LIBRARY_PATH. | |
| cp /usr/local/lib/libzstd* /rustroot/lib64 | |
| cd .. | |
| rm -rf zstd-$ZSTD |