depot/third_party/nixpkgs/pkgs/development/tools/analysis/ikos/default.nix
Default email 23b612e36f Project import generated by Copybara.
GitOrigin-RevId: ae5c332cbb5827f6b1f02572496b141021de335f
2024-01-25 23:12:00 +09:00

50 lines
1.4 KiB
Nix

{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, boost, tbb
, gmp, llvm, clang, sqlite, python3
, ocamlPackages, mpfr, ppl, doxygen, graphviz
}:
let
python = python3.withPackages (ps: with ps; [
pygments
]);
in
stdenv.mkDerivation rec {
pname = "ikos";
version = "3.1";
src = fetchFromGitHub {
owner = "NASA-SW-VnV";
repo = "ikos";
rev = "v${version}";
hash = "sha256-scaFkUhCkIi41iR6CGPbEndzXkgqTKMb3PDNvhgVbCE=";
};
patches = [ (fetchpatch {
url = "https://github.com/NASA-SW-VnV/ikos/commit/2e647432427b3f0dbb639e0371d976ab6406f290.patch";
hash = "sha256-ffzjlqEp4qp76Kwl5zpyQlg/xUMt8aLDSSP4XA4ndS8=";
})
# Fix build with GCC 13
# https://github.com/NASA-SW-VnV/ikos/pull/262
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/NASA-SW-VnV/ikos/commit/73c816641fb9780f0d3b5e448510363a3cf21ce2.patch";
hash = "sha256-bkeSAtxrL+z+6QNiGOWSg7kN8XiZqMxlJiu5Dquhca0=";
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [ boost tbb gmp clang llvm sqlite python
ocamlPackages.apron mpfr ppl doxygen graphviz ];
cmakeFlags = [ "-DAPRON_ROOT=${ocamlPackages.apron}" ];
postBuild = "make doc";
meta = with lib; {
homepage = "https://github.com/NASA-SW-VnV/ikos";
description = "Static analyzer for C/C++ based on the theory of Abstract Interpretation";
license = licenses.nasa13;
maintainers = with maintainers; [ atnnn ];
};
}