public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andrew Savchenko" <bircoph@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sci-physics/root/files/, sci-physics/root/
Date: Tue, 29 May 2012 23:01:28 +0000 (UTC)	[thread overview]
Message-ID: <1338332374.2f8112e0becd3197a6c9df2518236fe6a8095c95.bircoph@gentoo> (raw)

commit:     2f8112e0becd3197a6c9df2518236fe6a8095c95
Author:     Andrew Savchenko <bircoph <AT> gmail <DOT> com>
AuthorDate: Tue May 29 22:59:34 2012 +0000
Commit:     Andrew Savchenko <bircoph <AT> gmail <DOT> com>
CommitDate: Tue May 29 22:59:34 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=2f8112e0

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.

---
 sci-physics/root/ChangeLog                         |   10 +++
 sci-physics/root/files/root-5.32.00-dotfont.patch  |   58 +++++++++++++++++
 sci-physics/root/files/root-5.32.00-htmldoc.patch  |   50 +++++++++++++++
 sci-physics/root/files/root-5.34-htmldoc.patch     |   58 +++++++++++++++++
 sci-physics/root/metadata.xml                      |    1 +
 ...ot-5.32.03-r1.ebuild => root-5.32.03-r2.ebuild} |   62 ++++++++++++++++---
 sci-physics/root/root-9999.ebuild                  |   65 +++++++++++++++++---
 7 files changed, 287 insertions(+), 17 deletions(-)

diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog
index d6d086b..b632101 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/files/root-5.32.00-dotfont.patch b/sci-physics/root/files/root-5.32.00-dotfont.patch
new file mode 100644
index 0000000..85d6dea
--- /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 0000000..e6d4981
--- /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 0000000..a999d0c
--- /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 0af5788..4eb1afc 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
similarity index 81%
rename from sci-physics/root/root-5.32.03-r1.ebuild
rename to sci-physics/root/root-5.32.03-r2.ebuild
index eaa1734..27cad96 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 d5fb847..53e7853 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



             reply	other threads:[~2012-05-29 23:01 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-29 23:01 Andrew Savchenko [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-07-06 14:06 [gentoo-commits] proj/sci:master commit in: sci-physics/root/files/, sci-physics/root/ Justin Bronder
2015-10-01  6:06 Justin Lecher
2015-07-18 13:49 Andrew Savchenko
2015-04-12 13:55 Andrew Savchenko
2015-04-08  2:24 Andrew Savchenko
2015-03-02  7:13 Andrew Savchenko
2014-07-06 12:53 Andrew Savchenko
2014-07-02 22:37 Andrew Savchenko
2014-07-02 16:32 Andrew Savchenko
2014-07-02 13:35 Andrew Savchenko
2013-12-10 15:05 Andrew Savchenko
2013-12-05 17:08 Andrew Savchenko
2013-11-09  5:04 Andrew Savchenko
2013-10-16  4:49 Nicolas Bock
2013-10-15 14:17 Andrew Savchenko
2013-02-23 12:45 Andrew Savchenko
2013-01-21 22:32 Andrew Savchenko
2012-10-28 22:46 Andrew Savchenko
2012-10-25 16:37 Andrew Savchenko
2012-10-19 21:32 Andrew Savchenko
2012-07-23 21:11 Andrew Savchenko
2012-07-22  8:03 Andrew Savchenko
2012-07-21 17:12 Andrew Savchenko
2012-07-01  6:59 Andrew Savchenko
2012-06-20  9:18 Andrew Savchenko
2012-06-19 20:20 Andrew Savchenko
2012-06-19 20:20 Andrew Savchenko
2012-05-15  8:49 Andrew Savchenko
2012-03-21 23:46 Andrew Savchenko
2012-03-09  1:11 Andrew Savchenko
2012-03-01 14:37 Andrew Savchenko
2012-02-27 18:11 Andrew Savchenko
2012-02-13 17:43 Sebastien Fabbro
2012-01-20  9:14 Andrew Savchenko
2011-12-04  0:50 Andrew Savchenko
2011-12-04  0:29 Andrew Savchenko
2011-10-21 12:36 Andrew Savchenko
2011-10-07 19:43 Andrew Savchenko
2011-08-02 21:49 Andrew Savchenko
2011-03-16 21:16 Sebastien Fabbro

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=1338332374.2f8112e0becd3197a6c9df2518236fe6a8095c95.bircoph@gentoo \
    --to=bircoph@gmail.com \
    --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