source: trunk/dports/textproc/doxygen/Portfile @ 144650

Last change on this file since 144650 was 144650, checked in by jeremyhu@…, 23 months ago

doxygen: Fix CXXFLAGS to address a build failure on SL and incorrect deployment target elsewhere

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.5 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 144650 2016-01-14 17:47:55Z jeremyhu@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# cmake PortGroup sets arch flags
59# duplicate archflags can cause problems
60# see #50044
61# see #48331
62# see https://cmake.org/pipermail/cmake-developers/2015-September/thread.html#26586
63configure.universal_cflags
64configure.universal_cxxflags
65configure.universal_objcflags
66configure.universal_objcxxflags
67configure.universal_ldflags
68configure.cc_archflags
69configure.cxx_archflags
70configure.objc_archflags
71configure.objcxx_archflags
72configure.ld_archflags
73
74post-extract {
75    # Use our flex
76    delete ${worksrcpath}/src/ce_lex.cpp
77    delete ${worksrcpath}/src/code.cpp
78    delete ${worksrcpath}/src/commentcnv.cpp
79    delete ${worksrcpath}/src/commentscan.cpp
80    delete ${worksrcpath}/src/config.cpp
81    delete ${worksrcpath}/src/declinfo.cpp
82    delete ${worksrcpath}/src/defargs.cpp
83    delete ${worksrcpath}/src/doctokenizer.cpp
84    delete ${worksrcpath}/src/fortrancode.cpp
85    delete ${worksrcpath}/src/fortranscanner.cpp
86    delete ${worksrcpath}/src/pre.cpp
87    delete ${worksrcpath}/src/pycode.cpp
88    delete ${worksrcpath}/src/pyscanner.cpp
89    delete ${worksrcpath}/src/scanner.cpp
90    delete ${worksrcpath}/src/tclscanner.cpp
91    delete ${worksrcpath}/src/vhdlcode.cpp
92    delete ${worksrcpath}/src/vhdlscanner.cpp
93
94    # Use our bison
95    delete ${worksrcpath}/src/ce_parse.cpp
96    delete ${worksrcpath}/src/ce_parse.h
97    delete ${worksrcpath}/src/vhdlparser.cpp
98    delete ${worksrcpath}/src/vhdlparser.h
99}
100
101set cxx_stdlibflags {}
102if {[string match *clang* ${configure.cxx}]} {
103    set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
104}
105
106# build fails out of source :/
107cmake.out_of_source     no
108
109destroot.args           INSTALL=${prefix} \
110                        DOCDIR=${prefix}/share/doc/doxygen \
111                        MAN1DIR=share/man/man1
112
113variant docs description {Include the doxygen HTML and PDF documentation} {
114    configure.args-append   -Dbuild_doc=YES \
115                            -EPSTOPDF=${prefix}/bin/epstopdf
116
117    patchfiles-append       patch-doc-CMakeLists.txt.diff \
118                            patch-doc-CMakeLists.txt-man-to-share-man.diff \
119                            patch-examples-CMakeLists.txt.diff
120
121    depends_build-append    path:bin/dot:graphviz \
122                            bin:gs:ghostscript \
123                            port:texlive \
124                            port:texlive-latex-extra
125
126    build.target-append     docs
127    use_parallel_build      no
128}
129
130variant wizard description {Include the GUI wizard based on Qt4} {
131    # use the Qt4 PortGroup, which provides a bunch of variables
132    # and defines for how Qt4 was installed
133    PortGroup qt4 1.0
134
135    # tell configure to make the wizard app
136    configure.args-append   -Dbuild_wizard=YES
137}
138
139livecheck.type          regex
140livecheck.url           http://www.stack.nl/~dimitri/doxygen/download.html
141livecheck.regex         {latest version of doxygen is (\d+(?:\.\d+)*)}
Note: See TracBrowser for help on using the repository browser.