nixos/systemd-boot: Fix regression in builder script

Avoid running Python scripts in the root of the package, as this
triggers `os.listdir` on the Nix store directory during import. This
operation can be time-consuming on large store directories
(see issue #283795 for more details).

The issue was initially fixed in #284153 but was reverted in #306339.

Co-authored-by: Sönke Hahn <soenkehahn@gmail.com>
This commit is contained in:
Jean-François Roche 2024-07-02 08:58:41 +02:00
parent 5b3e123c70
commit 251b0c958f

View File

@ -24,6 +24,8 @@ let
systemdBootBuilder = pkgs.substituteAll rec {
name = "systemd-boot";
dir = "bin";
src = checkedSource;
isExecutable = true;
@ -86,7 +88,7 @@ let
finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
#!${pkgs.runtimeShell}
${systemdBootBuilder} "$@"
${systemdBootBuilder}/bin/systemd-boot "$@"
${cfg.extraInstallCommands}
'';
in {