# 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 }