public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Matthias Maier" <tamiko@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-doc/doxygen/files/, app-doc/doxygen/
Date: Thu, 10 Dec 2020 19:14:07 +0000 (UTC)	[thread overview]
Message-ID: <1607627633.9029f41ab66a980289f88eb31c7eb8cd15331416.tamiko@gentoo> (raw)

commit:     9029f41ab66a980289f88eb31c7eb8cd15331416
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 10 19:13:12 2020 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Thu Dec 10 19:13:53 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9029f41a

app-doc/doxygen: add LLVM 10/11 compatibility patch

 * apply in revision bump and mark as stable

Closes: https://bugs.gentoo.org/730170
Package-Manager: Portage-3.0.11, Repoman-3.0.2
RepoMan-Options: --force
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 app-doc/doxygen/doxygen-1.8.17-r1.ebuild          | 137 ++++++++++++++++++++++
 app-doc/doxygen/files/doxygen-1.8.17-llvm10.patch |  42 +++++++
 2 files changed, 179 insertions(+)

diff --git a/app-doc/doxygen/doxygen-1.8.17-r1.ebuild b/app-doc/doxygen/doxygen-1.8.17-r1.ebuild
new file mode 100644
index 00000000000..20cd6cf9312
--- /dev/null
+++ b/app-doc/doxygen/doxygen-1.8.17-r1.ebuild
@@ -0,0 +1,137 @@
+# 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 flag-o-matic llvm python-any-r1
+if [[ ${PV} = *9999* ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+	SRC_URI=""
+else
+	SRC_URI="http://doxygen.nl/files/${P}.src.tar.gz"
+	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 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 qt5 sqlite userland_GNU"
+
+RDEPEND="app-text/ghostscript-gpl
+	dev-lang/perl
+	media-libs/libpng:0=
+	virtual/libiconv
+	clang? ( sys-devel/clang:= )
+	dot? (
+		media-gfx/graphviz
+		media-libs/freetype
+	)
+	doc? (
+		dev-texlive/texlive-bibtexextra
+		dev-texlive/texlive-fontsextra
+		dev-texlive/texlive-fontutils
+		dev-texlive/texlive-latex
+		dev-texlive/texlive-latexextra
+	)
+	doxysearch? ( dev-libs/xapian:= )
+	qt5? (
+		dev-qt/qtgui:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+	)
+	sqlite? ( dev-db/sqlite:3 )
+	"
+
+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"
+	"${FILESDIR}/${PN}-1.8.17-llvm10.patch" #730170
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+	use clang && llvm_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-llvm10.patch b/app-doc/doxygen/files/doxygen-1.8.17-llvm10.patch
new file mode 100644
index 00000000000..2b2ca0ef733
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.17-llvm10.patch
@@ -0,0 +1,42 @@
+diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt
+index ae52cab..04b9293 100644
+--- a/addon/doxyapp/CMakeLists.txt
++++ b/addon/doxyapp/CMakeLists.txt
+@@ -14,7 +14,7 @@ doxyapp.cpp
+ )
+ 
+ if (use_libclang)
+-    set(CLANG_LIBS libclang clangTooling ${llvm_libs})
++    set(CLANG_LIBS libclang clang-cpp ${llvm_libs})
+ endif()
+ 
+ target_link_libraries(doxyapp
+diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt
+index 2387f1b..c880c3d 100644
+--- a/addon/doxyparse/CMakeLists.txt
++++ b/addon/doxyparse/CMakeLists.txt
+@@ -14,7 +14,7 @@ doxyparse.cpp
+ )
+ 
+ if (use_libclang)
+-    set(CLANG_LIBS libclang clangTooling ${llvm_libs})
++    set(CLANG_LIBS libclang clang-cpp ${llvm_libs})
+ endif()
+ 
+ target_link_libraries(doxyparse
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 3f4767c..d6891a6 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -310,9 +310,9 @@ if (use_libclang)
+     endif()
+     include_directories(${LLVM_INCLUDE_DIRS})
+     add_definitions(${LLVM_DEFINITIONS})
+-    llvm_map_components_to_libnames(llvm_libs support core option)
++    llvm_map_components_to_libnames(llvm_libs support)
+     target_compile_definitions(doxygen PRIVATE ${LLVM_DEFINITIONS})
+-    set(CLANG_LIBS libclang clangTooling clangBasic clangLex ${llvm_libs})
++    set(CLANG_LIBS libclang clang-cpp ${llvm_libs})
+ endif()
+ 
+ target_link_libraries(doxygen


             reply	other threads:[~2020-12-10 19:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-10 19:14 Matthias Maier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-05-27  3:06 [gentoo-commits] repo/gentoo:master commit in: app-doc/doxygen/files/, app-doc/doxygen/ Sam James
2022-11-10  6:10 Sam James
2022-05-14 20:40 Matthias Maier
2021-09-15 22:03 James Le Cuirot
2020-03-01 18:36 Matthias Maier
2019-12-12 19:46 Matthias Maier
2019-12-12 19:23 Matthias Maier
2019-10-28 16:20 Matthias Maier
2019-06-30 18:44 Matthias Maier
2017-02-25 21:31 Matthias Maier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1607627633.9029f41ab66a980289f88eb31c7eb8cd15331416.tamiko@gentoo \
    --to=tamiko@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox