diff options
Diffstat (limited to 'app-doc/root-docs/root-docs-6.02.05.ebuild')
-rw-r--r-- | app-doc/root-docs/root-docs-6.02.05.ebuild | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/app-doc/root-docs/root-docs-6.02.05.ebuild b/app-doc/root-docs/root-docs-6.02.05.ebuild new file mode 100644 index 000000000000..cf871ee9625a --- /dev/null +++ b/app-doc/root-docs/root-docs-6.02.05.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +ROOT_PN="root" +ROOFIT_DOC_PV=2.91-33 +ROOFIT_QS_DOC_PV=3.00 +TMVA_DOC_PV=4.2.0 + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EVCS_OFFLINE=yes # we need exactly the same checkout as root itself + EGIT_REPO_URI="http://root.cern.ch/git/root.git" +else + SRC_URI="ftp://root.cern.ch/${ROOT_PN}/${ROOT_PN}_v${PV}.source.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${ROOT_PN}-${PV}" +fi + +inherit eutils multilib virtualx + +DESCRIPTION="Documentation for ROOT Data Analysis Framework" +HOMEPAGE="http://root.cern.ch/drupal" +SRC_URI="${SRC_URI} + math? ( + http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf + http://root.cern.ch/download/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf + http://root.cern.ch/drupal/sites/default/files/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf ) + api? ( + ${HOMEPAGE}/sites/default/files/images/root6-banner.jpg + ${HOMEPAGE}/sites/all/themes/newsflash/images/info.png )" + +SLOT="0" +LICENSE="LGPL-2.1" +IUSE="api +math +metric http" + +VIRTUALX_REQUIRED="api" + +DEPEND=" + app-text/pandoc + dev-haskell/pandoc-citeproc[bibutils] + dev-texlive/texlive-latex + virtual/pkgconfig + api? ( + media-fonts/dejavu + ~sci-physics/root-${PV}[X,graphviz,opengl] + )" +RDEPEND="" + +DOC_DIR="/usr/share/doc/${ROOT_PN}-${PV}" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + # we need to force sci-physics/root checkout here + git-r3_checkout "${EGIT_REPO_URI}" "${WORKDIR}/${P}" "sci-physics/root/0" + else + default + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-6.00.01-makehtml.patch" \ + "${FILESDIR}/${PN}-6.02.05-jsroot.patch" + + # prefixify the configure script + sed -i \ + -e "s:/usr:${EPREFIX}/usr:g" \ + configure || die "prefixify configure failed" +} + +src_configure() { + # we need only to setup paths here, html docs doesn't depend on USE flags + if use api; then + ./configure \ + --prefix="${EPREFIX}/usr" \ + --etcdir="${EPREFIX}/etc/root" \ + --libdir="${EPREFIX}/usr/$(get_libdir)/${PN}" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --tutdir="${EPREFIX}/usr/share/doc/${PF}/examples/tutorials" \ + --testdir="${EPREFIX}/usr/share/doc/${PF}/examples/tests" \ + --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \ + --with-sys-iconpath="${EPREFIX}/usr/share/pixmaps" \ + --nohowto + fi +} + +src_compile() { + pdf_target=( primer users-guide ) + local pdf_size=pdfa4 + use metric || pdf_size=pdfletter + use math && pdf_target+=( minuit2 spectrum ) + use http && pdf_target+=( HttpServer JSROOT ) + + local i + for (( i=0; i<${#pdf_target[@]}; i++ )); do + emake -C documentation/"${pdf_target[i]}" "${pdf_size}" + done + + if use api; then + # video drivers may want to access hardware devices + cards=$(echo -n /dev/dri/card* /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g') + [[ -n "${cards}" ]] && addpredict "${cards}" + + ROOTSYS="${S}" Xemake html + # if root.exe crashes, return code will be 0 due to gdb attach, + # so we need to check if last html file was generated; + # this check is volatile and can't catch crash on the last file. + [[ -f htmldoc/WindowAttributes_t.html ]] || die "html doc generation crashed" + fi +} + +src_install() { + insinto "${DOC_DIR}" + + local i + for (( i=0; i<${#pdf_target[@]}; i++ )); do + doins documentation/"${pdf_target[i]}"/*.pdf + done + unset pdf_target + + use math && doins \ + "${DISTDIR}/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf" \ + "${DISTDIR}/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf" \ + "${DISTDIR}/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf" + + if use api; then + # Install offline replacements for online messages + cp "${DISTDIR}"/{root6-banner.jpg,info.png} htmldoc/ || die "cp failed" + # too large data to copy + dodir "${DOC_DIR}/html" + mv htmldoc/* "${ED}${DOC_DIR}/html/" || die + docompress -x ${DOC_DIR}/html + fi +} |