diff --git a/app-doc/doxygen/Manifest b/app-doc/doxygen/Manifest index 0467e383742a5..617e2dfa6b320 100644 --- a/app-doc/doxygen/Manifest +++ b/app-doc/doxygen/Manifest @@ -1,2 +1,3 @@ DIST doxygen-1.8.15.src.tar.gz 5097791 BLAKE2B 08903bf06666911df0810ea0a7b86066e7682833b03ae5660094112c5c6506f072c5818185ce8166d09328e62092461acdb4516b58fe9369119f5f6bdd64331a SHA512 a5512e78be66c1591d8ec7e284d5d25c92a97218c79e6fed3c538c723a8dfef4ff7085970bf271a6b639e907157cd4df9fb55d3c975f8d3302fb1012a4d92079 DIST doxygen-1.8.16.src.tar.gz 5497317 BLAKE2B ec1ba4242bd3ef669f92101044049f10a6e5c2d69f5a7c8eb47915fdc0846ce4758eb8c1ab28ec61635bf36f83049f603f3b70033f7e22be18685cb1d9826462 SHA512 46a0189aa82d5a687bdd99a904f0c061fccca407d15867d14c8c4d13e8b21a8989e7ccd6af30840803b589ed20dd86084a4db880fba0d3bfa1fdcdd8d23e12de +DIST doxygen-1.8.17.src.tar.gz 5138888 BLAKE2B 79d7d64fe2104f3fc802e9ee8f5fcd13ed4f0e23fe3e8d8013d1724d917d5f4e7d8c2df672e253aa2c8d67e839a6169632ebd87bc281b8ee70d217f486e402f7 SHA512 2fd087d127e301ea48355ea52c9af4f2091df06551cf64da80df81f0758194b296efb1e8d3962867a6a6d2da5a3fc323842f7766a445748005b30097ded30a75 diff --git a/app-doc/doxygen/doxygen-1.8.17.ebuild b/app-doc/doxygen/doxygen-1.8.17.ebuild new file mode 100644 index 0000000000000..d75181643d485 --- /dev/null +++ b/app-doc/doxygen/doxygen-1.8.17.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8} ) + +CMAKE_MAKEFILE_GENERATOR="emake" + +inherit cmake-utils eutils python-any-r1 +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/doxygen/doxygen.git" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://doxygen.nl/files/${P}.src.tar.gz" + 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" +fi + +DESCRIPTION="Documentation system for most programming languages" +HOMEPAGE="http://www.doxygen.org" + +LICENSE="GPL-2" +SLOT="0" +IUSE="clang debug doc dot doxysearch latex qt5 sqlite userland_GNU" + +RDEPEND="app-text/ghostscript-gpl + dev-lang/perl + media-libs/libpng:0= + virtual/libiconv + clang? ( >=sys-devel/clang-4.0.0:= ) + dot? ( + media-gfx/graphviz + media-libs/freetype + ) + doxysearch? ( dev-libs/xapian:= ) + latex? ( + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + qt5? ( + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + ) + sqlite? ( dev-db/sqlite:3 ) + " + +REQUIRED_USE="doc? ( latex )" + +DEPEND="sys-devel/flex + sys-devel/bison + doc? ( ${PYTHON_DEPS} ) + ${RDEPEND}" + +# src_test() defaults to make -C testing but there is no such directory (bug #504448) +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348 + "${FILESDIR}/${PN}-1.8.16-link_with_pthread.patch" + "${FILESDIR}/${PN}-1.8.15-llvm7.patch" #666692 + "${FILESDIR}/${PN}-1.8.17-ensure_static_support_libraries.patch" +) + +DOCS=( LANGUAGE.HOWTO README.md ) + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +src_prepare() { + cmake-utils_src_prepare + + # Ensure we link to -liconv + if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then + local pro + for pro in */*.pro.in */*/*.pro.in; do + echo "unix:LIBS += -liconv" >> "${pro}" || die + done + fi + + # Call dot with -Teps instead of -Tps for EPS generation - bug #282150 + sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die + + # fix pdf doc + sed -i.orig -e "s:g_kowal:g kowal:" \ + doc/maintainers.txt || die + + if is-flagq "-O3" ; then + ewarn + ewarn "Compiling with -O3 is known to produce incorrectly" + ewarn "optimized code which breaks doxygen." + ewarn + elog + elog "Continuing with -O2 instead ..." + elog + replace-flags "-O3" "-O2" + fi +} + +src_configure() { + local mycmakeargs=( + -Duse_libclang=$(usex clang) + -Dbuild_doc=$(usex doc) + -Dbuild_search=$(usex doxysearch) + -Dbuild_wizard=$(usex qt5) + -Duse_sqlite3=$(usex sqlite) + -DGIT_EXECUTABLE="false" + ) + use doc && mycmakeargs+=( + -DDOC_INSTALL_DIR="share/doc/${P}" + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + + if use doc; then + export VARTEXFONTS="${T}/fonts" # bug #564944 + + if ! use dot; then + sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \ + {Doxyfile,doc/Doxyfile} \ + || die "disabling dot failed" + fi + cmake-utils_src_make -C "${BUILD_DIR}" docs + fi +} + +src_install() { + cmake-utils_src_install +} diff --git a/app-doc/doxygen/files/doxygen-1.8.17-ensure_static_support_libraries.patch b/app-doc/doxygen/files/doxygen-1.8.17-ensure_static_support_libraries.patch new file mode 100644 index 0000000000000..285ea16ac96ef --- /dev/null +++ b/app-doc/doxygen/files/doxygen-1.8.17-ensure_static_support_libraries.patch @@ -0,0 +1,27 @@ +From d7b0a0ef152312b9242cbbe7405ee49310e7909e Mon Sep 17 00:00:00 2001 +From: Matthias Maier +Date: Sun, 1 Mar 2020 11:50:14 -0600 +Subject: [PATCH] CMake: Mark the libmsc library static + +With CMake 3.16.4 at least we end up with a shared library and +subsequent linking fails. +--- + libmscgen/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt +index 079fcfc..fbf3f4f 100644 +--- a/libmscgen/CMakeLists.txt ++++ b/libmscgen/CMakeLists.txt +@@ -16,7 +16,7 @@ foreach(lex_file ${LEX_FILES}) + FLEX_TARGET(${lex_file} ${lex_file}.l ${GENERATED_SRC}/${lex_file}.cpp COMPILE_FLAGS "${LEX_FLAGS}") + endforeach() + +-add_library(mscgen ++add_library(mscgen STATIC + gd.c + gd_security.c + gdfontt.c +-- +2.24.1 +