From a2317f69971a8d65565582021b3e64e09ba36f96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 Mar 2009 15:17:53 +0000 Subject: [PATCH] Doxygen 1.5.8. svn path=/nixpkgs/trunk/; revision=14350 --- .../tools/documentation/doxygen/default.nix | 39 +++++++++++++++++-- .../tools/documentation/doxygen/tmake.patch | 23 +++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/tools/documentation/doxygen/tmake.patch diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index e5a91ec6b01b..de05ba2d1439 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -1,15 +1,46 @@ {stdenv, fetchurl, graphviz, perl, flex, bison, gnumake, libX11, libXext, qt}: stdenv.mkDerivation rec { - name = "doxygen-1.5.7.1"; + name = "doxygen-1.5.8"; + src = fetchurl { url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz"; - sha256 = "0abds9d2ff4476105myl4933q6l4vqyyyajx6qial88iffbczsbw"; + sha256 = "1y2gyijhknam51jyh5ja2z5hlj0mr7r328rrwf27g7ljgsphlm01"; }; - buildInputs = [graphviz perl flex bison libX11 libXext qt]; + + patches = [ ./tmake.patch ]; + + buildInputs = [ graphviz perl flex bison libX11 libXext ] + ++ (if qt != null then [ qt ] else []); + prefixKey = "--prefix "; configureFlags = "--release" - + " --make ${gnumake}/bin/make" + (if qt == null then "" else " --with-doxywizard") ; + + 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 = { + 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. + ''; + + homepage = http://doxygen.org/; + + license = "GPLv2+"; + }; } diff --git a/pkgs/development/tools/documentation/doxygen/tmake.patch b/pkgs/development/tools/documentation/doxygen/tmake.patch new file mode 100644 index 000000000000..4bba986c12c9 --- /dev/null +++ b/pkgs/development/tools/documentation/doxygen/tmake.patch @@ -0,0 +1,23 @@ +Fix the `check_unix' function, which looks for `/bin/uname' to determine +whether we're on a Unix-like system. + +--- doxygen-1.5.8/tmake/bin/tmake 2008-12-06 14:16:20.000000000 +0100 ++++ doxygen-1.5.8/tmake/bin/tmake 2009-03-05 11:29:55.000000000 +0100 +@@ -234,17 +234,7 @@ sub tmake_verb { + # + + sub check_unix { +- my($r); +- $r = 0; +- if ( -f "/bin/uname" ) { +- $r = 1; +- (-f "\\bin\\uname") && ($r = 0); +- } +- if ( -f "/usr/bin/uname" ) { +- $r = 1; +- (-f "\\usr\\bin\\uname") && ($r = 0); +- } +- return $r; ++ return 1; + } + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf2929776eb5..db0ea33f15ba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2341,7 +2341,7 @@ let doxygen = import ../development/tools/documentation/doxygen { inherit fetchurl stdenv graphviz perl flex bison gnumake; inherit (xlibs) libX11 libXext; - qt = if getPkgConfig "doxygen" "qt3" true then qt3 else null; + qt = if getPkgConfig "doxygen" "qt4" true then qt4 else null; }; elfutils = composedArgsAndFun