summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/tools/analysis/coan/default.nix30
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/development/tools/analysis/coan/default.nix b/pkgs/development/tools/analysis/coan/default.nix
new file mode 100644
index 0000000000000..0c0f60a507abe
--- /dev/null
+++ b/pkgs/development/tools/analysis/coan/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  version = "6.0.1";
+  name = "coan-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/coan2/v${version}/${name}.tar.gz";
+    sha256 = "1d041j0nd1hc0562lbj269dydjm4rbzagdgzdnmwdxr98544yw44";
+  };
+
+  buildInputs = [ perl ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "The C preprocessor chainsaw";
+    longDescription = ''
+      A software engineering tool for analysing preprocessor-based
+      configurations of C or C++ source code. Its principal use is to simplify
+      a body of source code by eliminating any parts that are redundant with
+      respect to a specified configuration. Dead code removal is an
+      application of this sort.
+    '';
+    homepage = http://coan2.sourceforge.net/;
+    license = with licenses; bsd3;
+    platforms = with platforms; all;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b5f6de26369d9..bcddfd608b0d7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3076,6 +3076,8 @@ let
 
   cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { };
 
+  coan = callPackage ../development/tools/analysis/coan { };
+
   compcert = callPackage ../development/compilers/compcert {};
 
   cryptol1 = lowPrio (callPackage ../development/compilers/cryptol/1.8.x.nix {});