ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.155
Committed: Thu Apr 16 21:08:49 2009 UTC (16 years ago) by elmer
Branch: MAIN
CVS Tags: CMSSW_3_1_0_pre5, dl090416
Changes since 1.154: +3 -1 lines
Log Message:
Apply another TMVA silencing patch:
   root-5.22-00a-TMVA-just-shut-the-hell-up.patch

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