about summary refs log tree commit diff
path: root/pkgs/tools/system/osquery/toolchain-bin.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/system/osquery/toolchain-bin.nix')
-rw-r--r--pkgs/tools/system/osquery/toolchain-bin.nix19
1 files changed, 15 insertions, 4 deletions
diff --git a/pkgs/tools/system/osquery/toolchain-bin.nix b/pkgs/tools/system/osquery/toolchain-bin.nix
index d23b3ca1867c0..dd1ff9264d3c0 100644
--- a/pkgs/tools/system/osquery/toolchain-bin.nix
+++ b/pkgs/tools/system/osquery/toolchain-bin.nix
@@ -1,4 +1,4 @@
-{ stdenvNoCC, lib, autoPatchelfHook, fetchzip }:
+{ stdenv, lib, fetchzip, file }:
 let
 
   version = "1.1.0";
@@ -16,21 +16,32 @@ let
 
 in
 
-stdenvNoCC.mkDerivation {
+stdenv.mkDerivation {
 
   name = "osquery-toolchain-bin";
 
   inherit version;
 
-  src = fetchzip dist.${stdenvNoCC.hostPlatform.system};
+  src = fetchzip dist.${stdenv.hostPlatform.system};
 
-  nativeBuildInputs = [ autoPatchelfHook ];
+  nativeBuildInputs = [ file ];
 
   installPhase = ''
     mkdir $out
     cp -r * $out
   '';
 
+  # autoPatchelfHook cannot be used here because of https://github.com/NixOS/nixpkgs/issues/333710
+  postFixup = ''
+    read -r interpreter < "$NIX_BINTOOLS"/nix-support/dynamic-linker
+    for file in $(find "$out"/usr/bin -type f -executable); do
+      if [[ $(file "$file") == *ELF*dynamically* ]]; then
+        patchelf --interpreter "$interpreter" "$file"
+        patchelf --set-rpath "$out/usr/lib" "$file"
+      fi
+    done
+  '';
+
   meta = with lib; {
     description = "A LLVM-based toolchain for Linux designed to build a portable osquery";
     homepage = "https://github.com/osquery/osquery-toolchain";