urbit/sh/cross
benjamin-tlon ade1e59ce1
Get cross-compilation ready for release. (#1263)
* Add cross-compilation for `lmdb`.
* Got built caching working in CI with `cachix`.
* Cache cross compilation dependencies and toolchains.
* Do release builds in CI.
* Upload release builds to `bootstrap.urbit.org` on successful build.
* Lots of optimization work for CI.
* Boot from a solid pill in CI and load arvo with `-A`.
* Increase `vere` HTTP timeout to 15m.
2019-05-02 13:13:48 -07:00

32 lines
533 B
Bash
Executable File

#!/usr/bin/env bash
set -e
err () { echo "$@" >&2; exit 1; }
[ $# = 2 ] || {
sh/cross urbit linux64
sh/cross urbit darwin
exit 0
}
traced () {
echo '$' "$@" >&2; "$@"
}
release () {
traced nix-build nix/release.nix --no-out-link -A "$1"
}
pkg="$1"
env="$2"
res=$(release "$env.$pkg")
mkdir -p ./cross/$env
traced cp -f $res/bin/$pkg ./cross/$env/$pkg
traced cp -f $res/bin/$pkg-worker ./cross/$env/$pkg-worker
traced cp -r $res/bin/$pkg-terminfo ./cross/$env/$pkg-terminfo
chmod -R u+wr ./cross/$env/$pkg-terminfo