From 03e53af0f5b30e097239bbe921d2d8ccf754d3c7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 11 Jan 2015 15:21:25 +0100 Subject: [PATCH] Add coan: the C preprocessor chainsaw --- .../tools/analysis/coan/default.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/tools/analysis/coan/default.nix diff --git a/pkgs/development/tools/analysis/coan/default.nix b/pkgs/development/tools/analysis/coan/default.nix new file mode 100644 index 000000000000..0c0f60a507ab --- /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 b5f6de26369d..bcddfd608b0d 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 {});