diff options
-rw-r--r-- | sci-physics/root/ChangeLog | 14 | ||||
-rw-r--r-- | sci-physics/root/Manifest | 20 | ||||
-rw-r--r-- | sci-physics/root/files/root-5.20.00-include-defines-file.patch | 7 | ||||
-rw-r--r-- | sci-physics/root/files/root-5.20.00-upstream.patch | 147 | ||||
-rw-r--r-- | sci-physics/root/metadata.xml | 11 | ||||
-rw-r--r-- | sci-physics/root/root-5.20.00-r1.ebuild | 246 |
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" +} |