* arcanist: generate & install bash-completion
Arcanist only supports bash for shell-completion as of 20200711,
otherwise I would include zsh and/or fish here.
upstream discussion of zsh non-support: https://secure.phabricator.com/D19700
* arcanist: apply nixpkgs-hammering recommendations
* arcanist: obey makeFlags/makeFlagsArray/NIX_BUILD_CORES
See upstream PR#261[1] for further reference. Previously, the
`enable-features`-setting was entirely discarded due to an earlier
regression resulting in an attempt to start `element-desktop` in
Wayland-mode without all necessary components.
Closes#137377
[1] https://github.com/vector-im/element-desktop/pull/261
Other services that depend on elasticsearch should be started after
it, but since the versions we're packaging have to run as
"Type=simple", they're started as soon as the elasticsearch binary has
been executed, likely winning the race against it.
This makes sure elasticsearch is up and running, responding to a
simple query, before dependents are started.
When cross-compiling, we can't run the runtime shell to check syntax
if it's e.g. for a different architecture. We have two options here.
We can disable syntax checking when cross compiling, but that risks
letting errors through. Or, we can do what I've done here, and change
the syntax check to use stdenv's shell instead of the runtime shell.
This requires the stdenv shell and runtime shell to be broadly
compatible, but I think that's so ingrained in Nixpkgs anyway that
it's fine. And this way we avoid conditionals that check for cross.
For example BANNER_TIMEOUT can be overriden like:
```
ipxe.overrideArgs(old: {
enableOptions = old.enableOptions ++ [ "BANNER_TIMEOUT 100" ];
});
```
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
The build failure here is not due to Apple Silicon per se but instead
an artifact of the aarch64-darwin toolchain using a newer version of the
Xcode SDK as a basis. This causes issues building on case-insensitive
filesystems due to the collision between the standard <version> header
and a mosh source file called VERSION.
Fix with a MacPorts backport of an upstream mosh commit, via Homebrew.
Homebrew carries a patch that has been sent upstream. Since it's
designed to be suitable for inclusion as-is and strictly improves
correctness, we just apply it unconditionally on all platforms.