diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix new file mode 100644 index 000000000000..78bcb2226a3a --- /dev/null +++ b/pkgs/development/tools/misc/cppi/default.nix @@ -0,0 +1,33 @@ +{ fetchurl, xz, stdenv }: + +stdenv.mkDerivation rec { + name = "cppi-1.14"; + + src = fetchurl { + url = "mirror://gnu/cppi/${name}.tar.xz"; + sha256 = "0n7388f5z4nnyh17rnj7h0kvml3x2mba6a5km87k2bvm5v4mcrfc"; + }; + + buildInputs = [ xz ]; + + doCheck = true; + + meta = { + homepage = http://savannah.gnu.org/projects/cppi/; + + description = "GNU cppi, a cpp directive indenter"; + + longDescription = + '' GNU cppi indents C preprocessor directives to reflect their nesting + and ensure that there is exactly one space character between each #if, + #elif, #define directive and the following token. The number of + spaces between the `#' and the following directive must correspond + to the level of nesting of that directive. + ''; + + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 520b4eba5aa3..a014878dbdee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2906,6 +2906,10 @@ let inherit fetchurl stdenv perl python ocaml ncurses makeWrapper; }; + cppi = import ../development/tools/misc/cppi { + inherit fetchurl stdenv xz; + }; + cproto = import ../development/tools/misc/cproto { inherit fetchurl stdenv flex bison; };