-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build improvements #93
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes themselves look all good to me, but they have some wide-reaching consequences on other parts. The readme needs an update now (and other parts of the documentation possibly as well), and the integration tests still rely on stack at the moment.
I'm currently trying to build the GMP derivation locally to see whether everything works as expected, but that might still take a while as it appears to currently being building a MUSL-based GCC first...
eef3983
to
9b2efbf
Compare
This makes it easier to play with everything that is in scope using the Nix REPL.
This one didn't age too well. Closing this 😅 |
Ah that's cool! Glad it ended up being useful in some way :) |
Background
Internally, we found that the static binary for
vaultenv
based oninteger-simple
is quite a bit slower when creating TLS connections than we'd like. Most vaultenv users shouldn't notice this, but we startvaultenv
quite frequently, so this overhead adds up.We'd like to make it easy to have two binaries:
High level implementation
I ran into a few problems with our build infrastructure, namely:
full-build-script
attribute fromnix/vaultenv-static.nix
in a Nix build itself. It requires internet access.Therefore, I took the following approach:
survey.nix
fromstatic-haskell-nix
directly so our build does not require internet access due tostack2nix
.common
stanzas to cut the boilerplate).stack2nix
.Status
integer-simple
has some problems. I ran into most things mentioned in cabal2nix evaluation failures nh2/static-haskell-nix#73, and am out of time for now. Upstream has a lot of activity, so I'm waiting on that.release.nix
.As there are quite some sweeping changes in here already, I'm asking for a preliminary review here.