Vere will not run a ship if STDIN is closed, unless passed the `-t`
flag. Hosted docker containers will not be interactive, but we would
like the docker image to be usable locally and interactively as well.
Thus, we check for STDIN being closed in the shell prior to launching
Vere, and if it is closed, pass the `-t` flag.
This commit adds the `docker-image` attribute to the main Nix
entrypoint, invoking `nix/pkgs/docker-image` which will build
a 'smart' docker image that can load keyfiles or a pier and
boot a ship
It includes a README for the official docker image, suitable
for posting as the README to a Docker Hub or similar docker
image repository.
This prevents an error where the python2 version of the SDK tries to
use the monotonic library which is unable to detect the host operating
system inside the sandbox - exploding in typical python fashion.
By using python3 it obviates the need for the monotonic dependency by
using the builtin time.monotonic call.
This also sets -l (lite boot) by default for boot-fake-ship to speed
up the initial pier creation used by pills/tests, and uses
urbit.meta.arguments by default for tests - seems a little less likely
to footgun.
This also removes nixcrpkgs and OSX cross compilation in favour of
compiling on the target. x86_64/musl targets are still supported
on Linux.
All sources are now managed via niv (see nix/sources.json) and Haskell
package sets are provided/organised via IOHK's haskell.nix.
Some effort has been made to expose similar top-level attributes for
development, but in some cases there have been changes. Please see
the comments in the top-level default.nix and ci.nix files for usage.
Adds the equivalent arm patches to the i386 patches added in #3054
These result in a dramatic speedup in running `=a (bex 1.000.000.000)` just as they do on x86_x64
This also sneaks in a hack to `/nix/nixcrpkgs/pkgs/libsigsegv/builder.sh` that allows libsigsegv to configure itself properly when cross compiling release binaries from x86_64 to aarch64.
It won’t trigger for you, since you’re not doing that (yet) but it will make it a little easier for me to maintain my aarch64 static release binaries if that `if [ $host = aarch64-linux-musleabi ]` section is upstreamed.
* ford-fusion: (259 commits)
clay: remove scaffolding
kiln: make otas continue even if they failed to apply
metadata-store: add cleanup utility, use on-poke:def instead of no-op
clay: flop syntax error trace
landscape/img/codeeval.png: typo in filename
invite-view: reinstate as potato
goad: don't crash on pre-OTA sign
chat-store: responded to comments, cleaned up
-test: support other desks (full beams in args)
arvo: use date instead of kelvin
hoon: re-fix +slab; /tests: fix clay tests
kiln: don't implicitly create syncs
gall: don't make large stack trace
ames: use +cut in +encrypt
pill: solid
dojo: print generator type errors
Squashed commit of the following:
ci: fix herb tests; update pills
ford,kiln: nicer errors
dojo: too many nouns
...
Signed-off-by: Philip Monk <phil@pcmonk.me>