summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2008-09-23 13:02:13 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2008-09-23 13:02:13 +0000
commitc18d36a54196c66e5d3d31769c91d0ef8845bcd0 (patch)
tree233aff5427788df4e8c49b42b87528d6840c5ff5 /sci-physics
parentBump to RC2 of OpenOffice.org 3.0 (diff)
downloadhistorical-c18d36a54196c66e5d3d31769c91d0ef8845bcd0.tar.gz
historical-c18d36a54196c66e5d3d31769c91d0ef8845bcd0.tar.bz2
historical-c18d36a54196c66e5d3d31769c91d0ef8845bcd0.zip
Added a bunch of patches from Benjamin Bannier for Pythia libraries
(bug #230673), ruby name changes (bug #236072), opengl include files (bug #236071), extra documentation (bug #236070). Also added a reflex flag to enable users encountering bug #233698, some emacs changes thanks to ulm. Finally, added some patches from upstream documented in http://root.cern.ch/twiki/bin/view/ROOT/PatchesV5-20-00. Package-Manager: portage-2.2_rc8/cvs/Linux 2.6.25-gentoo-r7 x86_64
Diffstat (limited to 'sci-physics')
-rw-r--r--sci-physics/root/ChangeLog14
-rw-r--r--sci-physics/root/Manifest20
-rw-r--r--sci-physics/root/files/root-5.20.00-include-defines-file.patch7
-rw-r--r--sci-physics/root/files/root-5.20.00-upstream.patch147
-rw-r--r--sci-physics/root/metadata.xml11
-rw-r--r--sci-physics/root/root-5.20.00-r1.ebuild246
6 files changed, 442 insertions, 3 deletions
diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog
index 73d63a5b7f1c..eab6c561c7f4 100644
--- a/sci-physics/root/ChangeLog
+++ b/sci-physics/root/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for sci-physics/root
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/ChangeLog,v 1.33 2008/07/29 10:43:53 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/ChangeLog,v 1.34 2008/09/23 13:02:13 bicatali Exp $
+
+*root-5.20.00-r1 (23 Sep 2008)
+
+ 23 Sep 2008; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/root-5.20.00-include-defines-file.patch,
+ +files/root-5.20.00-upstream.patch, +root-5.20.00-r1.ebuild:
+ Added a bunch of patches from Benjamin Bannier for Pythia libraries (bug
+ #230673), ruby name changes (bug #236072), opengl include files (bug
+ #236071), extra documentation (bug #236070). Also added a reflex flag to
+ enable users encountering bug #233698, some emacs changes thanks to ulm.
+ Finally, added some patches from upstream documented in
+ http://root.cern.ch/twiki/bin/view/ROOT/PatchesV5-20-00.
29 Jul 2008; Sébastien Fabbro <bicatali@gentoo.org> metadata.xml,
root-5.18.00d.ebuild, root-5.20.00.ebuild:
diff --git a/sci-physics/root/Manifest b/sci-physics/root/Manifest
index 5162f3d53921..c98ca14f45f5 100644
--- a/sci-physics/root/Manifest
+++ b/sci-physics/root/Manifest
@@ -1,14 +1,22 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX root-5.16.00-fortran.patch 5076 RMD160 2218584a3a5093a8d4171913a2b024bb759aae03 SHA1 4ed648d54260fd2593174154d8331c5d5afd5f09 SHA256 4ad7a3057528f30716d200c8f1462cf92da6f1ebef9bc3fee1874000bc10deec
AUX root-5.16.00-xft.patch 687 RMD160 58efbc6efea7970ce267d05998deb8f849ecd5c5 SHA1 19ba24f17846a46d0ca10d0958587bd9166efd6d SHA256 e3540b4cecae6eb9e1c80e7edc923334056d63b4dedfc8bece34d29eec76d0a1
AUX root-5.18.00d-gcc43.patch 22153 RMD160 33e93c0bb1cf78f963948aef2603b52b8159502e SHA1 679770eca8079c63f8816375212734794f4997af SHA256 94dc090797e2b8e972d5803d0bb94b61eb9581d559c0d91d489b1e893c343519
AUX root-5.18.00d-makefile.patch 667 RMD160 b99d04ff116bd6dce5c8d45dfedd474e83ab6a67 SHA1 00d8dbdc3b2398031547e9c4f793b3c857b14fd3 SHA256 a168d6fa609fcd61973a189039a59f03f8a21b9343644214eb9a16dcdba81c7f
AUX root-5.20.00-configure.patch 1639 RMD160 55a7a0e5c32e0947cf0115159f1c41b74c8a8e69 SHA1 087251b79c8e04e0327cebd18bd9dd15dd34cb41 SHA256 06e78624dc0458aa32787ccb660014eb50ac0735cadbc4352ecfa2dede9868f1
+AUX root-5.20.00-include-defines-file.patch 173 RMD160 c52739827cf2ae052cec3ca9b888b6afa2f2f487 SHA1 78f706fefa2af75ce4027fcadaff0933eeef4a1e SHA256 958dba11b2bf421e53aa567cd0260d53cf0fec0df6572a6cfbdd08e12ed47bad
AUX root-5.20.00-pic.patch 3759 RMD160 6b2f0f8fac4abc596a1361f44c3bda4b8ea5c368 SHA1 7ebf6296631146e14346d3a055d8e2fbfee9fa64 SHA256 c0964ec0cc9ec5060174802779fa5d15c12b4f154752fbbf8793d4fd86997162
+AUX root-5.20.00-upstream.patch 5474 RMD160 50d64e1b766d6c233385459a29a2ddacfda618a2 SHA1 d5aaea3a7b08d3bcde568880d8d16588ffefb561 SHA256 43962cb61dfae61bba3e4ed98e7df8731ecdf3f785aec6d62e4082bb29520cf9
AUX root-pic.patch 1308 RMD160 7cd58a088d5b9b6d8dacf24a4966c0ece8ccc1db SHA1 a173c2c2a354df1b61a9ada4df81aa6784733f21 SHA256 204d8959d544e4b94546444d9a1912099cca90b477227ff85107c1e428fbb374
AUX sparc-root-5.16.00.patch 1337 RMD160 182648130788f70df92342042a889e91ba665d24 SHA1 d46dbb7f10e83e5bcde97175ef5df71ea9750140 SHA256 bd3f08a8283e7b0e4b4f5f583fbe448cbc2908e2935e6bcc961085a58d6bbe3a
AUX xrootd-20071116-checksymbol.patch 3725 RMD160 dc3439e73b232303f92c9f7e76e99044c1cba126 SHA1 41e69e83772b0962c348a5efa5705d65e4ef1c26 SHA256 45b14e5773ded2f6c828c2cd2629b50c63f9e4a96608c757c5b80c80dd394cb1
AUX xrootd-20071116-gcc43.patch 26578 RMD160 0f5259642bad7dbb04dd3335103fdc94cdb69acb SHA1 9aa6413c98e946da6a10ac4824e871fa1883c5c3 SHA256 11e7c0a1cb99fd007ccd5d8759774bf144e47973c32d9503e2ac6a20986eebee
+DIST RooFit_Users_Manual_2.07-29.pdf 823371 RMD160 766f2d4264ff5d8a2c85af59fbe032989b079781 SHA1 6cf5dd1b80d910c4d4a9bfe0c7a74bf68e8e46f6 SHA256 a0c2ba1f9a2f5e7c58d12e78c0ae8f816b48363c7e6cc6b39ac8075b066b048a
+DIST TMVAUsersGuide_v4.pdf 2355827 RMD160 0624a6ed7e006581eacdaa69e82bbdca91aa42a9 SHA1 98016f0ccfa6c54234e22b46032bb0b2f5d7ac20 SHA256 bbc6563fd14a6a4a88efca55fa75e74d9b5c2a9f5d3044239f3f83dc2967ad62
DIST Users_Guide_5_16.pdf 11196352 RMD160 149c2421b7453273e6e1d849e17b736878ebb316 SHA1 b5d4eade69a5b945aa37c182d83d5233c2d54475 SHA256 c20fb206aa3eff6f3ec034c24483c4ceed04e08a1eef8b117da7956c2f471d34
+DIST Users_Guide_5_20.pdf 9585654 RMD160 9d5b8817f9bf2847b22fe94d003b6c08d2a82d2a SHA1 7ff8b86bc224c1ca088999cfe1d907114dd65104 SHA256 dc8884277e1e3eb2ef997d24dc5ca8fc7d7c2f3fc1a208266604d467f2d27c72
DIST root_v3.05.04.source.tar.gz 9386408 RMD160 d20b2b5d933d8abf1a3343a9b8886a3ed97f1cfb SHA1 481f2b3a60e0c56be0a61f3e652e7e43c065aeb7 SHA256 ae93c08cfe4dc05c53fade420ac560fff88ec967b2e85b26a7268ef12e1bbe9e
DIST root_v5.16.00.source.tar.gz 22210601 RMD160 3e9a29e6b899e3fb0986ef8a7b4a162d4933bf47 SHA1 0fcb1aba303b463598373ba44aa38a45279773e3 SHA256 41a36d9a469c8b86247aca59317fa40371db846555045679e759f7f332a927f8
DIST root_v5.18.00d.source.tar.gz 23581098 RMD160 8fd731b271d542e73ba0c7982f344d0c09c27ee7 SHA1 f046745864c287dafab8b152b6f18f1a5a431ba0 SHA256 e1ba9e307caf64868c3c2a8a66bcbc119f7d8e9599c8d3ec2860b3b7bbba2ac0
@@ -16,6 +24,14 @@ DIST root_v5.20.00.source.tar.gz 25349138 RMD160 daa702dd8729d125f57a4ac3bf35ea1
EBUILD root-3.05.04.ebuild 1654 RMD160 7f96255fd29b2fc2f2d30e41aa1e41ac57d24622 SHA1 ca10f01367a50aa1c867a4e48e435f4eb24e5151 SHA256 d74fbfd44a1da70c297196b56885128ca47297c9c349f8a083050ff346058dce
EBUILD root-5.16.00.ebuild 5013 RMD160 596fa91d5aeb62aa1dff05c28506d7c5f5a3fca5 SHA1 6bd6d49c4a94c3ed66a2d080ec34dd7d0910b0a7 SHA256 7257fd10017f5ba8dbe55c61c17e6aa6fc341beafc981216dd09bebd3d55b147
EBUILD root-5.18.00d.ebuild 5266 RMD160 2ab1a463d8d30b57c9236617d12d6f7ea0054bb5 SHA1 fcb6e0bee17e5874ebc7d2fba88f0fc9ddae73a9 SHA256 d8852a6f5e8a63d7cef4b626aee69ef90df6025a3e94a741177843857c92a571
+EBUILD root-5.20.00-r1.ebuild 7093 RMD160 397490bdb8addb379ccac7f67fa765b2f3023a43 SHA1 ce88d5077b8f8e3090a193b51d8f3e455b952e42 SHA256 63fe039552299fdcbfd8d9c05cb5c02f987d71756746555c3cf8c63dde9566e5
EBUILD root-5.20.00.ebuild 5299 RMD160 9efff77c3f491c51b5ca241628748c9036d54445 SHA1 7153941edabc72671607d9c359380298862305d2 SHA256 9b170e6800dd3ef2181b0840fa5298cf654b2871e5e256b013b148159592f31d
-MISC ChangeLog 11115 RMD160 c81df49c4309007c96e17a2a4170babd456cc1d4 SHA1 13f5fedc750bd8662b14ecc45f8bcc3d52bddbda SHA256 de334dab87e44f727e39b36bddaf196ea4b4423d8f4b5c9bfc65013140667298
-MISC metadata.xml 2358 RMD160 13a82409cb462549e38bddbb621a7126c8748287 SHA1 056313239ef5c1f7b3614c09c6390be897835630 SHA256 7d476f12749ad402198470355fbef450e832cd24fc4b0b31da031fb98eccaa1f
+MISC ChangeLog 11729 RMD160 5e7a38c89e31114af7adcef8082b8fe35a4e6929 SHA1 f23cddb5e79c891049efb571d6c6344b60c023bf SHA256 0c298928410f7c3493930f7f7bd2818c158695afc995f486b154100571da2d77
+MISC metadata.xml 2759 RMD160 1057121aea912a1e3691a0e48d812c9ecc2bb23d SHA1 01718bac1011bda60e1ea67fa19de5cc91c5ef5b SHA256 e519123b80f5753f8c14a95115a27fefc9ca7eb3aaaa94e020e75aabacb2691d
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.9 (GNU/Linux)
+
+iEYEARECAAYFAkjY6OIACgkQ1ycZbhPLE2CNQgCeNV9AavxF5dad7b4cVxgPHQ/u
+IRIAniyLjEVttJu0WOFBEF9tmVJyoLch
+=63l9
+-----END PGP SIGNATURE-----
diff --git a/sci-physics/root/files/root-5.20.00-include-defines-file.patch b/sci-physics/root/files/root-5.20.00-include-defines-file.patch
new file mode 100644
index 000000000000..60dfb9bbc373
--- /dev/null
+++ b/sci-physics/root/files/root-5.20.00-include-defines-file.patch
@@ -0,0 +1,7 @@
+--- graf3d/gl/src/TGLFontManager.cxx.orig
++++ graf3d/gl/src/TGLFontManager.cxx
+@@ -1,3 +1,4 @@
++#include "RConfigure.h"
+ #include "TGLFontManager.h"
+
+ #include "TSystem.h"
diff --git a/sci-physics/root/files/root-5.20.00-upstream.patch b/sci-physics/root/files/root-5.20.00-upstream.patch
new file mode 100644
index 000000000000..2abb74e8dcea
--- /dev/null
+++ b/sci-physics/root/files/root-5.20.00-upstream.patch
@@ -0,0 +1,147 @@
+--- root.orig/core/base/src/TSystem.cxx 2008-09-23 10:49:37.231691313 +0100
++++ root/core/base/src/TSystem.cxx 2008-09-23 10:41:11.373018362 +0100
+@@ -49,6 +49,7 @@
+ #include "TUrl.h"
+ #include "TVirtualMutex.h"
+ #include "compiledata.h"
++#include "RConfigure.h"
+
+ const char *gRootDir;
+ const char *gProgName;
+--- root.orig/core/meta/src/TClass.cxx 2008-09-23 10:49:33.755717294 +0100
++++ root/core/meta/src/TClass.cxx 2008-09-23 10:41:09.145105805 +0100
+@@ -3677,14 +3677,14 @@
+
+ Int_t pos = b.Length();
+
+- b.ReadString(s, maxsize);
+- while (strlen(s)==maxsize) {
++ b.ReadString(s, maxsize); // Reads at most maxsize - 1 characters, plus null at end.
++ while (strlen(s) == (maxsize - 1)) {
+ // The classname is too large, try again with a large buffer.
+ b.SetBufferOffset(pos);
+ maxsize = 2*maxsize;
+ delete [] s;
+ s = new char[maxsize];
+- b.ReadString(s, maxsize);
++ b.ReadString(s, maxsize); // Reads at most maxsize - 1 characters, plus null at end.
+ }
+
+ TClass *cl = TClass::GetClass(s, kTRUE);
+--- root.orig/hist/hist/inc/TF1.h 2008-09-23 10:50:43.230340286 +0100
++++ root/hist/hist/inc/TF1.h 2008-09-23 10:42:51.748812440 +0100
+@@ -201,8 +201,8 @@
+ virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const;
+ virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0);
+ // for using TF1 as a callable object (functor)
+- virtual Double_t operator()(Double_t x, Double_t y=0, Double_t z = 0, Double_t t = 0) const { return Eval(x,y,z,t); }
+- virtual Double_t operator()(const Double_t *x, const Double_t *params=0) { return EvalPar(x,params); }
++ virtual Double_t operator()(Double_t x, Double_t y=0, Double_t z = 0, Double_t t = 0) const;
++ virtual Double_t operator()(const Double_t *x, const Double_t *params=0);
+ virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
+ virtual void FixParameter(Int_t ipar, Double_t value);
+ Double_t GetChisquare() const {return fChisquare;}
+@@ -294,6 +294,15 @@
+ ClassDef(TF1,7) //The Parametric 1-D function
+ };
+
++inline Double_t TF1::operator()(Double_t x, Double_t y, Double_t z, Double_t t) const
++ { return Eval(x,y,z,t); }
++inline Double_t TF1::operator()(const Double_t *x, const Double_t *params)
++ {
++ if (fMethodCall) InitArgs(x,params);
++ return EvalPar(x,params);
++ }
++
++
+ inline void TF1::SetRange(Double_t xmin, Double_t, Double_t xmax, Double_t)
+ { TF1::SetRange(xmin, xmax); }
+ inline void TF1::SetRange(Double_t xmin, Double_t, Double_t, Double_t xmax, Double_t, Double_t)
+--- root.orig/tree/tree/src/TBasket.cxx 2008-09-23 10:50:20.366811302 +0100
++++ root/tree/tree/src/TBasket.cxx 2008-09-23 10:42:14.515788582 +0100
+@@ -612,13 +612,10 @@
+ TDirectory::TContext ctxt(0);
+ TFile *file = fBranch->GetFile(kWrite);
+ if (!file) return 0;
+-
+- fBranch->GetDirectory()->cd();
+ if (!file->IsWritable()) {
+ return -1;
+ }
+-
+- fMotherDir = fBranch->GetDirectory();
++ fMotherDir = file; // fBranch->GetDirectory();
+
+ if (fBufferRef->TestBit(TBufferFile::kNotDecompressed)) {
+ // Read the basket information that was saved inside the buffer.
+@@ -632,7 +629,7 @@
+
+ fBuffer = fBufferRef->Buffer();
+
+- Create(nout);
++ Create(nout,file);
+ fBufferRef->SetBufferOffset(0);
+ fHeaderOnly = kTRUE;
+
+@@ -683,7 +680,7 @@
+ nout = fObjlen;
+ delete [] fBuffer;
+ fBuffer = fBufferRef->Buffer();
+- Create(fObjlen);
++ Create(fObjlen,file);
+ fBufferRef->SetBufferOffset(0);
+
+ Streamer(*fBufferRef); //write key itself again
+@@ -699,7 +696,7 @@
+ nzip += kMAXBUF;
+ }
+ nout = noutot;
+- Create(noutot);
++ Create(noutot,file);
+ fBufferRef->SetBufferOffset(0);
+
+ Streamer(*fBufferRef); //write key itself again
+@@ -707,7 +704,7 @@
+ delete fBufferRef; fBufferRef = 0;
+ } else {
+ fBuffer = fBufferRef->Buffer();
+- Create(fObjlen);
++ Create(fObjlen,file);
+ fBufferRef->SetBufferOffset(0);
+
+ Streamer(*fBufferRef); //write key itself again
+--- root.orig/tree/tree/src/TBranch.cxx 2008-09-23 10:50:20.358811302 +0100
++++ root/tree/tree/src/TBranch.cxx 2008-09-23 10:42:14.511788861 +0100
+@@ -2071,7 +2071,8 @@
+ fBasketBytes[where] = basket->GetNbytes();
+ fBasketSeek[where] = basket->GetSeekKey();
+ Int_t addbytes = basket->GetObjlen() + basket->GetKeylen() ;
+- if (fDirectory && (fDirectory != gROOT) && fDirectory->IsWritable()) {
++ if (nout>0) {
++ // The Basket was written so we can now safely drop it.
+ basket->DropBuffers();
+ delete basket;
+ fBaskets[where] = 0;
+--- root.orig/tree/tree/src/TTreeSQL.cxx 2008-09-23 10:50:20.346811581 +0100
++++ root/tree/tree/src/TTreeSQL.cxx 2008-09-23 10:42:14.375798639 +0100
+@@ -180,6 +180,11 @@
+ // Check if the basket is properly setup
+
+ TBasketSQL * basket = (TBasketSQL *)branch->GetBasket(0);
++
++ if (basket==0) {
++ basket = (TBasketSQL*)CreateBasket(branch);
++ branch->GetListOfBaskets()->AddAtAndExpand(basket,0);
++ }
+ TBuffer * buffer = basket->GetBufferRef();
+
+ if(buffer == 0){
+@@ -399,6 +404,8 @@
+
+ br->SetEntries(fEntries);
+
++ br->GetListOfBaskets()->AddAtAndExpand(CreateBasket(br),0);
++
+ prevBranch = branchName;
+ decl = "";
+ }
diff --git a/sci-physics/root/metadata.xml b/sci-physics/root/metadata.xml
index 7726888bd779..f935f0d30a12 100644
--- a/sci-physics/root/metadata.xml
+++ b/sci-physics/root/metadata.xml
@@ -43,6 +43,17 @@
distribution modeling, and the Universal Non-Uniform RANdom number
generators (UNURAN) library.
</flag>
+ <flag name="pythia6">
+ Builds the interface to Pythia-6 (<pkg>sci-physics/pythia</pkg>)
+ high energy physics generation events library.
+ </flag>
+ <flag name="pythia8">
+ Builds the interface to Pythia-8 (<pkg>sci-physics/pythia</pkg>)
+ high energy physics generation events library.
+ </flag>
+ <flag name="reflex">
+ Builds the reflection database for the C++ interpretor.
+ </flag>
<flag name="xrootd">
Build the xrootd low latency file server. For more on the eXtended Request
Daemon (xrd) and associated software, please see
diff --git a/sci-physics/root/root-5.20.00-r1.ebuild b/sci-physics/root/root-5.20.00-r1.ebuild
new file mode 100644
index 000000000000..3ae299c70c0f
--- /dev/null
+++ b/sci-physics/root/root-5.20.00-r1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.20.00-r1.ebuild,v 1.1 2008/09/23 13:02:13 bicatali Exp $
+
+EAPI=1
+inherit versionator eutils toolchain-funcs qt4 fortran elisp-common
+
+DOC_PV=$(get_major_version)_$(get_version_component_range 2)
+ROOFIT_DOC_PV=2.07-29
+TMVA_DOC_PV=4
+
+DESCRIPTION="C++ data analysis framework and interpreter from CERN"
+SRC_URI="ftp://root.cern.ch/${PN}/${PN}_v${PV}.source.tar.gz
+ doc? ( ftp://root.cern.ch/root/doc/Users_Guide_${DOC_PV}.pdf
+ ftp://root.cern.ch/root/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
+ http://tmva.sourceforge.net/docu/TMVAUsersGuide_v${TMVA_DOC_PV}.pdf )"
+
+HOMEPAGE="http://root.cern.ch/"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~hppa ~sparc ~x86"
+
+IUSE="afs cern clarens doc emacs fftw geant4 kerberos ldap +math mysql odbc
+ oracle postgres pythia6 pythia8 python +reflex ruby qt4 ssl xml xrootd"
+
+# libafterimage ignored, may be re-install for >=5.20
+# see https://savannah.cern.ch/bugs/?func=detailitem&item_id=30944
+# || ( >=media-libs/libafterimage-1.15 x11-wm/afterstep )
+RDEPEND="sys-apps/shadow
+ dev-libs/libpcre
+ x11-libs/libXpm
+ x11-libs/libXft
+ media-libs/ftgl
+ media-libs/libpng
+ media-libs/jpeg
+ media-libs/giflib
+ media-libs/tiff
+ virtual/opengl
+ virtual/glu
+ afs? ( >=net-fs/openafs-1.4.7 )
+ clarens? ( dev-libs/xmlrpc-c )
+ emacs? ( virtual/emacs )
+ fftw? ( sci-libs/fftw:3.0 )
+ geant4? ( sci-physics/geant:4 )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap )
+ math? ( >=sci-libs/gsl-1.8 )
+ mysql? ( virtual/mysql )
+ odbc? ( || ( dev-db/unixODBC dev-db/libiodbc ) )
+ oracle? ( dev-db/oracle-instantclient-basic )
+ postgres? ( virtual/postgresql-server )
+ pythia6? ( sci-physics/pythia:6 )
+ pythia8? ( sci-physics/pythia:8 )
+ python? ( dev-lang/python )
+ qt4? ( || ( ( x11-libs/qt-gui:4
+ x11-libs/qt-opengl:4
+ x11-libs/qt-qt3support:4
+ x11-libs/qt-xmlpatterns:4 )
+ =x11-libs/qt-4.3* ) )
+ ruby? ( dev-lang/ruby )
+ ssl? ( dev-libs/openssl )
+ xml? ( dev-libs/libxml2 )"
+
+DEPEND="${RDEPEND}
+ cern? ( dev-lang/cfortran )
+ dev-util/pkgconfig"
+
+S="${WORKDIR}/${PN}"
+
+QT4_BUILT_WITH_USE_CHECK="qt3support opengl"
+
+pkg_setup() {
+ elog
+ elog "You may want to build ROOT with these non Gentoo extra packages:"
+ elog "AliEn, castor, Chirp, gfal, gLite, Globus, Monalisa, SapDB, SRP."
+ elog "You can use the env variable EXTRA_ECONF variable for this."
+ elog "For example, for SRP, you would set: "
+ elog "EXTRA_ECONF=\"--enable-srp --with-srp-libdir=/usr/$(get_libdir)\""
+ elog
+ epause 3
+ if use cern; then
+ FORTRAN="gfortran g77 ifc"
+ fortran_pkg_setup
+ else
+ FORTRANC=
+ FFLAGS=
+ fi
+ use qt4 && qt4_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-configure.patch
+ epatch "${FILESDIR}"/${P}-pic.patch
+ # root bug; reported at https://savannah.cern.ch/bugs/?40816, fixed in svn
+ epatch "${FILESDIR}"/${P}-include-defines-file.patch
+ # various patches from upstream branch
+ epatch "${FILESDIR}"/${P}-upstream.patch
+
+ # use system cfortran
+ if use cern; then
+ rm -f include/root/cfortran.h
+ ln -s /usr/include/cfortran.h include/cfortran.h
+ fi
+ # take a more descriptive name for ruby libs
+ sed -i \
+ -e 's/libRuby/libRubyROOT/g' \
+ bindings/ruby/Module.mk bindings/ruby/src/drr.cxx \
+ || die "Ajusting ruby libname failed"
+
+ # libPythia6 is called libpythia6 in gentoo
+ sed -i -e 's/libPythia6/libpythia6/g' \
+ configure || die "Adjust libpythia6 name failed"
+}
+
+src_compile() {
+
+ local target
+ if [[ "$(tc-getCXX)" == ic* ]]; then
+ if use amd64; then
+ target=linuxx8664icc
+ elif use x86; then
+ target=linuxicc
+ fi
+ fi
+
+ local myconf
+ use postgres && \
+ myconf="${myconf} --with-pgsql-incdir=/usr/include/postgresql"
+
+ use qt4 && \
+ myconf="${myconf} --with-qt-incdir=/usr/include/qt4" && \
+ myconf="${myconf} --with-qt-libdir=/usr/$(get_libdir)/qt4"
+
+ use geant4 && \
+ myconf="${myconf} --with-clhep-incdir=/usr/include" && \
+ myconf="${myconf} --with-g4-libdir=${G4LIB}"
+
+ use odbc && [[ -z $(type -P odbc-config) ]] && \
+ myconf="${myconf} --with-odbc-incdir=/usr/include/iodbc"
+
+ use pythia6 && \
+ myconf="${myconf} --enable-pythia6" && \
+ myconf="${myconf} --with-pythia6-libdir=/usr/$(get_libdir)"
+
+ use pythia8 && \
+ myconf="${myconf} --enable-pythia8" && \
+ myconf="${myconf} --with-pythia8-incdir=/usr/include/pythia"
+
+ # the configure script is not the standard autotools
+ ./configure \
+ ${target} \
+ --fail-on-missing \
+ --prefix=/usr \
+ --libdir=/usr/$(get_libdir)/${PN} \
+ --docdir=/usr/share/doc/${PF} \
+ --with-sys-iconpath=/usr/share/pixmaps \
+ --with-f77="${FORTRANC} ${FFLAGS}" \
+ --with-cc="$(tc-getCC) ${CFLAGS}" \
+ --with-cxx="$(tc-getCXX) ${CXXFLAGS}" \
+ --disable-builtin-afterimage \
+ --disable-builtin-freetype \
+ --disable-builtin-ftgl \
+ --disable-builtin-pcre \
+ --disable-builtin-zlib \
+ --enable-asimage \
+ --enable-astiff \
+ --enable-exceptions \
+ --enable-explicitlink \
+ --enable-gdml \
+ --enable-memstat \
+ --enable-opengl \
+ --enable-shadowpw \
+ --enable-shared \
+ --enable-soversion \
+ --enable-table \
+ ${myconf} \
+ $(use_enable afs) \
+ $(use_enable clarens) \
+ $(use_enable clarens peac) \
+ $(use_enable fftw fftw3) \
+ $(use_enable geant4 g4root) \
+ $(use_enable kerberos krb5) \
+ $(use_enable ldap) \
+ $(use_enable math gsl-shared) \
+ $(use_enable math genvector) \
+ $(use_enable math mathmore) \
+ $(use_enable math minuit2) \
+ $(use_enable math roofit) \
+ $(use_enable math unuran) \
+ $(use_enable mysql) \
+ $(use_enable odbc) \
+ $(use_enable postgres pgsql) \
+ $(use_enable python) \
+ $(use_enable qt4 qt) \
+ $(use_enable qt4 qtgsi) \
+ $(use_enable reflex cintex) \
+ $(use_enable reflex) \
+ $(use_enable ruby) \
+ $(use_enable ssl) \
+ $(use_enable xml) \
+ $(use_enable xrootd) \
+ ${EXTRA_ECONF} \
+ || die "configure failed"
+
+ emake || die "emake failed"
+ emake cintdlls || die "emake cintdlls failed"
+ if use emacs; then
+ elisp-compile build/misc/*.el || die "elisp-compile failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ echo "LDPATH=/usr/$(get_libdir)/root" > 99root
+ use pythia8 && echo "PYTHIA8=/usr" >> 99root
+ use python && echo "PYTHONPATH=/usr/$(get_libdir)/root" >> 99root
+ use ruby && echo "RUBYLIB=/usr/$(get_libdir)/root" >> 99root
+ doenvd 99root || die "doenvd failed"
+
+ # The build system installs Emacs support unconditionally and in the wrong
+ # directory. Remove it and call elisp-install in case of USE=emacs.
+ rm -rf "${D}"/usr/share/emacs
+ if use emacs; then
+ elisp-install ${PN} build/misc/*.{el,elc} || die "elisp-install failed"
+ fi
+
+ if use doc; then
+ einfo "Installing user's guides"
+ insinto /usr/share/doc/${PF}
+ doins \
+ "${DISTDIR}"/Users_Guide_${DOC_PV}.pdf \
+ "${DISTDIR}"/TMVAUsersGuide_v${TMVA_DOC_PV}.pdf \
+ || die "pdf install failed"
+ if use math; then
+ doins "${DISTDIR}"/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf \
+ || die "math doc install failed"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ use ruby && elog "ROOT Ruby module is available as libRubyROOT"
+}