about summary refs log tree commit diff
path: root/pkgs/development/tools/documentation/doxygen/default.nix
blob: 9d15dc29772da10269e58f857d03dc04ae60d905 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{stdenv, fetchurl, graphviz, perl, flex, bison, gnumake, libX11, libXext, qt}:

stdenv.mkDerivation rec {
  name = "doxygen-1.7.1";

  src = fetchurl {
    url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
    sha256 = "0cfs96iqsddqwkimlzrkpzksm8dhi5fjai49fvhdfw2934xnz1jb";
  };

  patches = [ ./tmake.patch ];

  buildInputs = [ graphviz perl flex bison libX11 libXext ]
    ++ (if (qt != null) then [ qt ] else []);

  prefixKey = "--prefix ";
  configureFlags = "--release"
		 + (if qt == null then "" else " --with-doxywizard")
		 ;
  makeFlags = "MAN1DIR=share/man/man1";
  preConfigure =
   (if (qt == null)
    then ""
    else ''
      echo "using QTDIR=${qt}..."
      export QTDIR=${qt}
    '');
      # export CPLUS_INCLUDE_PATH="${qt}/include:$CPLUS_INCLUDE_PATH"
      # export LIBRARY_PATH="${qt}/lib:$LIBRARY_PATH"

  meta = {
    license = "GPLv2+";
    homepage = "http://doxygen.org/";
    description = "Doxygen, a source code documentation generator tool";

    longDescription = ''
      Doxygen is a documentation system for C++, C, Java, Objective-C,
      Python, IDL (CORBA and Microsoft flavors), Fortran, VHDL, PHP,
      C\#, and to some extent D.  It can generate an on-line
      documentation browser (in HTML) and/or an off-line reference
      manual (in LaTeX) from a set of documented source files.
    '';

    maintainers = [stdenv.lib.maintainers.simons];
    platforms = stdenv.lib.platforms.unix;
  };
}