ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.198
Committed: Wed May 19 19:21:37 2010 UTC (14 years, 11 months ago) by elmer
Branch: MAIN
CVS Tags: builder_2011-09-25_13-08-30_CmsTC, builder_2011-09-22_19-07-05_CmsTC, builder_2011-09-21_19-43-30_CmsTC, builder_2011-09-21_10-25-16_CmsTC, builder_2011-09-20_13-03-45_CmsTC, builder_2011-09-20_12-03-56_CmsTC, builder_2011-08-11_12-11-35_CmsTC, builder_2011-06-23_18-03-57_CmsTC, builder_2011-05-20_16-46-52_crab-server, builder_2011-05-16_23-03-55_CmsTC, builder_2011-03-31_13-06-26_crab-server, builder_2011-03-28_17-53-57_crab-server, ebFor363slhc3p1, builder_2011-02-28_14-23-32_wmagent, CMSSW_3_6_3_SLHC3, ebFor363slhc3, CmsTC_0_0_3, CmsTC_0_0_2, builder_2011-02-09_14-27-53_crab-server, ebFor363slhc2, builder_2011-02-08_23-13-23_cmsweb, HG1102d, builder_2011-02-08_07-34-50_cmsweb, HG1102c, builder_2011-02-03_23-45-44_CmsTC, builder_2011-02-03_19-04-46_PHEDEX-combined-agents, builder_2011-02-02_21-14-00_cmsweb, builder_2011-02-02_16-24-27_T0Mon, CMSSW_3_6_3_SLHC1_patch3, builder_2011-02-01_18-11-58_cmsweb, ebFor363slhc1pat3, builder_2011-01-31_16-44-33_dbs-client, builder_2011-01-31_15-26-15_T0DataSvc, CMSSW_3_6_3_SLHC1_patch2, ebFor363slhc1pat2, builder_2011-01-25_14-26-56_cmsweb, builder_2011-01-20_18-59-54_cmsweb, HG1102b, DQMGUI_5_3_2, CMSSW_3_8_6_patch2, sjgFor386p2, CMSSW_3_8_6_patch1, sjgFor386p1, CMSSW_3_8_6, smFor386a, ebFor363slhc1pat1v0, smFor386, CMSSW_3_8_5_patch3, apFor385p3v0, CMSSW_3_8_5_onlpatch4_ONLINE, CMSSW_3_8_5_onlpatch3_ONLINE, CMSSW_3_8_5_patch2, sjgFor385p2, CMSSW_3_8_5_patch1, sjgFor385p1, eskFor3XYpreZ, CMSSW_3_8_5_onlpatch1_ONLINE, CMSSW_3_8_5_ONLINE, fw385online, CMSSW_3_8_1_onlpatch7_ONLINE, CMSSW_3_8_4_patch4, sjfFor384p4, CMSSW_3_8_5, sjgFor385, DQMGUI_5_3_1, CMSSW_3_8_1_onlpatch6_ONLINE, CMSSW_3_8_4_patch3, sjgFor384patch3v3, sjgFor384patch3v2, sjgFor384patch3, smFor385toolconf, CMSSW_3_8_4_patch2, bhFor384p2, CMSSW_3_8_4_patch1, bhFor384p1, CMSSW_3_8_4, bhFor384, CMSSW_3_8_1_onlpatch5_ONLINE, CMSSW_3_8_3, bhFor383, apFor383v1, apFor383v0, CMSSW_3_8_1_onlpatch4_ONLINE, CMSSW_3_8_2_patch1, bhFor382p1, CMSSW_3_6_3_SLHC1, CMSSW_3_8_1_onlpatch3_ONLINE, fc20100901b, CMSSW_3_8_1_onlpatch2_ONLINE, CMSSW_3_8_1_onlpatch1_ONLINE, CMSSW_3_8_1_patch4, bhFor381patch4, CMSSW_3_8_2, bhFor382, CMSSW_3_8_1_patch3, smFor381patch3, dsr20100816fwlite381, dsr20100816fwlite371, CMSSW_3_8_1_ONLINE, dsr20100812fwlite371, CMSSW_3_6_3_hltpatch4, CMSSW_3_8_1_patch2, bhFor381p2, CMSSW_3_8_1_patch1, bhFor381patch1, fw381online, CMSSW_3_7_1, CMSSW_3_8_1, bhFor381, fw371, dsr20100805fwlite363, CMSSW_3_6_3_onlpatch4_ONLINE, CMSSW_3_8_0_patch2, bhFor380patch2, smFor363patch2, fw380online, fw380online_3, fw380online_2, CMSSW_3_9_0_pre1, fw380online_0, apFor390pre1v0, pe20100727a-for39X, CMSSW_3_6_3_onlpatch3_ONLINE, CMSSW_3_8_0_patch1, bhFor380patch1, CMSSW_3_8_0, bhFor380, CMSSW_3_8_0_pre8, bhFor380pre8, CMSSW_3_6_3_patch1, apFor363p1v0, CMSSW_3_6_3_onlpatch2_ONLINE, CMSSW_3_8_0_pre7, bhFor380pre7, CMSSW_3_7_0_patch4, CMSSW_3_8_0_pre6, smFor370patch4, CMSSW_3_7_0_patch3, bhFor380pre6, CMSSW_3_8_0_pre5, smFor370patch3, apFor380pre5v0, ge20100621-bootstrap-rpm-4-8-macosx, CMSSW_3_8_0_pre4catfix, bhFor380pre4catfix, bhFor380pre4_cat_fix, CMSSW_3_8_0_pre4, bhFor380pre4, CMSSW_3_8_0_pre3, CMSSW_3_6_3_onlpatch1_ONLINE, bhFor380pre3, CMSSW_3_6_3_ONLINE, CMSSW_3_6_3, apFor363v0, pe20100612a-gcc45-from380p2, ge20100611-apt-rpm-4-8-gcc-4-5-0, MotT0_1_0_15, CMSSW_3_8_0_pre2, MotT0_1_0_14, CMSSW_3_7_0_patch2, smFor370p2, bhFor380_pre2, MotT0_1_0_13, pe20100606a-for38X, CMSSW_3_6_2_ONLINE, CMSSW_3_6_2, MotT0_1_0_12, MotT0_1_0_11, MotT0_1_0_10, CMSSW_3_7_0_patch1, MotT0_1_0_9, MotT0_1_0_8, smFor370patch1, MotT0_1_0_6, MotT0_1_0_5, apFor362v1, apFor362v0, CMSSW_3_8_0_pre1, MotT0_1_0_4, MotT0_1_0_3, apFor380pre1v0, CMSSW_3_7_0, smFor370, pe20100519a-for37X
Changes since 1.197: +79 -10 lines
Log Message:
Version of ROOT 5.22/00d spec with updated maxlongline patch to include
also increase in maxtypedef param:
   root-5.22-00d-CINT-maxlongline-maxtypedef.patch

File Contents

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