ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.185
Committed: Wed Dec 9 12:59:11 2009 UTC (15 years, 4 months ago) by elmer
Branch: MAIN
CVS Tags: dsr20100209fwlite342, CMSSW_3_4_2_patch1, for342patch1, CMSSW_3_4_2, eskFor342, DQMGUI_5_1_7, for341op1-onl-slc5, CMSSW_3_4_1_ONLINE, sm100126, pe20100124a-for35X, ap20100123a-for35X, CMSSW_3_5_0_pre3, apFor350pre3v0, pe20100113a-for35X, sm20100113a-for35X, sm20100113-for35X, pe20100112b-for35X, sm20100112a-for35X, sm20100112-for35X, pe20100112-for35X, dsr20100107fwlite341, sm100107a, sm100106a, sm100105c, sm100105b, pe20100105a-for34X-for35X, ge20100105-pyqt-relocatable-build, sm100105a, pe20091227a-ports, CMSSW_3_5_0_pre2, CMSSW_3_4_1, apFor350pre2v2, apFor350pre2v1, apFor350pre2v0, eskFor341, pe20091216b-for34X-for35X, pe20091216a-for34X-for35X, CMSSW_3_4_0, ge20091214b-new-bootstrap, ge20091214a-new-bootstrap, ge20091214-new-bootstrap, ge20091214-fix-rh5x, CMSSW_3_5_0_pre1, apFor350pre1v0, eskFor340, pe20091209b-for34X-for35X
Changes since 1.184: +3 -1 lines
Log Message:
  Apply root-5.22-00d-TFile-version3-Init.patch

File Contents

# User Rev Content
1 elmer 1.175 ### RPM lcg root 5.22.00d
2 dlange 1.57 ## INITENV +PATH PYTHONPATH %i/lib/python
3 elmer 1.177 ## INITENV SET ROOTSYS %i
4 ratnik 1.106 #Source: cvs://:pserver:cvs@root.cern.ch:2401/user/cvs?passwd=Ah<Z&tag=-rv%(echo %realversion | tr . -)&module=root&output=/%{n}_v%{realversion}.source.tar.gz
5 elmer 1.144 Source: ftp://root.cern.ch/%n/%{n}_v%{realversion}.source.tar.gz
6 muzaffar 1.165 %define closingbrace )
7 elmer 1.179 %define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac)
8 elmer 1.96
9 elmer 1.155 Patch0: root-5.18-00-libpng
10 elmer 1.141 Patch1: root-5.21-04-CINT-maxlongline
11     Patch2: root-5.22-00-TMVA-shut-the-hell-up-for-once
12 elmer 1.148 Patch3: root-5.22-00a-TMVA-shut-the-hell-up-again
13 elmer 1.175 Patch4: root-5.22-00d-fireworks-graf3d-gui
14     Patch5: root-5.22-00a-roofit-silence-static-printout
15     Patch6: root-5.22-00a-TMVA-just-shut-the-hell-up
16     Patch7: root-5.22-00a-th1
17     Patch8: root-5.22-00a-smatrix
18     Patch9: root-5.22-00a-fireworks1
19 elmer 1.182 Patch10: root-5.22-00a-gcc44
20 elmer 1.175 Patch11: root-5.22-00a-fireworks2
21     Patch12: root-5.22-00a-fireworks3
22     Patch13: root-5.22-00a-gcc43-array-bounds-dictionary-workaround
23     Patch14: root-5.22-00a-fireworks4
24 elmer 1.176 Patch15: root-5.22-00d-fireworks5
25 elmer 1.182 Patch16: root-5.22-00d-genreflex_python26_popen3
26     Patch17: root-5.22-00d-fireworks6
27 elmer 1.183 Patch18: root-5.22-00d-linker-gnu-hash-style
28 elmer 1.185 Patch19: root-5.22-00d-TFile-version3-Init
29 elmer 1.98
30     %define cpu %(echo %cmsplatf | cut -d_ -f2)
31    
32 ratnik 1.106 Requires: gccxml gsl castor libjpg dcap pcre python
33 dlange 1.103
34 muzaffar 1.164 %if "%online" != "true"
35 elmer 1.181 Requires: qt openssl libpng zlib libungif xrootd
36 dlange 1.103 %else
37     %define skiplibtiff true
38     %endif
39    
40     %if "%cpu" == "amd64"
41     %define skiplibtiff true
42     %endif
43    
44     %if "%skiplibtiff" != "true"
45 elmer 1.98 Requires: libtiff
46     %endif
47 eulisse 1.25
48 eulisse 1.1 %prep
49     %setup -n root
50 ratnik 1.106 %patch0 -p1
51     %patch1 -p1
52 elmer 1.141 %patch2 -p1
53 elmer 1.148 %patch3 -p1
54     %patch4 -p1
55 elmer 1.175
56 elmer 1.149 %patch5 -p1
57 elmer 1.150 %patch6 -p1
58 elmer 1.175 %patch7 -p1
59     %patch8 -p1
60 dlange 1.154 %patch9 -p1
61 elmer 1.175
62     # patch10 is compiler version dependent, see below
63 dlange 1.156 %patch11 -p1
64     %patch12 -p1
65 elmer 1.175 # patch13 is compiler version dependent, see below
66    
67 dlange 1.161 # work around patch issue...
68     rm graf3d/gl/src/gl2ps.c
69 elmer 1.175 %patch14 -p1
70 elmer 1.176 #work around patch issues in patch14(?)
71 dlange 1.174 rm graf3d/eve/inc/TEveLegoOverlay.h.orig
72     rm graf3d/eve/src/TEveLegoOverlay.cxx
73     rm graf3d/gl/inc/gl2ps.h.orig
74     rm graf3d/gl/src/gl2ps.c.orig
75 elmer 1.176 %patch15 -p1
76 elmer 1.182 %patch16 -p1
77     %patch17 -p1
78 elmer 1.185 %patch19 -p1
79 dlange 1.174
80 elmer 1.159 case %gccver in
81 dlange 1.173 4.3.*)
82 elmer 1.175 %patch13 -p1
83 elmer 1.168 ;;
84 dlange 1.173 4.4.*)
85 elmer 1.175 %patch10 -p1
86 elmer 1.159 ;;
87     esac
88 elmer 1.183
89     # The following patch can only be applied on SLC5 or later (extra linker
90     # options only available with the SLC5 binutils)
91     case %cmsplatf in
92     slc5_* | slc5onl_* )
93     %patch18 -p1
94     ;;
95     esac
96 elmer 1.185
97 eulisse 1.1 %build
98 andreasp 1.163
99 eulisse 1.1 mkdir -p %i
100 elmer 1.14 export ROOTSYS=%_builddir/root
101 elmer 1.180 export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.)
102 dlange 1.103
103 muzaffar 1.164 %if "%online" == "true"
104 elmer 1.181 # Use system qt. Also skip xrootd and odbc for online case:
105 ratnik 1.111
106 muzaffar 1.164 EXTRA_CONFIG_ARGS="--with-f77=/usr
107 ratnik 1.111 --disable-xrootd
108     --disable-odbc
109 muzaffar 1.164 --disable-qt --disable-qtgsi"
110 dlange 1.103 %else
111 muzaffar 1.164 EXTRA_CONFIG_ARGS="--with-f77=${GCC_ROOT}
112 elmer 1.145 --with-xrootd=$XROOTD_ROOT
113 ratnik 1.106 --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
114     --with-ssl-incdir=${OPENSSL_ROOT}/include
115 muzaffar 1.164 --with-ssl-libdir=${OPENSSL_ROOT}/lib
116     --enable-qtgsi"
117 dlange 1.103 %endif
118    
119 muzaffar 1.164 CONFIG_ARGS="--enable-table
120 eulisse 1.20 --disable-builtin-pcre
121     --disable-builtin-freetype
122     --disable-builtin-zlib
123 elmer 1.98 --with-gccxml=${GCCXML_ROOT}
124 elmer 1.180 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python${PYTHONV}
125 eulisse 1.2 --enable-explicitlink
126 eulisse 1.20 --enable-mathmore
127 eulisse 1.2 --enable-reflex
128     --enable-cintex
129     --enable-minuit2
130 elmer 1.98 --disable-ldap
131 gowdy 1.143 --disable-krb5
132 eulisse 1.34 --with-gsl-incdir=${GSL_ROOT}/include
133     --with-gsl-libdir=${GSL_ROOT}/lib
134 elmer 1.59 --with-dcap-libdir=${DCAP_ROOT}/lib
135 elmer 1.98 --with-dcap-incdir=${DCAP_ROOT}/include
136     --disable-pgsql
137 elmer 1.181 --disable-mysql
138 dlange 1.103 --disable-xml ${EXTRA_CONFIG_ARGS}"
139 elmer 1.98
140 elmer 1.183 case $(uname)-$(uname -m) in
141 eulisse 1.2 Linux-x86_64)
142 elmer 1.141 ./configure linuxx8664gcc $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff;;
143 elmer 1.54 Linux-i*86)
144 dlange 1.110 ./configure linux $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
145 elmer 1.11 Darwin*)
146 andreasp 1.163 ./configure macosx $CONFIG_ARGS --disable-rfio --disable-builtin_afterimage ;;
147 elmer 1.54 Linux-ppc64*)
148 elmer 1.98 ./configure linux $CONFIG_ARGS --disable-rfio;;
149 eulisse 1.1 esac
150 eulisse 1.2
151 eulisse 1.147 case %cmsplatf in
152     osx*)
153     makeopts=
154     ;;
155     *)
156     makeopts="%makeprocesses"
157     ;;
158     esac
159    
160     make $makeopts
161 eulisse 1.20 make cintdlls
162 eulisse 1.147
163 eulisse 1.1 %install
164     # Override installers if we are using GNU fileutils cp. On OS X
165     # ROOT's INSTALL is defined to "cp -pPR", which only works with
166     # the system cp (/bin/cp). If you have fileutils on fink, you
167     # lose. Check which one is getting picked up and select syntax
168     # accordingly. (FIXME: do we need to check that -P is accepted?)
169     if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
170     cp="cp -dpR"
171     else
172     cp="cp -pPR"
173     fi
174    
175 dlange 1.57 export ROOTSYS=%i
176 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
177 dlange 1.57 mkdir -p $ROOTSYS/lib/python
178 elmer 1.141 cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
179 eulisse 1.35 #
180 elmer 1.98
181     # SCRAM ToolBox toolfile
182     mkdir -p %i/etc/scram.d
183     # rootcore toolfile
184 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore.xml
185     <tool name="rootcore" version="%v">
186     <info url="http://root.cern.ch/root/"/>
187     <lib name="Tree"/>
188     <lib name="Net"/>
189     <lib name="Thread"/>
190     <lib name="MathCore"/>
191     <lib name="RIO"/>
192     <lib name="Core"/>
193     <lib name="Cint"/>
194     <client>
195     <environment name="ROOTCORE_BASE" default="%i"/>
196     <environment name="LIBDIR" default="$ROOTCORE_BASE/lib"/>
197     <environment name="INCLUDE" default="$ROOTCORE_BASE/include"/>
198     <environment name="INCLUDE" default="$ROOTCORE_BASE/cint"/>
199     </client>
200     <runtime name="PATH" value="$ROOTCORE_BASE/bin" type="path"/>
201     <runtime name="ROOTSYS" value="$ROOTCORE_BASE/"/>
202     <runtime name="PYTHONPATH" value="$ROOTCORE_BASE/lib" type="path"/>
203     <use name="sockets"/>
204     <use name="pcre"/>
205     <use name="zlib"/>
206     </tool>
207 elmer 1.98 EOF_TOOLFILE
208    
209 elmer 1.121 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
210 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/root.xml
211     <tool name="root" version="%v">
212     <info url="http://root.cern.ch/root/"/>
213     <use name="rootphysics"/>
214     </tool>
215 elmer 1.121 EOF_TOOLFILE
216    
217     # roothistmatrix toolfile
218 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix.xml
219     <tool name="roothistmatrix" version="%v">
220     <info url="http://root.cern.ch/root/"/>
221     <lib name="Hist"/>
222     <lib name="Matrix"/>
223     <use name="ROOTCore"/>
224     </tool>
225 elmer 1.121 EOF_TOOLFILE
226    
227 muzaffar 1.158 # rootgpad toolfile
228 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgpad.xml
229     <tool name="rootgpad" version="%v">
230     <info url="http://root.cern.ch/root/"/>
231     <lib name="Gpad"/>
232     <lib name="Graf"/>
233     <use name="roothistmatrix"/>
234     </tool>
235 muzaffar 1.158 EOF_TOOLFILE
236    
237 elmer 1.121 # rootphysics toolfile
238 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics.xml
239     <tool name="rootphysics" version="%v">
240     <info url="http://root.cern.ch/root/"/>
241     <lib name="Physics"/>
242     <use name="roothistmatrix"/>
243     </tool>
244 elmer 1.98 EOF_TOOLFILE
245    
246 elmer 1.121 # rootgraphics toolfile, identical to old "root" toolfile
247 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics.xml
248     <tool name="rootgraphics" version="%v">
249     <info url="http://root.cern.ch/root/"/>
250     <lib name="TreePlayer"/>
251     <lib name="Graf3d"/>
252     <lib name="Postscript"/>
253     <use name="rootgpad"/>
254     </tool>
255 elmer 1.120 EOF_TOOLFILE
256    
257 elmer 1.98 # rootcintex toolfile
258 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex.xml
259     <tool name="rootcintex" version="%v">
260     <info url="http://root.cern.ch/root/"/>
261     <lib name="Cintex"/>
262     <use name="ROOTRflx"/>
263     <use name="ROOTCore"/>
264     </tool>
265 elmer 1.98 EOF_TOOLFILE
266    
267 elmer 1.146 # (temporarily eviscerated) rootinteractive toolfile (GQt/qt lib dependencies
268     # have been removed for the moment)
269 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive.xml
270     <tool name="rootinteractive" version="%v">
271     <info url="http://root.cern.ch/root/"/>
272     <lib name="Rint"/>
273     <lib name="GQt"/>
274     <lib name="Gui"/>
275     <use name="qt"/>
276     <use name="libjpg"/>
277     <use name="libpng"/>
278     <use name="rootgpad"/>
279     </tool>
280 elmer 1.146 EOF_TOOLFILE
281    
282 elmer 1.98 # rootmath toolfile
283 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath.xml
284     <tool name="rootmath" version="%v">
285     <info url="http://root.cern.ch/root/"/>
286     <lib name="GenVector"/>
287     <lib name="MathMore"/>
288     <use name="ROOTCore"/>
289     <use name="gsl"/>
290     </tool>
291 elmer 1.98 EOF_TOOLFILE
292    
293     # rootminuit toolfile
294 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit.xml
295     <tool name="rootminuit" version="%v">
296     <info url="http://root.cern.ch/root/"/>
297     <lib name="Minuit"/>
298     <use name="rootgpad"/>
299     </tool>
300 elmer 1.98 EOF_TOOLFILE
301    
302     # rootminuit2 toolfile
303 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2.xml
304     <tool name="rootminuit2" version="%v">
305     <info url="http://root.cern.ch/root/"/>
306     <lib name="Minuit2"/>
307     <use name="rootgpad"/>
308     </tool>
309 elmer 1.98 EOF_TOOLFILE
310    
311     # rootrflx toolfile
312 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx.xml
313     <tool name="rootrflx" version="%v">
314     <info url="http://root.cern.ch/root/"/>
315     <lib name="Reflex"/>
316     <client>
317     <environment name="ROOTRFLX_BASE" default="%i"/>
318     <environment name="LIBDIR" default="$ROOTRFLX_BASE/lib"/>
319     <environment name="INCLUDE" default="$ROOTRFLX_BASE/include"/>
320     </client>
321     <runtime name="PATH" value="$ROOTRFLX_BASE/bin" type="path"/>
322     <runtime name="ROOTSYS" value="$ROOTRFLX_BASE/"/>
323     <runtime name="GENREFLEX" value="$ROOTRFLX_BASE/bin/genreflex"/>
324     <use name="sockets"/>
325     <use name="gccxml"/>
326     </tool>
327 elmer 1.98 EOF_TOOLFILE
328    
329     # roothtml toolfile
330 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml.xml
331     <tool name="roothtml" version="%v">
332     <info url="http://root.cern.ch/root/"/>
333     <lib name="Html"/>
334     <use name="rootgpad"/>
335     </tool>
336 elmer 1.98 EOF_TOOLFILE
337    
338     # rootmlp toolfile
339 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp.xml
340     <tool name="rootmlp" version="%v">
341     <info url="http://root.cern.ch/root/"/>
342     <lib name="MLP"/>
343     <use name="RootGraphics"/>
344     </tool>
345 elmer 1.98 EOF_TOOLFILE
346    
347     # roottmva toolfile
348 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva.xml
349     <tool name="roottmva" version="%v">
350     <info url="http://root.cern.ch/root/"/>
351     <lib name="TMVA"/>
352     <use name="ROOTMLP"/>
353     <use name="rootminuit"/>
354     </tool>
355 elmer 1.98 EOF_TOOLFILE
356    
357     # rootthread toolfile
358 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread.xml
359     <tool name="rootthread" version="%v">
360     <info url="http://root.cern.ch/root/"/>
361     <use name="ROOTCore"/>
362     </tool>
363 elmer 1.98 EOF_TOOLFILE
364    
365     %post
366 muzaffar 1.184 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find $RPM_INSTALL_PREFIX/%pkgrel/etc/scram.d -type f)