From 69cf5181c31c691e9fb225ada9a33f54208d914b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 21 Feb 2023 19:50:48 +0000 Subject: [PATCH 01/13] 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) --- pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh | 5 +++++ pkgs/development/libraries/qt-5/hooks/qmake-hook.sh | 5 +++++ pkgs/development/libraries/qt-6/hooks/qmake-hook.sh | 5 +++++ pkgs/development/tools/build-managers/bmake/setup-hook.sh | 1 + pkgs/development/tools/build-managers/cmake/setup-hook.sh | 5 +++++ pkgs/development/tools/build-managers/meson/setup-hook.sh | 5 +++++ pkgs/development/tools/build-managers/ninja/setup-hook.sh | 8 ++++++++ pkgs/development/tools/build-managers/scons/setup-hook.sh | 1 + .../tools/build-managers/wafHook/setup-hook.sh | 6 ++++++ pkgs/servers/x11/xorg/builder.sh | 1 + pkgs/stdenv/generic/make-derivation.nix | 1 + pkgs/stdenv/generic/setup.sh | 1 + 12 files changed, 44 insertions(+) diff --git a/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh b/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh index f288e99dd12a..b024f52f2046 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh +++ b/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh @@ -8,6 +8,11 @@ qmakeConfigurePhase() { echo "qmake4Hook: enabled parallel building" fi + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "qmake: enabled parallel installing" + fi + runHook postConfigure } diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh index 741225a5aa81..0d30f0e26653 100644 --- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh @@ -38,6 +38,11 @@ qmakeConfigurePhase() { echo "qmake: enabled parallel building" fi + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "qmake: enabled parallel installing" + fi + runHook postConfigure } diff --git a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh index ec1d2ea6124e..8c4ce096443f 100644 --- a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh @@ -40,6 +40,11 @@ qmakeConfigurePhase() { echo "qmake: enabled parallel building" fi + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "qmake: enabled parallel installing" + fi + runHook postConfigure } diff --git a/pkgs/development/tools/build-managers/bmake/setup-hook.sh b/pkgs/development/tools/build-managers/bmake/setup-hook.sh index c5ca27dd9105..f477a96d57ab 100644 --- a/pkgs/development/tools/build-managers/bmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/bmake/setup-hook.sh @@ -76,6 +76,7 @@ bmakeInstallPhase() { # shellcheck disable=SC2086 local flagsArray=( + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL=$SHELL # Old bash empty array hack $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh index 1d25887754ad..b28ed42b6896 100755 --- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -130,6 +130,11 @@ cmakeConfigurePhase() { echo "cmake: enabled parallel building" fi + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "cmake: enabled parallel installing" + fi + runHook postConfigure } diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh index ded9c3c63b84..6305a405af21 100644 --- a/pkgs/development/tools/build-managers/meson/setup-hook.sh +++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh @@ -28,6 +28,11 @@ mesonConfigurePhase() { echo "meson: enabled parallel building" fi + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "meson: enabled parallel installing" + fi + runHook postConfigure } diff --git a/pkgs/development/tools/build-managers/ninja/setup-hook.sh b/pkgs/development/tools/build-managers/ninja/setup-hook.sh index ecaa8b88c1aa..7fa5e4675f39 100644 --- a/pkgs/development/tools/build-managers/ninja/setup-hook.sh +++ b/pkgs/development/tools/build-managers/ninja/setup-hook.sh @@ -53,8 +53,16 @@ ninjaCheckPhase() { ninjaInstallPhase() { runHook preInstall + local buildCores=1 + + # Parallel building is enabled by default. + if [ "${enableParallelInstalling-1}" ]; then + buildCores="$NIX_BUILD_CORES" + fi + # shellcheck disable=SC2086 local flagsArray=( + -j$buildCores $ninjaFlags "${ninjaFlagsArray[@]}" ${installTargets:-install} ) diff --git a/pkgs/development/tools/build-managers/scons/setup-hook.sh b/pkgs/development/tools/build-managers/scons/setup-hook.sh index 0b908f68286b..67358ee843d1 100644 --- a/pkgs/development/tools/build-managers/scons/setup-hook.sh +++ b/pkgs/development/tools/build-managers/scons/setup-hook.sh @@ -33,6 +33,7 @@ sconsInstallPhase() { fi local flagsArray=( + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} $sconsFlags ${sconsFlagsArray[@]} $installFlags ${installFlagsArray[@]} ${installTargets:-install} diff --git a/pkgs/development/tools/build-managers/wafHook/setup-hook.sh b/pkgs/development/tools/build-managers/wafHook/setup-hook.sh index e2f6714a32d4..4d95c28de1f1 100644 --- a/pkgs/development/tools/build-managers/wafHook/setup-hook.sh +++ b/pkgs/development/tools/build-managers/wafHook/setup-hook.sh @@ -30,6 +30,11 @@ wafConfigurePhase() { echo "waf: enabled parallel building" fi + if ! [[ -v enableParallelInstalling ]]; then + enableParallelInstalling=1 + echo "waf: enabled parallel installing" + fi + runHook postConfigure } @@ -68,6 +73,7 @@ wafInstallPhase() { fi local flagsArray=( + ${enableParallelInstalling:+-j ${NIX_BUILD_CORES}} $wafFlags ${wafFlagsArray[@]} $installFlags ${installFlagsArray[@]} ${installTargets:-install} diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh index 9ee81091584b..a9c607ae35ea 100644 --- a/pkgs/servers/x11/xorg/builder.sh +++ b/pkgs/servers/x11/xorg/builder.sh @@ -37,5 +37,6 @@ fi enableParallelBuilding=1 +enableParallelInstalling=1 genericBuild diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 6bf319d07308..50487b9f2e22 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -433,6 +433,7 @@ else let } // lib.optionalAttrs (enableParallelBuilding) { inherit enableParallelBuilding; enableParallelChecking = attrs.enableParallelChecking or true; + enableParallelInstalling = attrs.enableParallelInstalling or true; } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) { NIX_HARDENING_ENABLE = enabledHardeningOptions; } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) { diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 1a637bf13fdd..734abb890c24 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1376,6 +1376,7 @@ installPhase() { # shellcheck disable=SC2086 local flagsArray=( + ${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL=$SHELL ) _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray From 8a99bbab4478b1a3ecb21916b856ea0955fc7449 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 22 Feb 2023 23:51:49 +0000 Subject: [PATCH 02/13] net-snmp: disable install parallelism Without the change install phase fails as: installing install flags: -j16 ... ... ./.libs/libnetsnmpagent.so: file not recognized: file format not recognized collect2: error: ld returned 1 exit status make[1]: *** [Makefile:1012: libnetsnmpmibs.la] Error 1 make[1]: *** Waiting for unfinished jobs.... --- pkgs/servers/monitoring/net-snmp/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index e4447d7a844c..6f7e696c5d6d 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -49,6 +49,9 @@ in stdenv.mkDerivation rec { ++ lib.optional withPerlTools perlWithPkgs; enableParallelBuilding = true; + # Missing dependencies during relinking: + # ./.libs/libnetsnmpagent.so: file not recognized: file format not recognized + enableParallelInstalling = false; doCheck = false; # tries to use networking postInstall = '' From 0026b4a08718af34f59e90ffc3257960e27a3f7e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 23 Feb 2023 07:53:15 +0000 Subject: [PATCH 03/13] xfsprogs: disable install parallelism Without the change install phase fails as: Installing libxfs-install ../../install-sh -o nixbld -g nixbld -m 644 ioctl_xfs_ag_geometry.2 /nix/store/chymzkiiv6c2rgl2gqrn4bqv5azhx9vf-xfsprogs-6.1.1-bin/share/man/man2/ioctl_xfs_ag_geometry.2 make[1]: *** No rule to make target '\', needed by 'kmem.lo'. Stop. make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:148: libxfs-install] Error 2 make: *** Waiting for unfinished jobs.... --- pkgs/tools/filesystems/xfsprogs/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix index 7c31657dd946..c8f4b7d93116 100644 --- a/pkgs/tools/filesystems/xfsprogs/default.nix +++ b/pkgs/tools/filesystems/xfsprogs/default.nix @@ -23,6 +23,9 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libuuid ]; # Dev headers include enableParallelBuilding = true; + # Install fails as: + # make[1]: *** No rule to make target '\', needed by 'kmem.lo'. Stop. + enableParallelInstalling = false; # @sbindir@ is replaced with /run/current-system/sw/bin to fix dependency cycles preConfigure = '' From 82c5a2b62eed1ab585eeb2694b6327ccf09c423b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 23 Feb 2023 09:59:44 +0000 Subject: [PATCH 04/13] sssd: disable parallel installs Without the change parallel install fails as: install flags: -j16 ... libbtool: error: error: relink '_py3sss.la' with the above command before installing it libtool: warning: '/build/source/libsss_cert.la' has not been installed in '/nix/store/apyk9a6q7bc7d1fnn81vqrwil4waw9cd-sssd-2.8.2/lib/sssd' make[3]: *** [Makefile:13362: install-py3execLTLIBRARIES] Error 1 --- pkgs/os-specific/linux/sssd/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix index 328098dbea33..b56748a94697 100644 --- a/pkgs/os-specific/linux/sssd/default.nix +++ b/pkgs/os-specific/linux/sssd/default.nix @@ -54,6 +54,9 @@ stdenv.mkDerivation rec { ''; enableParallelBuilding = true; + # Disable parallel install due to missing depends: + # libtool: error: error: relink '_py3sss.la' with the above command before installing i + enableParallelInstalling = false; nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config doxygen ]; buildInputs = [ augeas dnsutils c-ares curl cyrus_sasl ding-libs libnl libunistring nss samba nfs-utils p11-kit python3 popt From ea80b3925f202dc49d258d07838ff813779824d9 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 2 Mar 2023 21:52:26 +0000 Subject: [PATCH 05/13] subversion: disable parallel installs Without the change parallel install fails as: $ install flags: -j16 ... ... collect2: error: ld returned 1 exit status libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it make: *** [build-outputs.mk:1316: install-serf-lib] Error 1 make: *** Waiting for unfinished jobs.... /nix/store/1qasgqvab0xh2jcy00x9b1zh39dw7m8f-bin --- pkgs/applications/version-management/subversion/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 613872721d20..25e3983c2b0a 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -100,6 +100,10 @@ let inherit perlBindings pythonBindings; enableParallelBuilding = true; + # Missing install dependencies: + # libtool: error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it + # make: *** [build-outputs.mk:1316: install-serf-lib] Error 1 + enableParallelInstalling = false; nativeCheckInputs = [ python3 ]; doCheck = false; # fails 10 out of ~2300 tests From 7b8d86277d08ddaf071eb54c9b6c5d94531b02be Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 2 Mar 2023 22:00:52 +0000 Subject: [PATCH 06/13] ocaml: disable parallel installs Without the change parallel install fails as: $ install flags: -j16 ... ... install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory make[1]: *** [Makefile:140: installopt] Error 1 --- pkgs/development/compilers/ocaml/generic.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix index c2cc7bb40b5f..7b9efb8a2c0f 100644 --- a/pkgs/development/compilers/ocaml/generic.nix +++ b/pkgs/development/compilers/ocaml/generic.nix @@ -87,6 +87,11 @@ stdenv.mkDerivation (args // { # make[2]: *** [Makefile:199: backup] Error 1 enableParallelBuilding = lib.versionAtLeast version "4.08"; + # Workaround missing dependencies for install parallelism: + # install: target '...-ocaml-4.14.0/lib/ocaml/threads': No such file or directory + # make[1]: *** [Makefile:140: installopt] Error 1 + enableParallelInstalling = false; + # Workaround lack of parallelism support among top-level targets: # we place nixpkgs-specific targets to a separate file and set # sequential order among them as a single rule. From 51b39d7b8b6ea9a4faecf761ad692114f19294b5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 3 Mar 2023 22:24:41 +0000 Subject: [PATCH 07/13] eresi: disable parallel installs Without the change parallel installs fail as: install flags: -j2 ... ln: failed to create symbolic link '...-eresi-0.83-a3-phoenix//bin/elfsh': No such file or directory make: *** [Makefile:108: install64] Error 1 --- pkgs/development/tools/analysis/eresi/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/tools/analysis/eresi/default.nix b/pkgs/development/tools/analysis/eresi/default.nix index 9d1487ea99b6..3d5571ddea42 100644 --- a/pkgs/development/tools/analysis/eresi/default.nix +++ b/pkgs/development/tools/analysis/eresi/default.nix @@ -60,6 +60,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ which ]; buildInputs = [ openssl readline ]; enableParallelBuilding = true; + # ln: failed to create symbolic link '...-eresi-0.83-a3-phoenix//bin/elfsh': No such file or directory + # make: *** [Makefile:108: install64] Error 1 + enableParallelInstalling = false; installTargets = lib.singleton "install" ++ lib.optional stdenv.is64bit "install64"; From b3d8d75db86efe821d80f86d986d3c7808fa11aa Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 4 Mar 2023 15:08:58 +0000 Subject: [PATCH 08/13] s9fes: disable install parallelism Without the change parallel installs fail as: install flags: -j16 install -d -m 0755 ...-s9fes-20181205/share/s9fes sed -e "s|^#! /usr/local|#! ...-s9fes-20181205|" ...-s9fes-20181205/bin/s9help ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory make: *** [Makefile:157: install-util] Error 1 make: *** Waiting for unfinished jobs.... --- pkgs/development/interpreters/s9fes/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/s9fes/default.nix b/pkgs/development/interpreters/s9fes/default.nix index a05dde8f1f51..7cf60b00eb9b 100644 --- a/pkgs/development/interpreters/s9fes/default.nix +++ b/pkgs/development/interpreters/s9fes/default.nix @@ -24,6 +24,9 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; enableParallelBuilding = true; + # ...-bash-5.2-p15/bin/bash: line 1: ...-s9fes-20181205/bin/s9help: No such file or directory + # make: *** [Makefile:157: install-util] Error 1 + enableParallelInstalling = false; meta = with lib; { description = "Scheme 9 From Empty Space, an interpreter for R4RS Scheme"; From 49000d52e01fd1caf6490f8148bd270c3563a4f9 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 7 Mar 2023 07:34:51 +0000 Subject: [PATCH 09/13] vpnc: disable install parallelism Without the change parallel installs fail as: install flags: -j1 ... install -m644 src/doc/*.md ...-vpnc-unstable-2021-11-04/share/doc/vpnc install: target '...-vpnc-unstable-2021-11-04/share/doc/vpnc': No such file or directory --- pkgs/tools/networking/vpnc/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix index 4fbb26eba21d..f9507cf459c7 100644 --- a/pkgs/tools/networking/vpnc/default.nix +++ b/pkgs/tools/networking/vpnc/default.nix @@ -32,6 +32,10 @@ stdenv.mkDerivation { ''; enableParallelBuilding = true; + # Missing install depends: + # install: target '...-vpnc-unstable-2021-11-04/share/doc/vpnc': No such file or directory + # make: *** [Makefile:149: install-doc] Error 1 + enableParallelInstalling = false; meta = with lib; { homepage = "https://davidepucci.it/doc/vpnc/"; From 04cc3ff7d334fe5f064071e05990949e11f8aa88 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 9 Mar 2023 22:05:53 +0000 Subject: [PATCH 10/13] asymptote: disable install parallelism Without the change parallel installs fail as: ...-coreutils-9.1/bin/install: cannot stat 'asy-keywords.el': No such file or directory make: *** [Makefile:272: install-asy] Error 1 --- pkgs/tools/graphics/asymptote/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index ec2e5ce64c93..9950d3c56f99 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -67,6 +67,10 @@ stdenv.mkDerivation rec { ''; enableParallelBuilding = true; + # Missing install depends: + # ...-coreutils-9.1/bin/install: cannot stat 'asy-keywords.el': No such file or directory + # make: *** [Makefile:272: install-asy] Error 1 + enableParallelInstalling = false; meta = with lib; { description = "A tool for programming graphics intended to replace Metapost"; From 03be09d5181b43ffcf0c6085d795d9fad3d5f515 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 9 Mar 2023 22:29:59 +0000 Subject: [PATCH 11/13] gretl: disable install parallelism Without the change parallel installs fail as: cp: cannot stat '...-gretl-2022c/share/gretl/data/plotbars': Not a directory make[1]: *** [Makefile:73: install_datafiles] Error 1 --- pkgs/applications/science/math/gretl/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/science/math/gretl/default.nix b/pkgs/applications/science/math/gretl/default.nix index 315433feb1c2..026be6fa1a4d 100644 --- a/pkgs/applications/science/math/gretl/default.nix +++ b/pkgs/applications/science/math/gretl/default.nix @@ -28,6 +28,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; enableParallelBuilding = true; + # Missing install depends: + # cp: cannot stat '...-gretl-2022c/share/gretl/data/plotbars': Not a directory + # make[1]: *** [Makefile:73: install_datafiles] Error 1 + enableParallelInstalling = false; meta = with lib; { description = "A software package for econometric analysis"; From 41ddcc3898962edda8e49032d235d7edc47e31ee Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 9 Mar 2023 22:50:48 +0000 Subject: [PATCH 12/13] qsynth: disable install parallelism Without the change parallel installs fail as: lrelease error: Parse error at src/translations/qsynth_ru.ts:1503:33: Premature end of document. make: *** [Makefile:107: src/translations/qsynth_ru.qm] Error 1 --- pkgs/applications/audio/qsynth/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix index f9eaa890c57f..a24625ca7de8 100644 --- a/pkgs/applications/audio/qsynth/default.nix +++ b/pkgs/applications/audio/qsynth/default.nix @@ -16,6 +16,10 @@ mkDerivation rec { buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ]; enableParallelBuilding = true; + # Missing install depends: + # lrelease error: Parse error at src/translations/qsynth_ru.ts:1503:33: Premature end of document. + # make: *** [Makefile:107: src/translations/qsynth_ru.qm] Error 1 + enableParallelInstalling = false; meta = with lib; { description = "Fluidsynth GUI"; From 91e20f108149be118c166eed2a4db44ca124d05b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 9 Mar 2023 22:53:06 +0000 Subject: [PATCH 13/13] solanum: disable install parallelism Without the change parallel installs fail as: ...-binutils-2.40/bin/ld: cannot find ./.libs/libircd.so: No such file or directory collect2: error: ld returned 1 exit status make[4]: *** [Makefile:634: solanum] Error 1 --- pkgs/servers/irc/solanum/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/servers/irc/solanum/default.nix b/pkgs/servers/irc/solanum/default.nix index df1218ba7920..14924e6656c9 100644 --- a/pkgs/servers/irc/solanum/default.nix +++ b/pkgs/servers/irc/solanum/default.nix @@ -57,6 +57,11 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isDarwin; enableParallelBuilding = true; + # Missing install depends: + # ...-binutils-2.40/bin/ld: cannot find ./.libs/libircd.so: No such file or directory + # collect2: error: ld returned 1 exit status + # make[4]: *** [Makefile:634: solanum] Error 1 + enableParallelInstalling = false; meta = with lib; { description = "An IRCd for unified networks";