diff --git a/pkgs/development/tools/documentation/doxygen/1.7.nix b/pkgs/development/tools/documentation/doxygen/1.7.nix new file mode 100644 index 00000000000..86f2e8cf2b2 --- /dev/null +++ b/pkgs/development/tools/documentation/doxygen/1.7.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, perl, flex, bison, qt4 }: + +let + name = "doxygen-1.7.4"; +in +stdenv.mkDerivation { + inherit name; + + src = fetchurl { + url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz"; + sha256 = "0rnzyp5f8c454fdkgpg5hpxwmx642spgxcpw3blbvnyw8129jp44"; + }; + + patches = [ ./tmake.patch ]; + + buildInputs = + [ perl flex bison ] + ++ stdenv.lib.optional (qt4 != null) qt4; + + prefixKey = "--prefix "; + + configureFlags = + [ "--dot dot" ] + ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard"; + + preConfigure = stdenv.lib.optionalString (qt4 != null) + '' + echo "using QTDIR=${qt4}..." + export QTDIR=${qt4} + ''; + + makeFlags = "MAN1DIR=share/man/man1"; + + enableParallelBuilding = true; + + 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 = if (qt4 != null) then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e74aba5c27c..8b9d0ac32f7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3007,6 +3007,15 @@ let doxygen = lowPrio (doxygen_gui.override { qt4 = null; }); + /* XXX: The LaTeX output with Doxygen 1.8.0 makes LaTeX barf: + + ! You can't use `\/' in vertical mode. + + Thus, keep 1.7 around until a better fix is available. */ + doxygen_1_7 = callPackage ../development/tools/documentation/doxygen/1.7.nix { + qt4 = null; + }; + doxygen_gui = callPackage ../development/tools/documentation/doxygen { }; eggdbus = callPackage ../development/tools/misc/eggdbus { };