aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gmail.com>2012-05-30 02:59:34 +0400
committerAndrew Savchenko <bircoph@gmail.com>2012-05-30 02:59:34 +0400
commit2f8112e0becd3197a6c9df2518236fe6a8095c95 (patch)
tree0e7a03128d8e4b797b3ec006ab83f5f067642b5f /sci-physics/root
parentinitial commit (diff)
downloadsci-2f8112e0becd3197a6c9df2518236fe6a8095c95.tar.gz
sci-2f8112e0becd3197a6c9df2518236fe6a8095c95.tar.bz2
sci-2f8112e0becd3197a6c9df2518236fe6a8095c95.zip
sci-physics/root: html documentation generation
This adds htmldoc USE flag to generate what was previously app-doc/root-docs. Fonts for dot charts are fixed.
Diffstat (limited to 'sci-physics/root')
-rw-r--r--sci-physics/root/ChangeLog10
-rw-r--r--sci-physics/root/Manifest3
-rw-r--r--sci-physics/root/files/root-5.32.00-dotfont.patch58
-rw-r--r--sci-physics/root/files/root-5.32.00-htmldoc.patch50
-rw-r--r--sci-physics/root/files/root-5.34-htmldoc.patch58
-rw-r--r--sci-physics/root/metadata.xml1
-rw-r--r--sci-physics/root/root-5.32.03-r2.ebuild (renamed from sci-physics/root/root-5.32.03-r1.ebuild)62
-rw-r--r--sci-physics/root/root-9999.ebuild65
8 files changed, 290 insertions, 17 deletions
diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog
index d6d086b42..b6321017b 100644
--- a/sci-physics/root/ChangeLog
+++ b/sci-physics/root/ChangeLog
@@ -2,6 +2,16 @@
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/ChangeLog,v 1.96 2012/03/29 18:21:49 bicatali Exp $
+*root-5.32.03-r2 (29 May 2012)
+
+ 29 May 2012; Andrew Savchenko <bircoph@gmail.com>
+ +files/root-5.32.00-dotfont.patch, +files/root-5.32.00-htmldoc.patch,
+ -root-5.32.03-r1.ebuild, +root-5.32.03-r2.ebuild,
+ +files/root-5.34-htmldoc.patch, root-9999.ebuild, metadata.xml:
+ Add USE="htmldoc" for htmtl documentation build. This obsoletes
+ app-doc/root-docs. Fix fonts for dot code generation, force DejeVu
+ Serif.
+
25 May 2012; Andrew Savchenko <bircoph@gmail.com> root-9999.ebuild:
Adapt for upstream changes:
- enable-exceptions is gone;
diff --git a/sci-physics/root/Manifest b/sci-physics/root/Manifest
index 2c911cee0..ac1137a3e 100644
--- a/sci-physics/root/Manifest
+++ b/sci-physics/root/Manifest
@@ -1,4 +1,7 @@
DIST ROOTUsersGuide.pdf 9124817 SHA256 51c5ce0c7f32b83700b441a1c069e555bbb7949518858fc6189722501994f5c1 SHA512 4a4888225e0a5f97ff05079401b9e000fc71cde2916067d7ed16d2919024896149dcea9e05b46cb1bc8acf96bff445b2dcc92fb6985aee7809c1046fc84c2933 WHIRLPOOL b7cf4577fe4873ab2aeb479c1e06ac5ea524099a675e0c9a16523e1bb42a5b52bd594b37cae921f38e5ab318622d509daf2b6e604f0c992fa52cfad1f5051135
DIST RooFit_Users_Manual_2.91-33.pdf 1330062 SHA256 101c4e4c41962238fcabf1caa86cafc51241a1800594491b2e62ef8b565a5646 SHA512 732d7dea3541b51e5f0b9b5b70dae57e1bdbb2504c4222d5e5095ec0f9b67307011c1f31c2c95be419b53dd8426f52f62f6c9370084208176a2ed3d7f25d783b WHIRLPOOL 033897bef4bdb13246a81ea6749f7895e6c4d639752e932130234ad9153bb399a4e5d416237850da27f139d3cccc53d9adb7a077abf20d257ce057157d6c3696
DIST TMVAUsersGuide-v4.03.pdf 3913533 SHA256 0cdbb4a2d19eb7a86e2911cfa73a905932e862d6c94be10b7662a9355b0241af SHA512 d8bb2ce35ef32c4877059898f56513db0b1057924e21935a3d3a6f114748e167984c43fd2ec7e54197fccff875540543968fea9a8e75bf63f5f13521724a7ddb WHIRLPOOL 0a3e2e61e8e32f3a22757178adf033f9fbb89014aecd4df7f8bd49677d772bb3ad2c0f5526259611879f6bb20df647c01e23f53ade483d7a3e2242f8aee6c6aa
+DIST info.png 2060 RMD160 9e9e984337699e08d86a3352f414658d44d30480 SHA1 592745253491d94624ee68721f62ecdfb1b1b278 SHA256 51de6661250f3fb71c6c8250cbc4bdc4dc4283cc90240b4dc1ee6168e8d40279
+DIST root-banner.png 132555 RMD160 d4cf5f8a60ee1df686e47a696e76c1ecdda4f1e7 SHA1 6760c589cc13f0f906cbd8598b4edffc28ad911b SHA256 d165e1cc175f654ff79af39193a6144678f600e14a53dd20e2b216b3e8951e94
DIST root_v5.32.03.source.tar.gz 55529362 SHA256 575057c429625df69f0fa5c303287acefff185cda8cf8d1e9a6b2d21097d5ae6 SHA512 2e067eb9c6bbda5cf4df6973a3cf5307540247fb07c349f7ee74c0cf6a4abbb63f585a9ff67139cae985250fc5c5106b5ea03d7d9d2bcd20269e0ec8760ebd02 WHIRLPOOL 87dbf6f55f82001e07afc3b467e95f841f185f1f67d1dbd953f73e8aa9127ef8485db84100d6e9a08f0ae6aa5b45a565398eb6723145fff16c07e5158bb3e3ab
+DIST rootdrawing-logo.png 15051 RMD160 a10172fa5e9a9737b6b5e678af3f8426d804e275 SHA1 dd4c0e3e2ef5ebc59440677a78605b4b54fff48a SHA256 1dfd913cad53a3ebd6bf560d14df918cab5a295cc7d155944a8e27284af83a6b
diff --git a/sci-physics/root/files/root-5.32.00-dotfont.patch b/sci-physics/root/files/root-5.32.00-dotfont.patch
new file mode 100644
index 000000000..85d6dea76
--- /dev/null
+++ b/sci-physics/root/files/root-5.32.00-dotfont.patch
@@ -0,0 +1,58 @@
+--- root/html/src/TClassDocOutput.cxx.orig 2012-05-25 16:18:10.000000000 +0400
++++ root/html/src/TClassDocOutput.cxx 2012-05-29 21:36:53.813593012 +0400
+@@ -625,7 +625,7 @@
+ << "size=\"8,10\";" << endl
+ << "ratio=auto;" << endl
+ << "margin=0;" << endl
+- << "node [shape=plaintext,fontsize=40,width=4,height=0.75];" << endl
++ << "node [shape=plaintext,fontsize=40,width=4,height=0.75,fontname=\"DejaVu Serif\"];" << endl
+ << "\"" << fCurrentClass->GetName() << "\" [shape=ellipse];" << endl;
+
+ std::stringstream ssDep;
+@@ -704,7 +704,7 @@
+ outdot << ";" << endl;
+ } else if (writeAndMoreFor) {
+ outdot << " \"...andmore" << writeAndMoreFor->GetName()
+- << "\" [label=\"...and more\",fontname=\"Times-Italic\",fillcolor=lightgrey,style=filled];" << endl;
++ << "\" [label=\"...and more\",fontname=\"DejaVu Serif Italic\",fillcolor=lightgrey,style=filled];" << endl;
+ }
+ }
+ if (!levelExists) break;
+@@ -733,7 +733,7 @@
+ << "ranksep=0.1;" << endl
+ << "nodesep=0;" << endl
+ << "margin=0;" << endl;
+- outdot << " node [style=filled,width=0.7,height=0.15,fixedsize=true,shape=plaintext,fontsize=10];" << endl;
++ outdot << " node [style=filled,width=0.7,height=0.15,fixedsize=true,shape=plaintext,fontsize=10,fontname=\"DejaVu Serif\"];" << endl;
+
+ std::stringstream ssDep;
+ const int numColumns = 3;
+@@ -939,7 +939,7 @@
+ << "ranksep=0;" << endl
+ << "nodesep=0;" << endl
+ << "size=\"8,10\";" << endl
+- << "node [fontsize=20,shape=plaintext];" << endl;
++ << "node [fontsize=20,shape=plaintext,fontname=\"DejaVu Serif\"];" << endl;
+
+ for (std::list<std::string>::iterator iFile = listFilesToParse.begin();
+ iFile != listFilesToParse.end(); ++iFile) {
+@@ -999,7 +999,8 @@
+ << "ranksep=0.7;" << endl
+ << "nodesep=0.3;" << endl
+ << "size=\"8,8\";" << endl
+- << "ratio=compress;" << endl;
++ << "ratio=compress;" << endl
++ << "node [fontname=\"DejaVu Serif\"];" << endl;
+
+ TString libs(fCurrentClass->GetSharedLibs());
+ outdot << "\"All Libraries\" [URL=\"LibraryDependencies.html\",shape=box,rank=max,fillcolor=lightgray,style=filled];" << endl;
+@@ -1109,7 +1110,8 @@
+
+ dotout << "digraph G {" << endl
+ << "ratio=auto;" << endl
+- << "rankdir=RL;" << endl;
++ << "rankdir=RL;" << endl
++ << "node [fontname=\"DejaVu Serif\"];" << endl;
+
+ // loop on all classes
+ TClassDocInfo* cdi = 0;
diff --git a/sci-physics/root/files/root-5.32.00-htmldoc.patch b/sci-physics/root/files/root-5.32.00-htmldoc.patch
new file mode 100644
index 000000000..e6d498187
--- /dev/null
+++ b/sci-physics/root/files/root-5.32.00-htmldoc.patch
@@ -0,0 +1,50 @@
+--- root/Makefile.orig 2012-05-23 21:07:07.000000000 +0400
++++ root/Makefile 2012-05-23 22:47:48.935680301 +0400
+@@ -1039,8 +1039,7 @@
+ releasenotes:
+ @$(MAKERELNOTES)
+
+-html: $(ROOTEXE) changelog releasenotes
+- @$(MAKELOGHTML)
++html: $(ROOTEXE) releasenotes
+ @$(MAKEHTML)
+
+ # Use DESTDIR to set a sandbox prior to calling "make install", e.g.:
+--- root/build/unix/makehtml.sh.orig 2012-05-23 23:25:45.000000000 +0400
++++ root/build/unix/makehtml.sh 2012-05-24 13:04:43.919062126 +0400
+@@ -6,12 +6,12 @@
+ cd tutorials
+ # we need tutorials/hsimple.root
+ if [ ! -f hsimple.root ]; then
+- $ROOT -l -b -q hsimple.C
++ ../$ROOT -l -b -q hsimple.C && exit 1
+ fi
+ cd tree
+ # we need tutorials/tree/cernstaff.root
+ if [ ! -f cernstaff.root ]; then
+- $ROOT -l -b -q cernbuild.C
++ ../../$ROOT -l -b -q cernbuild.C || exit 1
+ fi
+ cd $dir
+
+@@ -19,7 +19,7 @@
+ echo "Generating doc in directory htmldoc/..."
+ echo ""
+
+-$ROOT -l <<makedoc
++$ROOT -l <<makedoc || exit 1
+ THtml h;
+ h.LoadAllLibs();
+ h.MakeAll();
+--- root/html/src/THtml.cxx.orig 2012-05-25 16:18:10.000000000 +0400
++++ root/html/src/THtml.cxx 2012-05-29 19:22:40.810563296 +0400
+@@ -1913,6 +1913,9 @@
+ void THtml::CreateStyleSheet() const {
+ // Write the default ROOT style sheet.
+ CopyFileFromEtcDir("ROOT.css");
++ CopyFileFromEtcDir("info.png");
++ CopyFileFromEtcDir("root-banner.png");
++ CopyFileFromEtcDir("rootdrawing-logo.png");
+ CopyFileFromEtcDir("shadowAlpha.png");
+ CopyFileFromEtcDir("shadow.gif");
+ }
diff --git a/sci-physics/root/files/root-5.34-htmldoc.patch b/sci-physics/root/files/root-5.34-htmldoc.patch
new file mode 100644
index 000000000..a999d0ced
--- /dev/null
+++ b/sci-physics/root/files/root-5.34-htmldoc.patch
@@ -0,0 +1,58 @@
+--- root/Makefile.orig 2012-05-30 00:50:46.000000000 +0400
++++ root/Makefile 2012-05-30 00:51:05.839679686 +0400
+@@ -1088,16 +1088,7 @@
+ releasenotes:
+ @$(MAKERELNOTES)
+
+-html: $(ROOTEXE) changelog releasenotes
+-ifneq ($(USECONFIG),FALSE)
+- @if [ "x`which root.exe`" != "x$(DESTDIR)$(BINDIR)/root.exe" ] \
+- || [ "`which root.exe`" -ot "bin/root.exe" ]; then \
+- echo 'ERROR: root.exe has not been installed by this build.'; \
+- echo ' Run "make install" before running "make html".'; \
+- exit 1; \
+- fi
+-endif
+- @$(MAKELOGHTML)
++html: $(ROOTEXE) releasenotes
+ @$(MAKEHTML)
+
+ # Use DESTDIR to set a sandbox prior to calling "make install", e.g.:
+--- root/build/unix/makehtml.sh.orig 2012-05-23 23:25:45.000000000 +0400
++++ root/build/unix/makehtml.sh 2012-05-24 13:04:43.919062126 +0400
+@@ -6,12 +6,12 @@
+ cd tutorials
+ # we need tutorials/hsimple.root
+ if [ ! -f hsimple.root ]; then
+- $ROOT -l -b -q hsimple.C
++ ../$ROOT -l -b -q hsimple.C && exit 1
+ fi
+ cd tree
+ # we need tutorials/tree/cernstaff.root
+ if [ ! -f cernstaff.root ]; then
+- $ROOT -l -b -q cernbuild.C
++ ../../$ROOT -l -b -q cernbuild.C || exit 1
+ fi
+ cd $dir
+
+@@ -19,7 +19,7 @@
+ echo "Generating doc in directory htmldoc/..."
+ echo ""
+
+-$ROOT -l <<makedoc
++$ROOT -l <<makedoc || exit 1
+ THtml h;
+ h.LoadAllLibs();
+ h.MakeAll();
+--- root/html/src/THtml.cxx.orig 2012-05-25 16:18:10.000000000 +0400
++++ root/html/src/THtml.cxx 2012-05-29 19:22:40.810563296 +0400
+@@ -1913,6 +1913,9 @@
+ void THtml::CreateStyleSheet() const {
+ // Write the default ROOT style sheet.
+ CopyFileFromEtcDir("ROOT.css");
++ CopyFileFromEtcDir("info.png");
++ CopyFileFromEtcDir("root-banner.png");
++ CopyFileFromEtcDir("rootdrawing-logo.png");
+ CopyFileFromEtcDir("shadowAlpha.png");
+ CopyFileFromEtcDir("shadow.gif");
+ }
diff --git a/sci-physics/root/metadata.xml b/sci-physics/root/metadata.xml
index 0af578824..4eb1afc7f 100644
--- a/sci-physics/root/metadata.xml
+++ b/sci-physics/root/metadata.xml
@@ -19,6 +19,7 @@
<flag name="clarens"> Build the Clarens and PEAC plug-ins, to use in a GRID enabled analysis</flag>
<flag name="fits">Support for images and data from FITS files with <pkg>sci-libs/cfitsio</pkg></flag>
<flag name="geant4">Support for <pkg>sci-physics/geant</pkg> version 4</flag>
+ <flag name="htmldoc">Generate html documentation</flag>
<flag name="llvm">Build the new EXPERIMENTAL cling interactive interpreter based on <pkg>sys-devel/llvm</pkg></flag>
<flag name="math">Build all math related libraries plugins, needs <pkg>sci-libs/gsl</pkg> </flag>
<flag name="pythia6">Build the interface for <pkg>sci-physics/pythia</pkg> version 6.x </flag>
diff --git a/sci-physics/root/root-5.32.03-r1.ebuild b/sci-physics/root/root-5.32.03-r2.ebuild
index eaa1734a7..27cad96d5 100644
--- a/sci-physics/root/root-5.32.03-r1.ebuild
+++ b/sci-physics/root/root-5.32.03-r2.ebuild
@@ -17,7 +17,7 @@ else
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
-inherit elisp-common eutils user fdo-mime fortran-2 python toolchain-funcs ${_SVN}
+inherit elisp-common eutils fdo-mime fortran-2 python toolchain-funcs ${_SVN}
ROOFIT_DOC_PV=2.91-33
TMVA_DOC_PV=4.03
@@ -30,18 +30,24 @@ SRC_URI="${SRC_URI}
doc? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuide.pdf
math? (
ftp://root.cern.ch/${PN}/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
- http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf ) )"
+ http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf )
+ htmldoc? (
+ http://root.cern.ch/drupal/sites/default/files/rootdrawing-logo.png
+ http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/root-banner.png
+ http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png ) )"
SLOT="0"
LICENSE="LGPL-2.1"
-IUSE="+X afs avahi clarens doc emacs examples fits fftw graphviz kerberos ldap
- +math mpi mysql odbc +opengl openmp oracle postgres prefix
- pythia6 pythia8 python qt4 +reflex ruby ssl xft xinetd xml xrootd"
+IUSE="+X afs avahi clarens doc emacs examples fits fftw graphviz htmldoc kerberos
+ ldap +math mpi mysql odbc +opengl openmp oracle postgres prefix pythia6
+ pythia8 python qt4 +reflex ruby ssl xft xinetd xml xrootd"
CDEPEND="
app-arch/xz-utils
+ !app-doc/root-docs
>=dev-lang/cfortran-4.4-r2
dev-libs/libpcre
+ media-fonts/dejavu
media-libs/freetype
media-libs/giflib
media-libs/libpng:0
@@ -93,7 +99,8 @@ CDEPEND="
xrootd? ( net-libs/xrootd )"
DEPEND="${CDEPEND}
- virtual/pkgconfig"
+ virtual/pkgconfig
+ htmldoc? ( x11-base/xorg-server[xvfb] )"
RDEPEND="
virtual/fortran
@@ -101,7 +108,9 @@ RDEPEND="
reflex? ( dev-cpp/gccxml )
xinetd? ( sys-apps/xinetd )"
-REQUIRED_USE="!X? ( !opengl !qt4 !xft )"
+REQUIRED_USE="
+ !X? ( !opengl !qt4 !xft )
+ htmldoc? ( X doc graphviz )"
S="${WORKDIR}/${PN}"
@@ -142,7 +151,8 @@ src_prepare() {
"${FILESDIR}"/${PN}-${PATCH_PV2}-afs.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-cfitsio.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-chklib64.patch \
- "${FILESDIR}"/${PN}-${PATCH_PV2}-explicit-functions.patch
+ "${FILESDIR}"/${PN}-${PATCH_PV2}-explicit-functions.patch \
+ "${FILESDIR}"/${PN}-${PATCH_PV2}-dotfont.patch
# make sure we use system libs and headers
rm montecarlo/eg/inc/cfortran.h README/cfortran.doc || die
@@ -175,6 +185,24 @@ src_prepare() {
# QTDIR only used for qt3 in gentoo, and configure looks for it.
unset QTDIR
+
+ # Make html docs self-consistent for offline work (based on Fedora spec)
+ if use htmldoc; then
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV2}-htmldoc.patch
+ # make images local
+ sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/!!' \
+ -i etc/html/ROOT.css || die "htmldoc sed failed"
+ sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/!!' \
+ -i etc/html/ROOT.css || die "htmldoc sed failed"
+ sed 's!http://root.cern.ch/drupal/sites/default/files/!!' \
+ -i etc/html/header.html || die "htmldoc sed failed"
+
+ cp "${DISTDIR}"/{rootdrawing-logo.png,root-banner.png,info.png} etc/html ||
+ die "htmldoc preparation failed"
+
+ # set build etc directory
+ sed "s%@PWD@%${S}%" -i build/unix/makehtml.sh || die "htmldoc sed failed"
+ fi
}
src_configure() {
@@ -254,6 +282,22 @@ src_compile() {
if use emacs; then
elisp-compile build/misc/*.el || die "elisp-compile failed"
fi
+ if use htmldoc; then
+ # we need X server running, THtml uses it for GUI snapshots
+ Xvfb -screen 0 1280x1024x24 :50 >/dev/null 2>&1 &
+ local xvfb_pid=$!
+ ps h -C Xvfb | grep -q ${xvfb_pid} || die "Xvfb failed to start"
+
+ LD_LIBRARY_PATH=${S}/lib:${S}/cint/cint/include:${S}/cint/cint/stl \
+ ROOTSYS=${S} DISPLAY=":50" \
+ emake html || die "html doc generation failed"
+ # 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/timespec.html ]] || die "looks like html doc generation crashed"
+
+ kill ${xvfb_pid}
+ fi
}
doc_install() {
@@ -264,6 +308,8 @@ doc_install() {
use math && dodoc \
"${DISTDIR}"/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf \
"${DISTDIR}"/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf
+ # too large data to copy
+ use htmldoc && mv htmldoc "${ED}usr/share/doc/${PF}/html"
fi
if use examples; then
diff --git a/sci-physics/root/root-9999.ebuild b/sci-physics/root/root-9999.ebuild
index d5fb84795..53e785360 100644
--- a/sci-physics/root/root-9999.ebuild
+++ b/sci-physics/root/root-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.32.01.ebuild,v 1.1 2012/03/02 05:34:01 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.32.02-r1.ebuild,v 1.3 2012/05/04 07:55:34 jdhore Exp $
EAPI=4
@@ -17,12 +17,13 @@ else
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
-inherit elisp-common eutils user fdo-mime fortran-2 python toolchain-funcs ${_SVN}
+inherit elisp-common eutils fdo-mime fortran-2 python toolchain-funcs ${_SVN}
ROOFIT_DOC_PV=2.91-33
TMVA_DOC_PV=4.03
PATCH_PV=5.28.00b
PATCH_PV2=5.32.00
+PATCH_PV3=5.34
DESCRIPTION="C++ data analysis framework and interpreter from CERN"
HOMEPAGE="http://root.cern.ch/"
@@ -30,18 +31,24 @@ SRC_URI="${SRC_URI}
doc? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuide.pdf
math? (
ftp://root.cern.ch/${PN}/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
- http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf ) )"
+ http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf )
+ htmldoc? (
+ http://root.cern.ch/drupal/sites/default/files/rootdrawing-logo.png
+ http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/root-banner.png
+ http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png ) )"
SLOT="0"
LICENSE="LGPL-2.1"
-IUSE="+X afs avahi clarens doc emacs examples fits fftw graphviz kerberos ldap
- llvm +math mpi mysql odbc +opengl openmp oracle postgres prefix
- pythia6 pythia8 python qt4 +reflex ruby ssl xft xinetd xml xrootd"
+IUSE="+X afs avahi clarens doc emacs examples fits fftw graphviz htmldoc kerberos
+ ldap llvm +math mpi mysql odbc +opengl openmp oracle postgres prefix pythia6
+ pythia8 python qt4 +reflex ruby ssl xft xinetd xml xrootd"
CDEPEND="
app-arch/xz-utils
+ !app-doc/root-docs
>=dev-lang/cfortran-4.4-r2
dev-libs/libpcre
+ media-fonts/dejavu
media-libs/freetype
media-libs/giflib
media-libs/libpng:0
@@ -94,7 +101,8 @@ CDEPEND="
xrootd? ( net-libs/xrootd )"
DEPEND="${CDEPEND}
- virtual/pkgconfig"
+ virtual/pkgconfig
+ htmldoc? ( x11-base/xorg-server[xvfb] )"
RDEPEND="
virtual/fortran
@@ -102,7 +110,9 @@ RDEPEND="
reflex? ( dev-cpp/gccxml )
xinetd? ( sys-apps/xinetd )"
-REQUIRED_USE="!X? ( !opengl !qt4 !xft )"
+REQUIRED_USE="
+ !X? ( !opengl !qt4 !xft )
+ htmldoc? ( X doc graphviz )"
S="${WORKDIR}/${PN}"
@@ -141,7 +151,8 @@ src_prepare() {
"${FILESDIR}"/${PN}-${PATCH_PV}-unuran.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-afs.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-cfitsio.patch \
- "${FILESDIR}"/${PN}-${PATCH_PV2}-chklib64.patch
+ "${FILESDIR}"/${PN}-${PATCH_PV2}-chklib64.patch \
+ "${FILESDIR}"/${PN}-${PATCH_PV2}-dotfont.patch
# make sure we use system libs and headers
rm montecarlo/eg/inc/cfortran.h README/cfortran.doc || die
@@ -174,6 +185,24 @@ src_prepare() {
# QTDIR only used for qt3 in gentoo, and configure looks for it.
unset QTDIR
+
+ # Make html docs self-consistent for offline work (based on Fedora spec)
+ if use htmldoc; then
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV3}-htmldoc.patch
+ # make images local
+ sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/!!' \
+ -i etc/html/ROOT.css || die "htmldoc sed failed"
+ sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/!!' \
+ -i etc/html/ROOT.css || die "htmldoc sed failed"
+ sed 's!http://root.cern.ch/drupal/sites/default/files/!!' \
+ -i etc/html/header.html || die "htmldoc sed failed"
+
+ cp "${DISTDIR}"/{rootdrawing-logo.png,root-banner.png,info.png} etc/html ||
+ die "htmldoc preparation failed"
+
+ # set build etc directory
+ sed "s%@PWD@%${S}%" -i build/unix/makehtml.sh || die "htmldoc sed failed"
+ fi
}
src_configure() {
@@ -253,6 +282,22 @@ src_compile() {
if use emacs; then
elisp-compile build/misc/*.el || die "elisp-compile failed"
fi
+ if use htmldoc; then
+ # we need X server running, THtml uses it for GUI snapshots
+ Xvfb -screen 0 1280x1024x24 :50 >/dev/null 2>&1 &
+ local xvfb_pid=$!
+ ps h -C Xvfb | grep -q ${xvfb_pid} || die "Xvfb failed to start"
+
+ LD_LIBRARY_PATH=${S}/lib:${S}/cint/cint/include:${S}/cint/cint/stl \
+ ROOTSYS=${S} DISPLAY=":50" \
+ emake html || die "html doc generation failed"
+ # 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/timespec.html ]] || die "looks like html doc generation crashed"
+
+ kill ${xvfb_pid}
+ fi
}
doc_install() {
@@ -263,6 +308,8 @@ doc_install() {
use math && dodoc \
"${DISTDIR}"/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf \
"${DISTDIR}"/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf
+ # too large data to copy
+ use htmldoc && mv htmldoc "${ED}usr/share/doc/${PF}/html"
fi
if use examples; then