autoPatchelfHook: Run after patchelf's setup hook
So far the runtimeDependencies variable has been rather useless unless you also set dontPatchelf, because the patchelf setup hook ran *after* the autoPatchelfHook and thus stripped off the additional RPATHs added using runtimeDependencies. I did this by moving the autoPatchelfHook to be run in postFixup instead of fixupOutput, however I needed to replicate the for loop that runs the hook on all outputs. Until we have a way to influence order of execution for hooks I've marked this with an XXX so that we can use fixupOutput again. Tested this against all packages that use autoPatchelfHook using the following and checking whether the output contains any errors concerning shared libraries: nix-build -E 'with import ./. { config.allowUnfree = true; }; runCommand "test-executables" { drvs = [ masterpdfeditor franz zoom-us anydesk teamviewer maxx oracle-instantclient cups-kyodialog3 virtlyst powershell ]; } "for i in $drvs; do for b in $i/bin/*; do \"$b\" || :; done; done" ' Signed-off-by: aszlig <aszlig@nix.build> Fixes: https://github.com/NixOS/nixpkgs/issues/43082 Cc: @Ericson2314
parent
f4e51030
Please register or sign in to comment