Skip to content

Commit

Permalink
app-doc/doxygen: bump to 1.8.11, fix lingua support (bug #566510), EA…
Browse files Browse the repository at this point in the history
…PI 5, qt5

 - Version bump to newly released 1.8.11.

 - Change EAPI to 5.

 - Switch Qt support (for doxywizard) to Qt5.

 - Fix LINGUAS support

 - Update live ebuild

Gentoo-Bugs: 566510

Package-Manager: portage-2.2.26
  • Loading branch information
tamiko committed Feb 28, 2016
1 parent 4c2c81c commit 697f3bf
Show file tree
Hide file tree
Showing 4 changed files with 229 additions and 10 deletions.
1 change: 1 addition & 0 deletions app-doc/doxygen/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST doxygen-1.8.10.src.tar.gz 4818276 SHA256 cedf78f6d213226464784ecb999b54515c97eab8a2f9b82514292f837cf88b93 SHA512 a7f29b5f7b9f55b7e5382b7b7dc7212247a27869bc265433c0ee51480645b3f5f0732d1f5aefd54952204c8a1c98b96ec1ecc22c1ff7a072db5b2356b5981074 WHIRLPOOL 5607e1da5cf8e653ec895a7601a3a6585790a555207928bde6d154ab06173c68e088a61c1963da8d8cdc1a571b66eeaa102acc2a2e4291e0be87634d8e554962
DIST doxygen-1.8.11.src.tar.gz 4834291 SHA256 65d08b46e48bd97186aef562dc366681045b119e00f83c5b61d05d37ea154049 SHA512 44f3f9d2715c4cfe628b988809a6264681c43634dfa830f604b6cc853fa6679eca112cc9c01cee5b019f7f01f0a0acdf4f7d3aaec0848783399d17904caf1a3e WHIRLPOOL 240c84bd02ea3ab747e59bb8db434e40e743ed24cbb8ca78b8846d3bb4f7672497106fd620c14851c06d80e474301811978def5d85db5b01df97b40a4ec74813
DIST doxywizard.png 4231 SHA256 eb648ebd3a194a56d9ed6e47cc8dbf1af2e124d83c2c42af9bf86bd837984209 SHA512 5e2d26e7427b86866ebe75ec2c66c0f1100d230f3f3e4d66bac424a8dd0d42f0831d936ff03318dfa1bf73cbd9fb53717636d0c91ae3eea0f4e24641479d25d5 WHIRLPOOL bb0c13b382c4069ca310ff53a03b36499a2bf6e0e8c0647efc032530f429f483b5d6f2925b7e996d4f84c8f2b77eb883533f4b7abc88745a2cfa596d3dd4f3fb
186 changes: 186 additions & 0 deletions app-doc/doxygen/doxygen-1.8.11.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} )

inherit cmake-utils eutils fdo-mime flag-o-matic python-any-r1
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="git://github.com/doxygen/doxygen.git"
SRC_URI=""
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
else
SRC_URI="http://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
fi
SRC_URI+=" https://dev.gentoo.org/~xarthisius/distfiles/doxywizard.png"

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"

#missing SerbianCyrilic, JapaneseEn, KoreanEn, Chinesetraditional
LANGS=(hy ar pt_BR ca zh cs de da eo es fa fi fr el hr hu id it ja ko lt mk
nl nb pl pt ro ru sl sk sr sv tr uk vi af)
for X in "${LANGS[@]}" ; do
IUSE="${IUSE} linguas_${X}"
done

RDEPEND="app-text/ghostscript-gpl
dev-lang/perl
media-libs/libpng
virtual/libiconv
clang? ( sys-devel/clang )
dot? (
media-gfx/graphviz
media-libs/freetype
)
doxysearch? ( =dev-libs/xapian-1.2* )
latex? ( app-text/texlive[extra] )
qt5? (
dev-qt/qtgui:5
dev-qt/qtwidgets:5
)
sqlite? ( dev-db/sqlite:3 )
"

REQUIRED_USE="doc? ( latex )"

DEPEND="sys-apps/sed
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"
EPATCH_SUFFIX="patch"

get_langs() {
# using only user set linguas also fixes #263641
my_linguas=()
for lingua in ${LINGUAS}; do
if has ${lingua} "${LANGS[@]}"; then
case ${lingua} in
hy) lingua=am ;;
pt_BR) lingua=br ;;
zh*) lingua=cn ;;
cs) lingua=cz ;;
da) lingua=dk ;;
el*) lingua=gr ;;
ja*) lingua=jp ;;
ko) lingua=kr ;;
nb) lingua=no ;;
sl) lingua=si ;;
tr*) lingua=tr ;;
uk) lingua=ua ;;
af) lingua=za ;;
esac
has ${lingua} "${my_linguas[@]}" ||
my_linguas+=(${lingua})
fi
done
f_langs="${my_linguas[@]^^}"
echo ${f_langs// /;}
}

pkg_setup() {
use doc && python-any-r1_pkg_setup
}

src_prepare() {
# Ensure we link to -liconv
if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then
for pro in */*.pro.in */*/*.pro.in; do
echo "unix:LIBS += -liconv" >> "${pro}"
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

epatch "${FILESDIR}"/${PN}-1.8.9.1-empty-line-sigsegv.patch #454348

epatch "${FILESDIR}"/${P}-link_with_pthread.patch

# fix pdf doc
sed -i.orig -e "s:g_kowal:g kowal:" \
doc/maintainers.txt || die

if is-flagq "-O3" ; then
echo
ewarn "Compiling with -O3 is known to produce incorrectly"
ewarn "optimized code which breaks doxygen."
echo
elog "Continuing with -O2 instead ..."
echo
replace-flags "-O3" "-O2"
fi
}

src_configure() {
local mycmakeargs=(
-DDOC_INSTALL_DIR="share/doc/${P}"
-DLANG_CODES="$(get_langs)"
$(cmake-utils_use clang use_libclang)
$(cmake-utils_use doc build_doc)
$(cmake-utils_use doxysearch build_search)
$(cmake-utils_use qt5 build_wizard)
$(cmake-utils_use sqlite use_sqlite3)
)

cmake-utils_src_configure
}

src_compile() {
cmake-utils_src_compile

# generate html and pdf documents. errors here are not considered
# fatal, hence the ewarn message TeX's font caching in /var/cache/fonts
# causes sandbox warnings, so we allow it.
if use doc; then
if ! use dot; then
sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \
{Doxyfile,doc/Doxyfile} \
|| ewarn "disabling dot failed"
fi
cd "${BUILD_DIR}" && emake docs
fi
}

src_install() {
if use qt5; then
doicon "${DISTDIR}/doxywizard.png"
make_desktop_entry doxywizard "DoxyWizard ${PV}" \
"/usr/share/pixmaps/doxywizard.png" \
"Development"
fi

dodoc LANGUAGE.HOWTO README.md

cmake-utils_src_install
}

pkg_postinst() {
fdo-mime_desktop_database_update

elog
elog "For examples and other goodies, see the source tarball. For some"
elog "example output, run doxygen on the doxygen source using the"
elog "Doxyfile provided in the top-level source dir."
elog
elog "Disabling the dot USE flag will remove the GraphViz dependency,"
elog "along with Doxygen's ability to generate diagrams in the docs."
elog "See the Doxygen homepage for additional helper tools to parse"
elog "more languages."
elog
}

pkg_postrm() {
fdo-mime_desktop_database_update
}
20 changes: 10 additions & 10 deletions app-doc/doxygen/doxygen-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3,3_4} )

inherit cmake-utils eutils fdo-mime flag-o-matic python-any-r1 qt4-r2
inherit cmake-utils eutils fdo-mime flag-o-matic python-any-r1
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="git://github.com/doxygen/doxygen.git"
Expand All @@ -23,7 +23,7 @@ HOMEPAGE="http://www.doxygen.org/"

LICENSE="GPL-2"
SLOT="0"
IUSE="clang debug doc dot doxysearch latex qt4 sqlite userland_GNU"
IUSE="clang debug doc dot doxysearch latex qt5 sqlite userland_GNU"

#missing SerbianCyrilic, JapaneseEn, KoreanEn, Chinesetraditional
LANGS=(hy ar pt_BR ca zh cs de da eo es fa fi fr el hr hu id it ja ko lt mk
Expand All @@ -43,7 +43,10 @@ RDEPEND="app-text/ghostscript-gpl
)
doxysearch? ( =dev-libs/xapian-1.2* )
latex? ( app-text/texlive[extra] )
qt4? ( dev-qt/qtgui:4 )
qt5? (
dev-qt/qtgui:5
dev-qt/qtwidgets:5
)
sqlite? ( dev-db/sqlite:3 )
"

Expand Down Expand Up @@ -83,7 +86,7 @@ get_langs() {
my_linguas+=(${lingua})
fi
done
f_langs="${my_linguas[@]}"
f_langs="${my_linguas[@]^^}"
echo ${f_langs// /;}
}

Expand All @@ -102,10 +105,7 @@ src_prepare() {
# 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

# prefix search tools patch, plus OSX fixes
epatch "${FILESDIR}"/${PN}-1.8.9.1-empty-line-sigsegv.patch #454348

epatch "${FILESDIR}"/${P}-link_with_pthread.patch
epatch "${FILESDIR}"/${PN}-1.8.11-link_with_pthread.patch

# fix pdf doc
sed -i.orig -e "s:g_kowal:g kowal:" \
Expand All @@ -129,7 +129,7 @@ src_configure() {
$(cmake-utils_use clang use_libclang)
$(cmake-utils_use doc build_doc)
$(cmake-utils_use doxysearch build_search)
$(cmake-utils_use qt4 build_wizard)
$(cmake-utils_use qt5 build_wizard)
$(cmake-utils_use sqlite use_sqlite3)
)

Expand All @@ -153,7 +153,7 @@ src_compile() {
}

src_install() {
if use qt4; then
if use qt5; then
doicon "${DISTDIR}/doxywizard.png"
make_desktop_entry doxywizard "DoxyWizard ${PV}" \
"/usr/share/pixmaps/doxywizard.png" \
Expand Down
32 changes: 32 additions & 0 deletions app-doc/doxygen/files/doxygen-1.8.11-link_with_pthread.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
diff --git a/addon/doxysearch/CMakeLists.txt b/addon/doxysearch/CMakeLists.txt
index 33e01c1..165fc3e 100644
--- a/addon/doxysearch/CMakeLists.txt
+++ b/addon/doxysearch/CMakeLists.txt
@@ -20,6 +20,7 @@ target_link_libraries(doxyindexer
${ZLIB_LIBRARIES}
${WIN_EXTRA_LIBS}
qtools
+ pthread
)

add_executable(doxysearch.cgi
@@ -29,6 +30,7 @@ target_link_libraries(doxysearch.cgi
${XAPIAN_LIBRARIES}
${ZLIB_LIBRARIES}
${WIN_EXTRA_LIBS}
+ pthread
)

install(TARGETS doxyindexer doxysearch.cgi DESTINATION bin)
diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
index bf2eda8..8eb2a1c 100644
--- a/addon/doxywizard/CMakeLists.txt
+++ b/addon/doxywizard/CMakeLists.txt
@@ -109,6 +109,7 @@ ${doxywizard_RESOURCES_RCC}
qt_use_modules(doxywizard Core Gui Widgets Xml)
target_link_libraries(doxywizard
${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY}
+pthread
)

install(TARGETS doxywizard DESTINATION bin)

0 comments on commit 697f3bf

Please sign in to comment.