source: trunk/dports/textproc/doxygen/Portfile

Last change on this file was 149412, checked in by mcalhoun@…, 17 months ago

doxygen: ensure that python2.7 is used (#50342)
no revbump since port builds correctly or not at all

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.6 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 149412 2016-06-18 14:34:51Z ryandesign@macports.org $
3
4PortSystem              1.0
5PortGroup               cmake 1.0
6
7name                    doxygen
8version                 1.8.10
9revision                2
10categories              textproc devel
11maintainers             css openmaintainer
12license                 GPL-2
13description             Documentation system for several programming languages
14long_description        It can generate an on-line documentation browser \
15                        (in HTML) and/or an off-line reference manual \
16                        from a set of documented source files. There is \
17                        also support for generating output in RTF \
18                        (MS-Word), PostScript, hyperlinked PDF, \
19                        compressed HTML, and Unix man pages. The \
20                        documentation is extracted directly from the \
21                        sources, which makes it much easier to keep the \
22                        documentation consistent with the source code. \
23                        You can configure doxygen to extract the code \
24                        structure from undocumented source files. This \
25                        is very useful to quickly find your way in large \
26                        source distributions. You can also visualize the \
27                        relations between the various elements by means \
28                        of include dependency graphs, inheritance \
29                        diagrams, and collaboration diagrams, which are \
30                        all generated automatically.
31
32platforms               darwin
33
34homepage                http://www.doxygen.org/
35master_sites            http://ftp.stack.nl/pub/users/dimitri/ \
36                        ftp://ftp.stack.nl/pub/users/dimitri/
37distfiles               ${distname}.src${extract.suffix}
38
39checksums               ${distname}.src${extract.suffix} \
40                        rmd160  be064f0e8f00e6e20ed7c128f595e7010be1f23a \
41                        sha256  cedf78f6d213226464784ecb999b54515c97eab8a2f9b82514292f837cf88b93
42
43depends_build-append    bin:perl:perl5 \
44                        bin:python2.7:python27 \
45                        port:flex \
46                        port:bison
47license_noconflict      perl5 python27
48
49depends_lib             port:libpng \
50                        port:libiconv
51
52patchfiles              patch-src-portable_c.c.diff \
53                        fix_dumb_cxxflags.patch \
54                        cf936efb8ae99dd297b6afb9c6a06beb81f5b0fb.patch \
55                        8c51120ad55b440b738ef0b96f8169d84a7ae88a.patch \
56                        a8c73cdbe37cc53c398002d20e94037552a8fb55.patch
57
58# see #50342
59configure.args-append -DPython_ADDITIONAL_VERSIONS=2.7
60
61# cmake PortGroup sets arch flags
62# duplicate archflags can cause problems
63# see #50044
64# see #48331
65# see https://cmake.org/pipermail/cmake-developers/2015-September/thread.html#26586
66configure.universal_cflags
67configure.universal_cxxflags
68configure.universal_objcflags
69configure.universal_objcxxflags
70configure.universal_ldflags
71configure.cc_archflags
72configure.cxx_archflags
73configure.objc_archflags
74configure.objcxx_archflags
75configure.ld_archflags
76
77post-extract {
78    # Use our flex
79    delete ${worksrcpath}/src/ce_lex.cpp
80    delete ${worksrcpath}/src/code.cpp
81    delete ${worksrcpath}/src/commentcnv.cpp
82    delete ${worksrcpath}/src/commentscan.cpp
83    delete ${worksrcpath}/src/config.cpp
84    delete ${worksrcpath}/src/declinfo.cpp
85    delete ${worksrcpath}/src/defargs.cpp
86    delete ${worksrcpath}/src/doctokenizer.cpp
87    delete ${worksrcpath}/src/fortrancode.cpp
88    delete ${worksrcpath}/src/fortranscanner.cpp
89    delete ${worksrcpath}/src/pre.cpp
90    delete ${worksrcpath}/src/pycode.cpp
91    delete ${worksrcpath}/src/pyscanner.cpp
92    delete ${worksrcpath}/src/scanner.cpp
93    delete ${worksrcpath}/src/tclscanner.cpp
94    delete ${worksrcpath}/src/vhdlcode.cpp
95    delete ${worksrcpath}/src/vhdlscanner.cpp
96
97    # Use our bison
98    delete ${worksrcpath}/src/ce_parse.cpp
99    delete ${worksrcpath}/src/ce_parse.h
100    delete ${worksrcpath}/src/vhdlparser.cpp
101    delete ${worksrcpath}/src/vhdlparser.h
102}
103
104set cxx_stdlibflags {}
105if {[string match *clang* ${configure.cxx}]} {
106    set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
107}
108
109# build fails out of source :/
110cmake.out_of_source     no
111
112destroot.args           INSTALL=${prefix} \
113                        DOCDIR=${prefix}/share/doc/doxygen \
114                        MAN1DIR=share/man/man1
115
116variant docs description {Include the doxygen HTML and PDF documentation} {
117    configure.args-append   -Dbuild_doc=YES \
118                            -EPSTOPDF=${prefix}/bin/epstopdf
119
120    patchfiles-append       patch-doc-CMakeLists.txt.diff \
121                            patch-doc-CMakeLists.txt-man-to-share-man.diff \
122                            patch-examples-CMakeLists.txt.diff
123
124    depends_build-append    path:bin/dot:graphviz \
125                            bin:gs:ghostscript \
126                            port:texlive \
127                            port:texlive-latex-extra
128
129    build.target-append     docs
130    use_parallel_build      no
131}
132
133variant wizard description {Include the GUI wizard based on Qt4} {
134    # use the Qt4 PortGroup, which provides a bunch of variables
135    # and defines for how Qt4 was installed
136    PortGroup qt4 1.0
137
138    # tell configure to make the wizard app
139    configure.args-append   -Dbuild_wizard=YES
140}
141
142livecheck.type          regex
143livecheck.url           http://www.stack.nl/~dimitri/doxygen/download.html
144livecheck.regex         {latest version of doxygen is (\d+(?:\.\d+)*)}
Note: See TracBrowser for help on using the repository browser.