stargazing/notwa-util/doit11
2023-09-07 19:05:00 -07:00

120 lines
4.2 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
# don't leak local IPs (i'm sure it's fine though)
unset SSH_CLIENT SSH_CONNECTION
export \
BUSYBOX_SHA256=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 \
BUSYBOX_VERSION=1.36.1 \
COSMO_COMMIT=032b1f3449f0103d5f58ac43a9479a2fd850fa49 \
COSMO_SHA256=fbedf752603f03b3eb2efc5e7d221ad60e8e0ac7281ab6f4a34eefa255c29d33 \
ENDLESSH_COMMIT=dfe44eb2c5b6fc3c48a39ed826fe0e4459cdf6ef \
ENDLESSH_SHA256=c8989988af0a8c848d1a4979962f008c504a12ed6fe6a12e032c37feaa0ae5f8 \
GMP_SHA256=a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898 \
GMP_VERSION=6.3.0 \
HEATSHRINK_COMMIT=7d419e1fa4830d0b919b9b6a91fe2fb786cf3280 \
HEATSHRINK_SHA256=b18a1b7ad6f51eac7ac1a81ca072703bd21d6d8727c05cd505843643705af65d \
KISSAT_COMMIT=0865f474689b4e38a1c327ee03da8a0051c44b9e \
KISSAT_SHA256=e0cfaa89710cd8b4d49b70b786a871331f483db78bbfbf329a7b826b8093c8cf \
KUROKO_COMMIT=d6486b590a075911abf18c854d57c2c3a71d2ca3 \
KUROKO_SHA256=4064a1eba35935011b4bc43639e4330b7903b56a11015b3556a30e0d0fb5ad1f \
LR_COMMIT=5af9b79e4ecd07a600ded1a801023536cde97f95 \
LR_SHA256=3901287cdcf09d0d8f77f8aaa19ca24e9a873d904e201ab8e7bf102426607dcc \
MUON_COMMIT=e9af35467ffea9edf567a71cc6c31787327de994 \
MUON_SHA256=2e342d912558564bbdf4ce5f7a88e099b28d59576d1a65eff9ae15cef4c73450 \
SELFIE_COMMIT=22ed35605d46b95f23c8ceb6ec2e1b2fee93525d \
SELFIE_SHA256=8e73d7770fc9217e98f85685780d6a487c7896baf9a174982f00acec3615a6bf \
XE_COMMIT=8a2a4899769335bc14c62aef12cdf26f2f487f2a \
XE_SHA256=f1ac997912c9be92a74a67a766dde74d1f9b6b20e48d7c7e71598ad4b787b37d \
YICES_COMMIT=6903281942d9ea67f09a1dd493167ce2bc466b87 \
YICES_SHA256=32a38b1c22adc4df7030e039f43bd5c51486136fcb41665554cace6525265114 \
;
if [ ! -e /notwa-util.done ]; then
: \
&& cd /vagrant/notwa-util \
&& install -p -m 0755 -t /usr/local/bin/ \
acquire dedupe expand makeit ofc quickconf shed \
&& touch /notwa-util.done \
|| exit $?
fi
export COSMO_FLAVOR=fastbuild || exit $?
. /vagrant/notwa-util/cosmopolitan-bootstrap11 || exit $?
export COSMO_FLAVOR=opt || exit $?
. /vagrant/notwa-util/cosmopolitan11 || exit $?
cd /root/cosmopolitan && . ./env || exit $?
export COSMO COSMO_DIST
export COSMOS="$COSMO" MODE="$mode"
. /vagrant/notwa-util/cosmopolitan-install11 || exit $?
# TODO: make this less of a hot mess:
sed \
-e 's,/o/third_party/gcc/,/gcc/,g' \
-e 's,/o/$MODE/tool/build/,/bin/,g' \
-e 's,/o/$MODE/cosmopolitan.a,/dist/$MODE/cosmopolitan.a,g' \
-e 's,/libc/crt/,/dist/$MODE/,g' \
-e 's,/o/$MODE/,/,g' \
-e 's,/ape/,/dist/$MODE/,g' \
-e "s,\$MODE\\b,$MODE,g" \
-e "s,/opt/cosmos\\b,/opt/cosmo,g" \
-e "s,/o//tool/build/,/bin/,g" \
-e "s,.* must not contain hyphens .*,:," \
-i /usr/bin/apecopy /usr/bin/cosmocc /usr/bin/cosmoc++
cd /root && export PATH="$COSMO/bin:$COSMO/gcc/bin:$PATH" || exit $?
unset V COLUMNS TMPDIR
. /vagrant/notwa-util/cosmo-kuroko11 || exit $?
# . /vagrant/notwa-util/cosmo-mini11 || exit $?
# . /vagrant/notwa-util/cosmo-muon11 || exit $?
unset CC CFLAGS MODE mode
. /vagrant/notwa-util/cosmo-yices11 || exit $?
: \
&& 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 $?