ninja build progress output is not line-base, it overwrites the same
line over and over again with its progress reporting. nix is line-based
though, so ninja-based builds have their progress hidden. pipe ninja
output through cat to avoid this.
ninja sources include re2c's output files, so unless we change the sources by applying a patch, re2c is not even launched
anyway, it is not relevant to building docs
Things changed in the Ninja setup-hook:
- Respect installFlags
- Automatically add checkPhase (can be disabled with dontUseNinjaCheck
in the same way as dontUseNinjaBuild and dontUseNinjaInstall). Tests
are only run when "ninja test" exists.
- Error in build phase when build.ninja is missing. We don’t have a
way to fall back to other build methods, so it’s best to be very
clear when we aren’t able to build with ninja
- Set -l flag to 1 when enableParallelBuilding is disabled
This also updates the bootstrap tool builder to LLVM 5, but not the ones
we actually use for bootstrap. I'll make that change in a subsequent commit
so as to provide traceable provenance of the bootstrap tools.
* Add setupHook for meson/ninja build
* libhttpseverywhere: Use meson/ninja setupHooks
* jamomacore: Remove superfluous ninja buildInput
* Remove obsolete ninja buildPhases
These are all handled by ninja's setup hook.
* lean2, xcbuild: fix build with ninja setup hook
Ninja is a runtime dependency here. However, cmake can generate Ninja
build files as well to satisfy the setup hook.
* qtwebengine: fix build with ninja setup hook
Version 1.2.0 is way too old in order to build the latest chromium (29) version,
so let's get it up to date (especially because no other package is referencing
ninja, so it should be non-critical).
The dependency on unzip is not needed here, because GitHub also provides
archives in tar.gz format.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
ninja is a build system written in C++ that just happens to use python
to build/install *itself*. It is not a "python package".
After this commit, ninja will be at pkgs.ninja instead of
pkgs.pythonPackages.ninja.