nixpkgs/pkgs/development/tools/misc/cflow/default.nix
John Wiegley 28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00

57 lines
1.6 KiB
Nix

{ stdenv, fetchurl, gettext, emacs }:
stdenv.mkDerivation rec {
name = "cflow-1.4";
src = fetchurl {
url = "mirror://gnu/cflow/${name}.tar.bz2";
sha256 = "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3";
};
patchPhase = ''
substituteInPlace "src/cflow.h" \
--replace "/usr/bin/cpp" \
"$(cat ${stdenv.cc}/nix-support/orig-gcc)/bin/cpp"
'';
buildInputs = [ gettext ] ++
# We don't have Emacs/GTK/etc. on {Dar,Cyg}win.
stdenv.lib.optional
(! (stdenv.lib.lists.any (x: stdenv.system == x)
[ "i686-cygwin" ]))
emacs;
doCheck = true;
meta = {
description = "Tool to analyze the control flow of C programs";
longDescription = ''
GNU cflow analyzes a collection of C source files and prints a
graph, charting control flow within the program.
GNU cflow is able to produce both direct and inverted flowgraphs
for C sources. Optionally a cross-reference listing can be
generated. Two output formats are implemented: POSIX and GNU
(extended).
The package also provides Emacs major mode for examining the
produced flowcharts in Emacs.
'';
license = stdenv.lib.licenses.gpl3Plus;
homepage = http://www.gnu.org/software/cflow/;
maintainers = [ stdenv.lib.maintainers.ludo ];
/* On Darwin, build fails with:
Undefined symbols:
"_argp_program_version", referenced from:
_argp_program_version$non_lazy_ptr in libcflow.a(argp-parse.o)
ld: symbol(s) not found
*/
platforms = stdenv.lib.platforms.linux;
};
}