gnu: Add doxygen.
* gnu/packages/doxygen.scm: New file. * gnu/packages/patches/doxygen-test.patch, gnu/packages/patches/doxygen-tmake.patch: New files. * gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Register the new files.master
parent
c0412fedf8
commit
436d4d1fbb
|
@ -61,6 +61,7 @@ GNU_SYSTEM_MODULES = \
|
|||
gnu/packages/ddrescue.scm \
|
||||
gnu/packages/dictionaries.scm \
|
||||
gnu/packages/docbook.scm \
|
||||
gnu/packages/doxygen.scm \
|
||||
gnu/packages/dwm.scm \
|
||||
gnu/packages/ed.scm \
|
||||
gnu/packages/elf.scm \
|
||||
|
@ -271,6 +272,8 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||
gnu/packages/patches/dmd-getpw.patch \
|
||||
gnu/packages/patches/dmd-tests-longer-sleeps.patch \
|
||||
gnu/packages/patches/doxygen-test.patch \
|
||||
gnu/packages/patches/doxygen-tmake.patch \
|
||||
gnu/packages/patches/emacs-configure-sh.patch \
|
||||
gnu/packages/patches/findutils-absolute-paths.patch \
|
||||
gnu/packages/patches/flac-fix-memcmp-not-declared.patch \
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages doxygen)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
(define-public doxygen
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.8.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
|
||||
name "-" version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ng3dv5fninhfi2fj75ghkr5jwsl653fxv2sxhaswj11x2vcdsn6"))
|
||||
(patches (list (search-patch "doxygen-tmake.patch")
|
||||
(search-patch "doxygen-test.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
;; The presence of graphviz is checked, but it does not seem to influence
|
||||
;; the output: Even after adding it as an input, no reference to it is
|
||||
;; retained. It might be an option to add it as a propagated input,
|
||||
;; only so that it becomes installed in the user profile.
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("libxml2" ,libxml2) ; provides xmllint for the tests
|
||||
("perl" ,perl) ; for the tests
|
||||
("python" ,python-2))) ; for creating the documentation
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; do not pass "--enable-fast-install", which makes the
|
||||
;; configure process fail
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
"--prefix" out))))
|
||||
%standard-phases)))
|
||||
(home-page "http://www.stack.nl/~dimitri/doxygen/")
|
||||
(synopsis "tool for generating documentation from annotated sources")
|
||||
(description "Doxygen is the de facto standard tool for generating
|
||||
documentation from annotated C++ sources, but it also supports other popular
|
||||
programming languages such as C, Objective-C, C#, PHP, Java, Python,
|
||||
IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
|
||||
and to some extent D.")
|
||||
(license gpl3+)))
|
|
@ -0,0 +1,38 @@
|
|||
Modify the expected outcome of test 012 so that it passes when bibtex is
|
||||
not in the path, as we do not wish to add texlive as an input just for this
|
||||
test.
|
||||
|
||||
diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml
|
||||
--- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200
|
||||
+++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200
|
||||
@@ -4,17 +4,6 @@
|
||||
<compoundname>citelist</compoundname>
|
||||
<title>Bibliography</title>
|
||||
<detaileddescription>
|
||||
- <para>
|
||||
- <variablelist>
|
||||
- <varlistentry>
|
||||
- <term><anchor id="_1CITEREF_knuth79"/>[1]</term>
|
||||
- </varlistentry>
|
||||
- <listitem>
|
||||
- <para>Donald<nonbreakablespace/>E. Knuth. <emphasis>Tex and Metafont, New Directions in Typesetting</emphasis>. American Mathematical Society and Digital Press, Stanford, 1979.</para>
|
||||
- <para/>
|
||||
- </listitem>
|
||||
- </variablelist>
|
||||
- </para>
|
||||
</detaileddescription>
|
||||
</compounddef>
|
||||
</doxygen>
|
||||
diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/012/indexpage.xml
|
||||
--- doxygen-1.8.7.orig/testing/012/indexpage.xml 2014-04-24 23:43:34.000000000 +0200
|
||||
+++ doxygen-1.8.7/testing/012/indexpage.xml 2014-04-24 23:44:05.000000000 +0200
|
||||
@@ -4,7 +4,7 @@
|
||||
<compoundname>index</compoundname>
|
||||
<title>My Project</title>
|
||||
<detaileddescription>
|
||||
- <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">[1]</ref> for more info. </para>
|
||||
+ <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">knuth79</ref> for more info. </para>
|
||||
</detaileddescription>
|
||||
</compounddef>
|
||||
</doxygen>
|
||||
Nur in doxygen-1.8.7/testing: test_output_012.
|
|
@ -0,0 +1,24 @@
|
|||
Fix the `check_unix' function, which looks for `/bin/uname' to determine
|
||||
whether we're on a Unix-like system.
|
||||
Taken from nixpkgs.
|
||||
|
||||
--- 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;
|
||||
}
|
||||
|
Reference in New Issue