diff --git a/pkgs/tools/virtualization/guestfs-tools/default.nix b/pkgs/tools/virtualization/guestfs-tools/default.nix index 446d4bcde0b7..1c213c6b3243 100644 --- a/pkgs/tools/virtualization/guestfs-tools/default.nix +++ b/pkgs/tools/virtualization/guestfs-tools/default.nix @@ -5,8 +5,10 @@ , bison , cdrkit , cpio +, curl , flex , getopt +, gnupg , hivex , jansson , libguestfs-with-appliance @@ -70,6 +72,14 @@ stdenv.mkDerivation rec { xz ]; + postPatch = '' + # If it uses the executable name, then there's nothing we can do + # when wrapping to stop it looking in + # $out/etc/.virt-builder-wrapped, which won't exist. + substituteInPlace common/mlstdutils/std_utils.ml \ + --replace Sys.executable_name '(Array.get Sys.argv 0)' + ''; + preConfigure = '' patchShebangs ocaml-dep.sh.in ocaml-link.sh.in run.in ''; @@ -85,6 +95,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' + wrapProgram $out/bin/virt-builder \ + --argv0 virt-builder \ + --prefix PATH : ${lib.makeBinPath [ curl gnupg ]}:$out/bin \ + --suffix VIRT_BUILDER_DIRS : /etc:$out/etc wrapProgram $out/bin/virt-win-reg \ --prefix PERL5LIB : ${with perlPackages; makeFullPerlPath [ hivex libintl-perl libguestfs-with-appliance ]} '';