app-doc/doxygen: remove latex use flag
[gentoo.git] / app-doc / doxygen / doxygen-1.8.17.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5 PYTHON_COMPAT=( python3_{6,7,8} )
6
7 CMAKE_MAKEFILE_GENERATOR="emake"
8
9 inherit cmake-utils eutils python-any-r1
10 if [[ ${PV} = *9999* ]]; then
11         inherit git-r3
12         EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
13         SRC_URI=""
14         KEYWORDS=""
15 else
16         SRC_URI="http://doxygen.nl/files/${P}.src.tar.gz"
17         KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
18 fi
19
20 DESCRIPTION="Documentation system for most programming languages"
21 HOMEPAGE="http://www.doxygen.org"
22
23 LICENSE="GPL-2"
24 SLOT="0"
25 IUSE="clang debug doc dot doxysearch qt5 sqlite userland_GNU"
26
27 RDEPEND="app-text/ghostscript-gpl
28         dev-lang/perl
29         media-libs/libpng:0=
30         virtual/libiconv
31         clang? ( >=sys-devel/clang-4.0.0:= )
32         dot? (
33                 media-gfx/graphviz
34                 media-libs/freetype
35         )
36         doc? (
37                 dev-texlive/texlive-bibtexextra
38                 dev-texlive/texlive-fontsextra
39                 dev-texlive/texlive-fontutils
40                 dev-texlive/texlive-latex
41                 dev-texlive/texlive-latexextra
42         )
43         doxysearch? ( dev-libs/xapian:= )
44         qt5? (
45                 dev-qt/qtgui:5
46                 dev-qt/qtwidgets:5
47                 dev-qt/qtxml:5
48         )
49         sqlite? ( dev-db/sqlite:3 )
50         "
51
52 DEPEND="sys-devel/flex
53         sys-devel/bison
54         doc? ( ${PYTHON_DEPS} )
55         ${RDEPEND}"
56
57 # src_test() defaults to make -C testing but there is no such directory (bug #504448)
58 RESTRICT="test"
59
60 PATCHES=(
61         "${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348
62         "${FILESDIR}/${PN}-1.8.16-link_with_pthread.patch"
63         "${FILESDIR}/${PN}-1.8.15-llvm7.patch" #666692
64         "${FILESDIR}/${PN}-1.8.17-ensure_static_support_libraries.patch"
65 )
66
67 DOCS=( LANGUAGE.HOWTO README.md )
68
69 pkg_setup() {
70         use doc && python-any-r1_pkg_setup
71 }
72
73 src_prepare() {
74         cmake-utils_src_prepare
75
76         # Ensure we link to -liconv
77         if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then
78                 local pro
79                 for pro in */*.pro.in */*/*.pro.in; do
80                         echo "unix:LIBS += -liconv" >> "${pro}" || die
81                 done
82         fi
83
84         # Call dot with -Teps instead of -Tps for EPS generation - bug #282150
85         sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die
86
87         # fix pdf doc
88         sed -i.orig -e "s:g_kowal:g kowal:" \
89                 doc/maintainers.txt || die
90
91         if is-flagq "-O3" ; then
92                 ewarn
93                 ewarn "Compiling with -O3 is known to produce incorrectly"
94                 ewarn "optimized code which breaks doxygen."
95                 ewarn
96                 elog
97                 elog "Continuing with -O2 instead ..."
98                 elog
99                 replace-flags "-O3" "-O2"
100         fi
101 }
102
103 src_configure() {
104         local mycmakeargs=(
105                 -Duse_libclang=$(usex clang)
106                 -Dbuild_doc=$(usex doc)
107                 -Dbuild_search=$(usex doxysearch)
108                 -Dbuild_wizard=$(usex qt5)
109                 -Duse_sqlite3=$(usex sqlite)
110                 -DGIT_EXECUTABLE="false"
111                 )
112         use doc && mycmakeargs+=(
113                 -DDOC_INSTALL_DIR="share/doc/${P}"
114                 )
115
116         cmake-utils_src_configure
117 }
118
119 src_compile() {
120         cmake-utils_src_compile
121
122         if use doc; then
123                 export VARTEXFONTS="${T}/fonts" # bug #564944
124
125                 if ! use dot; then
126                         sed -i -e "s/HAVE_DOT               = YES/HAVE_DOT    = NO/" \
127                                 {Doxyfile,doc/Doxyfile} \
128                                 || die "disabling dot failed"
129                 fi
130                 cmake-utils_src_make -C "${BUILD_DIR}" docs
131         fi
132 }
133
134 src_install() {
135         cmake-utils_src_install
136 }