about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/licenses.nix6
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/development/tools/analysis/ikos/default.nix36
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 51 insertions, 0 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index ed91b5adedbf9..5ef60b5106341 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 93f035447a310..fd6d2efa7d80f 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 0000000000000..6f3df32f3c041
--- /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 64ef63f55ab84..5300a80413d43 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;
   };