From 328fbcff60e9d6838d16b4228ed84d94d35cc18d Mon Sep 17 00:00:00 2001 From: Etienne Laurin Date: Tue, 11 Dec 2018 20:20:29 +0000 Subject: [PATCH] ikos: init at 2.1 --- lib/licenses.nix | 6 ++++ maintainers/maintainer-list.nix | 5 +++ .../tools/analysis/ikos/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 4 files changed, 51 insertions(+) create mode 100644 pkgs/development/tools/analysis/ikos/default.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index ed91b5adedbf..5ef60b510634 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -505,6 +505,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { free = false; }; + nasa13 = spdx { + spdxId = "NASA-1.3"; + fullName = "NASA Open Source Agreement 1.3"; + free = false; + }; + ncsa = spdx { spdxId = "NCSA"; fullName = "University of Illinois/NCSA Open Source License"; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 93f035447a31..fd6d2efa7d80 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -401,6 +401,11 @@ github = "aszlig"; name = "aszlig"; }; + atnnn = { + email = "etienne@atnnn.com"; + github = "atnnn"; + name = "Etienne Laurin"; + }; auntie = { email = "auntieNeo@gmail.com"; github = "auntie"; diff --git a/pkgs/development/tools/analysis/ikos/default.nix b/pkgs/development/tools/analysis/ikos/default.nix new file mode 100644 index 000000000000..6f3df32f3c04 --- /dev/null +++ b/pkgs/development/tools/analysis/ikos/default.nix @@ -0,0 +1,36 @@ +{ stdenv, lib, fetchFromGitHub, cmake, boost +, gmp, llvm, clang, sqlite, python3 +, ocamlPackages, mpfr, ppl, doxygen, graphviz +}: + +let + python = python3.withPackages (ps: with ps; [ + pygments + ]); +in + +stdenv.mkDerivation rec { + name = "ikos"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "NASA-SW-VnV"; + repo = name; + rev = "v${version}"; + sha256 = "09nf47hpk5w5az4c0hcr5hhwvpz8zg1byyg185542cpzbq1xj8cb"; + }; + + buildInputs = [ cmake boost 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 64ef63f55ab8..5300a80413d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8713,6 +8713,10 @@ in inherit (perlPackages) XMLSimple; }; + ikos = callPackage ../development/tools/analysis/ikos { + inherit (llvmPackages_7) stdenv clang llvm; + }; + include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use { llvmPackages = llvmPackages_6; };