diff options
Diffstat (limited to 'pkgs/development/tools/analysis/codeql/default.nix')
-rw-r--r-- | pkgs/development/tools/analysis/codeql/default.nix | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix new file mode 100644 index 00000000000..a6a95e74e4a --- /dev/null +++ b/pkgs/development/tools/analysis/codeql/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchzip, zlib, xorg, freetype, jdk11, curl, autoPatchelfHook }: + +stdenv.mkDerivation rec { + pname = "codeql"; + version = "2.8.1"; + + dontConfigure = true; + dontBuild = true; + dontStrip = true; + + src = fetchzip { + url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip"; + sha256 = "sha256-zZoK5x+nE8AVZWDSMmsVPFuXNnAHBPyu9+1GgSwN19c="; + }; + + nativeBuildInputs = [ + zlib + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXtst + xorg.libXrender + freetype + jdk11 + stdenv.cc.cc.lib + curl + ]; + + installPhase = '' + # codeql directory should not be top-level, otherwise, + # it'll include /nix/store to resolve extractors. + mkdir -p $out/{codeql,bin} + cp -R * $out/codeql/ + + ln -sf $out/codeql/tools/linux64/lib64trace.so $out/codeql/tools/linux64/libtrace.so + + sed -i 's%\$CODEQL_DIST/tools/\$CODEQL_PLATFORM/java%\${jdk11}%g' $out/codeql/codeql + + ln -s $out/codeql/codeql $out/bin/ + ''; + + meta = with lib; { + description = "Semantic code analysis engine"; + homepage = "https://codeql.github.com"; + maintainers = [ maintainers.dump_stack ]; + license = licenses.unfree; + }; +} |