ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.164
Committed: Thu Jun 18 16:09:28 2009 UTC (15 years, 10 months ago) by muzaffar
Branch: MAIN
CVS Tags: sm090619a, sm090618a
Changes since 1.163: +9 -9 lines
Log Message:
For online we do not need Qt, so build without qt for online

File Contents

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