depot/third_party/nixpkgs/pkgs/tools/system/osquery/toolchain-bin.nix
Default email 159e378cbb Project import generated by Copybara.
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
2024-09-19 17:19:46 +03:00

53 lines
1.6 KiB
Nix

{ stdenv, lib, fetchzip, file }:
let
version = "1.1.0";
dist = {
"x86_64-linux" = {
url = "https://github.com/osquery/osquery-toolchain/releases/download/${version}/osquery-toolchain-${version}-x86_64.tar.xz";
hash = "sha256-irekR8a0d+T64+ZObgblsLoc4kVBmb6Gv0Qf8dLDCMk=";
};
"aarch64-linux" = {
url = "https://github.com/osquery/osquery-toolchain/releases/download/${version}/osquery-toolchain-${version}-aarch64.tar.xz";
hash = "sha256-cQlx9AtO6ggIQqHowa+42wQ4YCMCN4Gb+0qqVl2JElw=";
};
};
in
stdenv.mkDerivation {
name = "osquery-toolchain-bin";
inherit version;
src = fetchzip dist.${stdenv.hostPlatform.system};
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";
platforms = [ "x86_64-linux" "aarch64-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = with licenses; [ gpl2Only asl20 ];
maintainers = with maintainers; [ squalus ];
};
}