nixpkgs/pkgs/stdenv
Sergei Trofimovich 69cf5181c3 stdenv/generic/setup.sh: enable parallel installs by default
The primary motivating example is openssl:

Before the change full package build took 1m54s minutes.
After the change full package build takes 59s.

About a 2x speedup.

The difference is visible because openssl builds hundreds of manpages
spawning a perl process per manual in `install` phase. Such a workload
is very easy to parallelize.

Another example would be `autotools`+`libtool` based build system where
install step requires relinking. The more binaries there are to relink
the more gain it will be to do it in parallel.

The change enables parallel installs by default only for buiilds that
already have parallel builds enabled. There is a high chance those build
systems already handle parallelism well but some packages will fail.

Consistently propagated the enableParallelBuilding to:
- cmake (enabled by default, similar to builds)
- ninja (set parallelism explicitly, don't rely on default)
- bmake (enable when requested)
- scons (enable when requested)
- meson (set parallelism explicitly, don't rely on default)
- waf (set parallelism explicitly, don't rely on default)
- qmake-4/5/6 (enable by default, similar to builds)
- xorg (always enable, similar to builds)
2023-02-26 22:02:09 +00:00
..
cross stdenv/cross: remove now-redundant file nativeBuildInput on mingw 2022-06-06 11:26:46 -07:00
custom
cygwin
darwin Merge master into staging-next 2023-02-07 06:01:28 +00:00
freebsd config.contentAddressedByDefault: init option 2022-04-27 23:21:32 +03:00
generic stdenv/generic/setup.sh: enable parallel installs by default 2023-02-26 22:02:09 +00:00
linux treewide: use optionalString 2023-02-13 21:52:34 +01:00
native treewide: use lib.optionals 2023-02-14 19:11:59 +01:00
nix stdenv/common-path.nix: move to stdenv/generic/ 2022-07-29 18:24:00 -04:00
tests stdenv.tests: Add succeedOnFailure 2022-11-14 19:03:35 +01:00
adapters.nix treewide: move NIX_CFLAGS_COMPILE to the env attrset 2023-02-22 21:23:04 +02:00
booter.nix llvmPackages_*: respect cc for target when choosing C++ flavour 2022-01-07 14:42:41 +01:00
default.nix stdenv: Simplify dispatch 2022-07-29 18:34:02 -04:00