stargazing/notwa-util/doit9

129 lines
4.9 KiB
Bash
Executable File

#!/usr/bin/env sh
if ! [ -d /vagrant ]; then
printf '%s\n' 'THIS FILE IS ONLY MEANT TO BE RUN BY VAGRANT.' >&2
exit 78 # EX_CONFIG
fi
# NOTE: Please consider this post documenting some pitfalls of set -e:
# https://gist.github.com/notwa/5b8dda28e571b27638fb33e08dc1ba21
# set -e
# don't leak local IPs (i'm sure it's fine though)
unset SSH_CLIENT SSH_CONNECTION
# NOTE: this is the last version based around gcc 9.2:
# COSMO_COMMIT=682b74ed883d1d6f9aa23179af841d9971c23e4d \
# COSMO_SHA256=71dace03135ac2b97384021a37df5871572cf34524efb5a21812e115dca15b1b \
# versions thereafter are based around gcc 11.2 or later.
export \
BUSYBOX_SHA256=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 \
BUSYBOX_VERSION=1.36.1 \
COSMO_COMMIT=682b74ed883d1d6f9aa23179af841d9971c23e4d \
COSMO_FLAVOR=fastbuild \
COSMO_SHA256=71dace03135ac2b97384021a37df5871572cf34524efb5a21812e115dca15b1b \
ENDLESSH_COMMIT=dfe44eb2c5b6fc3c48a39ed826fe0e4459cdf6ef \
ENDLESSH_SHA256=c8989988af0a8c848d1a4979962f008c504a12ed6fe6a12e032c37feaa0ae5f8 \
GMP_SHA256=fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 \
GMP_VERSION=6.2.1 \
HEATSHRINK_COMMIT=7d419e1fa4830d0b919b9b6a91fe2fb786cf3280 \
HEATSHRINK_SHA256=b18a1b7ad6f51eac7ac1a81ca072703bd21d6d8727c05cd505843643705af65d \
KISSAT_COMMIT=315cd3227fd2321d29d10f7d8572011bf00174a5 \
KISSAT_SHA256=031fca7efcb17c6f1921dd056052bd373de724e445fc2ed37bfdd5954148119f \
KUROKO_COMMIT=b88267c8289c4eeea3d0219d43193a9a5fd9982b \
KUROKO_SHA256=52e22c2e701f58cef635f0df3faaa0734ae85dd656417aaaae01226a3a7725d3 \
LR_COMMIT=5af9b79e4ecd07a600ded1a801023536cde97f95 \
LR_SHA256=3901287cdcf09d0d8f77f8aaa19ca24e9a873d904e201ab8e7bf102426607dcc \
MUON_COMMIT=6cdf084804fb8262a7f29ac9e9b614472b62b8a3 \
MUON_SHA256=60b37463fbeb757dd595f50d03116a7f9fe1e727d2852369de0052008e696e2b \
SELFIE_COMMIT=9d5cf9caac9b00ac48b96c527ddda6c550f652fa \
SELFIE_SHA256=5ea9e9cd7df6e6e67e3757cd8483e8e653fa4d7469275f3fdf89483c2744d4a9 \
XE_COMMIT=8a2a4899769335bc14c62aef12cdf26f2f487f2a \
XE_SHA256=f1ac997912c9be92a74a67a766dde74d1f9b6b20e48d7c7e71598ad4b787b37d \
YICES_COMMIT=36cee66d04de90da35fab6131bebdc45b6d74342 \
YICES_SHA256=f6bbfa30c38c17401fb651a06d935bec87af732ffeea3fa0db7dd22b1916e374 \
;
if [ ! -e /notwa-util.done ]; then
: \
&& cd /vagrant/notwa-util \
&& install -p -m 0755 -t /usr/local/bin/ acquire cosmocc dedupe ofc quickconf shed \
&& touch /notwa-util.done \
|| exit $?
fi
. /vagrant/notwa-util/cosmopolitan-bootstrap9 || exit $?
. /vagrant/notwa-util/cosmopolitan9 || exit $?
cd /root/cosmopolitan && . ./env || exit $?
export COSMO COSMO_DIST
. /vagrant/notwa-util/cosmopolitan-install9 || exit $?
cd /root && export PATH="$COSMO/bin:$COSMO/gcc/bin:$PATH" || exit $?
unset V COLUMNS TMPDIR
. /vagrant/notwa-util/cosmo-kuroko9 || exit $?
. /vagrant/notwa-util/cosmo-mini9 || exit $?
. /vagrant/notwa-util/cosmo-muon9 || exit $?
unset CC CFLAGS
. /vagrant/notwa-util/cosmo-yices9 || exit $?
unset local_fn remote_url dest sha256
# kuroko.orig/kuroko.com # wtf?
# NOTE: different programs with the same names:
# NOTE: (we actually ignore the ones in the /test/ directory)
# ar.com cosmopolitan/o/opt/tool/build/ar.com
# ar.com cosmopolitan/o/opt/tool/decode/ar.com
# hello.com cosmopolitan/o/opt/examples/hello.com
# hello.com cosmopolitan/o/opt/third_party/python/hello.com
# hello.com cosmopolitan/o/opt/tool/hello/hello.com
# life.com cosmopolitan/o/opt/examples/life.com
# life.com cosmopolitan/o/opt/test/libc/mem/prog/life.com
# life.com cosmopolitan/o/opt/tool/viz/life.com
# symtab.com cosmopolitan/o/opt/examples/symtab.com
# symtab.com cosmopolitan/o/opt/tool/build/symtab.com
# zip.com cosmopolitan/o/opt/third_party/zip/zip.com
# zip.com cosmopolitan/o/opt/tool/decode/zip.com
: \
&& cd /root \
&& . ./cosmopolitan/env \
&& export \
&& echo \
&& mkdir -p /vagrant/out/vagrant \
&& for com in \
endlessh/endlessh.com \
heatshrink/heatshrink.com \
kissat/build/kissat.com \
kuroko/kuroko.com \
lr/lr.com \
muon/build/muon.com \
selfie/selfie.com \
xe/xe.com \
yices/dist/bin/yices-sat.com \
yices/dist/bin/yices-smt.com \
yices/dist/bin/yices-smt2.com \
yices/dist/bin/yices.com \
;do : \
&& du -k "$com" \
&& install -p -m 0755 -t /vagrant/out/vagrant "$com" \
;done \
&& echo \
&& d=/vagrant/out/vagrant/examples \
&& mkdir -p "$d" \
&& find "cosmopolitan/o/$mode/examples" -type f -name '*.com' \
-exec install -p -m 0755 -t "$d" {} + \
&& echo \
&& d=/vagrant/out/vagrant/third_party \
&& mkdir -p "$d" \
&& find "cosmopolitan/o/$mode/third_party" -type f -name '*.com' \
-exec install -p -m 0755 -t "$d" {} + \
&& echo \
&& d=/vagrant/out/vagrant/tool \
&& mkdir -p "$d" \
&& find "cosmopolitan/o/$mode/tool" -type f -name '*.com' \
-exec install -p -m 0755 -t "$d" {} + \
&& echo \
&& find -type f -name '*.com' | sort \
&& echo \
&& ls -1 /*.done \
|| exit $?