Skip to content

Commit 19680e9

Browse files
authored
Merge pull request #217568 from trofi/stdenv-parallel-install
stdenv/generic/setup.sh: enable parallel installs for parallel builds
2 parents 578fb7f + 91e20f1 commit 19680e9

File tree

24 files changed

+89
-0
lines changed

24 files changed

+89
-0
lines changed

pkgs/applications/audio/qsynth/default.nix

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ mkDerivation rec {
1616
buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ];
1717

1818
enableParallelBuilding = true;
19+
# Missing install depends:
20+
# lrelease error: Parse error at src/translations/qsynth_ru.ts:1503:33: Premature end of document.
21+
# make: *** [Makefile:107: src/translations/qsynth_ru.qm] Error 1
22+
enableParallelInstalling = false;
1923

2024
meta = with lib; {
2125
description = "Fluidsynth GUI";

pkgs/applications/science/math/gretl/default.nix

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ stdenv.mkDerivation rec {
2828
nativeBuildInputs = [ pkg-config ];
2929

3030
enableParallelBuilding = true;
31+
# Missing install depends:
32+
# cp: cannot stat '...-gretl-2022c/share/gretl/data/plotbars': Not a directory
33+
# make[1]: *** [Makefile:73: install_datafiles] Error 1
34+
enableParallelInstalling = false;
3135

3236
meta = with lib; {
3337
description = "A software package for econometric analysis";

pkgs/applications/version-management/subversion/default.nix

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ let
100100
inherit perlBindings pythonBindings;
101101

102102
enableParallelBuilding = true;
103+
# Missing install dependencies:
104+
# libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it
105+
# make: *** [build-outputs.mk:1316: install-serf-lib] Error 1
106+
enableParallelInstalling = false;
103107

104108
nativeCheckInputs = [ python3 ];
105109
doCheck = false; # fails 10 out of ~2300 tests

pkgs/development/compilers/ocaml/generic.nix

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ stdenv.mkDerivation (args // {
9595
# make[2]: *** [Makefile:199: backup] Error 1
9696
enableParallelBuilding = lib.versionAtLeast version "4.08";
9797

98+
# Workaround missing dependencies for install parallelism:
99+
# install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory
100+
# make[1]: *** [Makefile:140: installopt] Error 1
101+
enableParallelInstalling = false;
102+
98103
# Workaround lack of parallelism support among top-level targets:
99104
# we place nixpkgs-specific targets to a separate file and set
100105
# sequential order among them as a single rule.

pkgs/development/interpreters/s9fes/default.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ stdenv.mkDerivation rec {
2424
buildInputs = [ ncurses ];
2525
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
2626
enableParallelBuilding = true;
27+
# ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory
28+
# make: *** [Makefile:157: install-util] Error 1
29+
enableParallelInstalling = false;
2730

2831
meta = with lib; {
2932
description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme";

pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ qmakeConfigurePhase() {
88
echo "qmake4Hook: enabled parallel building"
99
fi
1010

11+
if ! [[ -v enableParallelInstalling ]]; then
12+
enableParallelInstalling=1
13+
echo "qmake: enabled parallel installing"
14+
fi
15+
1116
runHook postConfigure
1217
}
1318

pkgs/development/libraries/qt-5/hooks/qmake-hook.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ qmakeConfigurePhase() {
3838
echo "qmake: enabled parallel building"
3939
fi
4040

41+
if ! [[ -v enableParallelInstalling ]]; then
42+
enableParallelInstalling=1
43+
echo "qmake: enabled parallel installing"
44+
fi
45+
4146
runHook postConfigure
4247
}
4348

pkgs/development/libraries/qt-6/hooks/qmake-hook.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ qmakeConfigurePhase() {
4040
echo "qmake: enabled parallel building"
4141
fi
4242

43+
if ! [[ -v enableParallelInstalling ]]; then
44+
enableParallelInstalling=1
45+
echo "qmake: enabled parallel installing"
46+
fi
47+
4348
runHook postConfigure
4449
}
4550

pkgs/development/tools/analysis/eresi/default.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ stdenv.mkDerivation rec {
6060
nativeBuildInputs = [ which ];
6161
buildInputs = [ openssl readline ];
6262
enableParallelBuilding = true;
63+
# ln: failed to create symbolic link '...-eresi-0.83-a3-phoenix//bin/elfsh': No such file or directory
64+
# make: *** [Makefile:108: install64] Error 1
65+
enableParallelInstalling = false;
6366

6467
installTargets = lib.singleton "install"
6568
++ lib.optional stdenv.is64bit "install64";

pkgs/development/tools/build-managers/bmake/setup-hook.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ bmakeInstallPhase() {
7676

7777
# shellcheck disable=SC2086
7878
local flagsArray=(
79+
${enableParallelInstalling:+-j${NIX_BUILD_CORES}}
7980
SHELL=$SHELL
8081
# Old bash empty array hack
8182
$makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"}

0 commit comments

Comments
 (0)