On M1 Macs, the compiler seems to infinite-loop, consuming ever more RAM
and CPU, while trying to build `noun/allocate.c` with `-O3 -g`. `-O3` is
fine, `-g` is fine. Both at once seems to try to summon demons.
Other possible solutions aside from this:
- try lower levels of optimization until we find one that doesn't hang,
and ship that.
- do not support M1 Mac until the underlying issue here is fixed.
- ship debug binaries on M1 for now.
The path of least resistance is of course the second option, as that's
what is already tacitly happening.
* Upgrades the nixpkgs pin to 21.11.
* Removes nix code, sources, and attributes related to haskell.nix and
the code under pkg/hs.
* Continuous integration no longer builds (or packages/releases)
urbit-king (haskell).
* To continue to developing any haskell code under pkg/hs it's left as
a user exercise uto install and configure GHC/Stack.
As a consequence running nix-shell should be considerably more
performant and requires downloading or building less dependencies.
* frodwith/urcrypt: (75 commits)
move libaes_siv to deps
fix typo in urcrypt.h
libaes_siv now using tip of dfoxfranke master
check for recovery header presence in configure, put -O3 in flags, move pc to distcleanfiles
clean generated pkg-config file
update urbit's configure to use a liburcrypt version
add a versioning scheme to urcrypt
remove scrypt from urbit build (in urcrypt now)
move the rest of the scrypt jets to urcrypt, enable them, and correct the hoon test to match the source rfc.
scr-pbk->urcrypt
start scrypt porting
Squashed 'pkg/urcrypt/scrypt/' content from commit a402f4116
finish porting secp jets to urcrypt
pkg-config support for urcrypt, update urbit build
cosmetic configure things
require shared ssl when building a shared urcrypt
remove some old files
add autogen.sh
use srcdir in -I to support out of tree builds
whitespace and symbol cleanup
...
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 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.